www.pudn.com > DTMS.rar > OURHDR.H
/* Our own header, to be included *after* all standard system headers */ #ifndef __ourhdr_h #define __ourhdr_h #include/* required for some of our prototypes */ #include /* for convenience */ #include /* for convenience */ #include /* for convenience */ #include /* for convenience */ #define MAXLINE 4096 /* max line length */ #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) /* default file access permissions for new files */ #define DIR_MODE (FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH) /* default permissions for new directories */ struct message { char *to; char *from; time_t sendtime; time_t recvtime; char *messageid; char *subject; char *content; }; /*struct message **msgpp; */ #define min(a,b) ((a) < (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b)) int lock_reg(int, int, int, off_t, int, off_t); #define read_lock(fd, offset, whence, len) \ lock_reg(fd, F_SETLK, F_RDLCK, offset, whence, len) #define readw_lock(fd, offset, whence, len) \ lock_reg(fd, F_SETLKW, F_RDLCK, offset, whence, len) #define write_lock(fd, offset, whence, len) \ lock_reg(fd, F_SETLK, F_WRLCK, offset, whence, len) #define writew_lock(fd, offset, whence, len) \ lock_reg(fd, F_SETLKW, F_WRLCK, offset, whence, len) #define un_lock(fd, offset, whence, len) \ lock_reg(fd, F_SETLK, F_UNLCK, offset, whence, len) pid_t lock_test(int, int, off_t, int, off_t); #define is_readlock(fd, offset, whence, len) \ lock_test(fd, F_RDLCK, offset, whence, len) #define is_writelock(fd, offset, whence, len) \ lock_test(fd, F_WRLCK, offset, whence, len) void err_dump(const char *, ...); void err_msg(const char *, ...); void err_quit(const char *, ...); void err_ret(const char *, ...); void err_sys(const char *, ...); void log_msg(const char *, ...); void log_open(const char *, int, int); void log_quit(const char *, ...); void log_ret(const char *, ...); void log_sys(const char *, ...); #endif /* __ourhdr_h */