Init
This commit is contained in:
10
xpginclude/sys/Makefile
Normal file
10
xpginclude/sys/Makefile
Normal file
@@ -0,0 +1,10 @@
|
||||
#
|
||||
#@(#)Makefile 1.1 92/07/30 SMI;
|
||||
#
|
||||
H = dirent.h stat.h
|
||||
|
||||
all: $H
|
||||
|
||||
clean:
|
||||
|
||||
install:
|
||||
61
xpginclude/sys/dirent.h
Normal file
61
xpginclude/sys/dirent.h
Normal file
@@ -0,0 +1,61 @@
|
||||
/* @(#)dirent.h 1.1 92/07/30 SMI */
|
||||
|
||||
/*
|
||||
* Filesystem-independent directory information.
|
||||
*/
|
||||
|
||||
#ifndef _dirent_h
|
||||
#define _dirent_h
|
||||
|
||||
#define MAXNAMLEN 255
|
||||
|
||||
#define d_ino d_fileno /* compatability */
|
||||
|
||||
/*
|
||||
* Definitions for library routines operating on directories.
|
||||
*/
|
||||
typedef struct _dirdesc {
|
||||
int dd_fd; /* file descriptor */
|
||||
long dd_loc; /* buf offset of entry from last readddir() */
|
||||
long dd_size; /* amount of valid data in buffer */
|
||||
long dd_bsize; /* amount of entries read at a time */
|
||||
long dd_off; /* Current offset in dir (for telldir) */
|
||||
char *dd_buf; /* directory data buffer */
|
||||
} DIR;
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
extern DIR *opendir();
|
||||
extern struct dirent *readdir();
|
||||
extern long telldir();
|
||||
extern void seekdir();
|
||||
#define rewinddir(dirp) seekdir((dirp), (long)0)
|
||||
extern int closedir();
|
||||
|
||||
|
||||
/* Thus section is included from <sys/dirent.h>, but
|
||||
* will disappear in xpg89, as this will no longer call sys/dirent.h.
|
||||
*
|
||||
*/
|
||||
|
||||
#define MAXNAMLEN 255
|
||||
|
||||
struct dirent {
|
||||
off_t d_off; /* offset of next disk directory entry */
|
||||
u_long d_fileno; /* file number of entry */
|
||||
u_short d_reclen; /* length of this record */
|
||||
u_short d_namlen; /* length of string in d_name */
|
||||
char d_name[MAXNAMLEN + 1]; /* name (up to MAXNAMLEN + 1) */
|
||||
};
|
||||
|
||||
/*
|
||||
* The macro DIRSIZ(dp) gives the minimum amount of space required to represent
|
||||
* a directory entry. For any directory entry dp->d_reclen >= DIRSIZ(dp).
|
||||
* Specific filesystem types may use this use this macro to construct the value
|
||||
* for d_reclen.
|
||||
*/
|
||||
#undef DIRSIZ
|
||||
#define DIRSIZ(dp) \
|
||||
(((sizeof (struct dirent) - (MAXNAMLEN+1) + ((dp)->d_namlen+1)) + 3) & ~3)
|
||||
#endif /*!_dirent_h*/
|
||||
93
xpginclude/sys/stat.h
Normal file
93
xpginclude/sys/stat.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/* @(#)stat.h 1.1 92/07/30 SMI; from UCB 4.7 83/05/21 */
|
||||
|
||||
/*
|
||||
* NOTE: changes to this file should also be made to sys/sys/stat.h
|
||||
*/
|
||||
|
||||
#ifndef __sys_stat_h
|
||||
#define __sys_stat_h
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
struct stat {
|
||||
dev_t st_dev;
|
||||
ino_t st_ino;
|
||||
mode_t st_mode;
|
||||
short st_nlink;
|
||||
uid_t st_uid;
|
||||
gid_t st_gid;
|
||||
dev_t st_rdev;
|
||||
off_t st_size;
|
||||
time_t st_atime;
|
||||
int st_spare1;
|
||||
time_t st_mtime;
|
||||
int st_spare2;
|
||||
time_t st_ctime;
|
||||
int st_spare3;
|
||||
long st_blksize;
|
||||
long st_blocks;
|
||||
long st_spare4[2];
|
||||
};
|
||||
|
||||
#define _IFMT 0170000 /* type of file */
|
||||
#define _IFDIR 0040000 /* directory */
|
||||
#define _IFCHR 0020000 /* character special */
|
||||
#define _IFBLK 0060000 /* block special */
|
||||
#define _IFREG 0100000 /* regular */
|
||||
#define _IFLNK 0120000 /* symbolic link */
|
||||
#define _IFSOCK 0140000 /* socket */
|
||||
#define _IFIFO 0010000 /* fifo */
|
||||
|
||||
#define S_ISUID 0004000 /* set user id on execution */
|
||||
#define S_ISGID 0002000 /* set group id on execution */
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define S_ISVTX 0001000 /* save swapped text even after use */
|
||||
#define S_IREAD 0000400 /* read permission, owner */
|
||||
#define S_IWRITE 0000200 /* write permission, owner */
|
||||
#define S_IEXEC 0000100 /* execute/search permission, owner */
|
||||
|
||||
#define S_ENFMT 0002000 /* enforcement-mode locking */
|
||||
|
||||
#define S_IFMT _IFMT
|
||||
#define S_IFDIR _IFDIR
|
||||
#define S_IFCHR _IFCHR
|
||||
#define S_IFBLK _IFBLK
|
||||
#define S_IFREG _IFREG
|
||||
#define S_IFLNK _IFLNK
|
||||
#define S_IFSOCK _IFSOCK
|
||||
#define S_IFIFO _IFIFO
|
||||
#endif !_POSIX_SOURCE
|
||||
|
||||
#define S_IRWXU 0000700 /* rwx, owner */
|
||||
#define S_IRUSR 0000400 /* read permission, owner */
|
||||
#define S_IWUSR 0000200 /* write permission, owner */
|
||||
#define S_IXUSR 0000100 /* execute/search permission, owner */
|
||||
#define S_IRWXG 0000070 /* rwx, group */
|
||||
#define S_IRGRP 0000040 /* read permission, group */
|
||||
#define S_IWGRP 0000020 /* write permission, grougroup */
|
||||
#define S_IXGRP 0000010 /* execute/search permission, group */
|
||||
#define S_IRWXO 0000007 /* rwx, other */
|
||||
#define S_IROTH 0000004 /* read permission, other */
|
||||
#define S_IWOTH 0000002 /* write permission, other */
|
||||
#define S_IXOTH 0000001 /* execute/search permission, other */
|
||||
|
||||
#define S_ISBLK(m) (((m)&_IFMT) == _IFBLK)
|
||||
#define S_ISCHR(m) (((m)&_IFMT) == _IFCHR)
|
||||
#define S_ISDIR(m) (((m)&_IFMT) == _IFDIR)
|
||||
#define S_ISFIFO(m) (((m)&_IFMT) == _IFIFO)
|
||||
#define S_ISREG(m) (((m)&_IFMT) == _IFREG)
|
||||
#ifndef _POSIX_SOURCE
|
||||
#define S_ISLNK(m) (((m)&_IFMT) == _IFLNK)
|
||||
#define S_ISSOCK(m) (((m)&_IFMT) == _IFSOCK)
|
||||
#endif
|
||||
|
||||
#ifndef KERNEL
|
||||
int chmod(/* char *path, mode_t mode */);
|
||||
int fstat(/* int fd; struct stat *sbuf */);
|
||||
int mkdir(/* char *path; mode_t mode */);
|
||||
int mkfifo(/* char *path; mode_t mode */);
|
||||
int stat(/* char *path; struct stat *sbuf */);
|
||||
int umask(/* int mask */);
|
||||
#endif
|
||||
|
||||
#endif /* !__sys_stat_h */
|
||||
Reference in New Issue
Block a user