#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__ */
|