1 /* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */ 2 3 #ifndef __BL_UNISTD_H__ 4 #define __BL_UNISTD_H__ 5 6 /* Wrapper functions of <unistd.h> */ 7 8 #include "bl_def.h" 9 #include "bl_types.h" 10 11 #ifdef HAVE_USLEEP 12 13 #include <unistd.h> 14 15 #define bl_usleep(microsec) usleep(microsec) 16 17 #else 18 19 #define bl_usleep(microsec) __bl_usleep(microsec) 20 21 int __bl_usleep(u_int microseconds); 22 23 #endif 24 25 #ifdef HAVE_SETENV 26 27 #include <stdlib.h> 28 29 #define bl_setenv(name, value, overwrite) setenv(name, value, overwrite) 30 31 #else /* HAVE_SETENV */ 32 33 #ifdef USE_WIN32API 34 35 /* getenv() doesn't get the value set by bl_setenv(). */ 36 #define bl_setenv(name, value, overwrite) SetEnvironmentVariableA(name, value) 37 38 #else /* USE_WIN32API */ 39 40 #define bl_setenv __bl_setenv 41 42 int __bl_setenv(const char *name, const char *value, int overwrite); 43 44 #endif /* USE_WIN32API */ 45 46 #endif /* HAVE_SETENV */ 47 48 #ifdef HAVE_UNSETENV 49 50 #include <stdlib.h> 51 52 #define bl_unsetenv(name) unsetenv(name) 53 54 #else /* HAVE_SETENV */ 55 56 #ifdef USE_WIN32API 57 58 #define bl_unsetenv(name) SetEnvironmentVariableA(name, NULL) 59 60 #else /* USE_WIN32API */ 61 62 #define bl_unsetenv(name) bl_setenv(name, "", 1); 63 64 #endif /* USE_WIN32API */ 65 66 #endif /* HAVE_UNSETENV */ 67 68 #ifdef HAVE_GETUID 69 70 #include <unistd.h> 71 72 #define bl_getuid getuid 73 74 #else 75 76 #define bl_getuid __bl_getuid 77 78 uid_t __bl_getuid(void); 79 80 #endif 81 82 #ifdef HAVE_GETGID 83 84 #include <unistd.h> 85 86 #define bl_getgid getgid 87 88 #else 89 90 #define bl_getgid __bl_getgid 91 92 gid_t __bl_getgid(void); 93 94 #endif 95 96 /* XXX vt_pty_unix.c which uses bl_killpg() has already included it. */ 97 /* #include <signal.h> */ 98 99 #ifdef HAVE_KILLPG 100 101 #define bl_killpg(pid, sig) killpg(pid, sig) 102 103 #else 104 105 #define bl_killpg(pid, sig) kill(-pid, sig) 106 107 #endif 108 109 #endif 110