#ifndef _USG_TYPEDEF_H__ #define _USG_TYPEDEF_H__ #ifdef __cplusplus extern "C" { #endif #if ! defined(__FreeBSD__) && ! defined(__OpenBSD__) && \ ! defined(__sgi) && ! defined(__APPLE__) /* Some implementations already declare this union */ union semun { /* Used in calls to semctl() */ int val; struct semid_ds * buf; unsigned short * array; #if defined(__linux__) struct seminfo * __buf; #endif }; #endif /* Default file permissions are DEF_MODE & ~DEF_UMASK */ #define DEF_MODE S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH #define DEF_UMASK S_IWGRP|S_IWOTH /* * Default file access permissions for new files. */ #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH) /* * Default permissions for new directories. */ #define DIR_MODE (FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH) #define min(a,b) ((a) < (b) ? (a) : (b)) #define max(a,b) ((a) > (b) ? (a) : (b)) #ifdef __cplusplus } #endif #endif /* #ifndef _USG_TYPEDEF_H__ */