/* * libc.i -- generated profiling stats table and * interceptors. */ size_t ProfCount = 697; struct prof_t ProfStats[] = { { "Measurement overhead", 0, 0.0, 0 }, { "a64l", 0, 0.0, 0 }, #define A64L 1 { "abort", 0, 0.0, 0 }, #define ABORT 2 { "abs", 0, 0.0, 0 }, #define ABS 3 { "access", 0, 0.0, 0 }, #define ACCESS 4 { "acct", 0, 0.0, 0 }, #define ACCT 5 { "acl", 0, 0.0, 0 }, #define ACL 6 { "addsev", 0, 0.0, 0 }, #define ADDSEV 7 { "addseverity", 0, 0.0, 0 }, #define ADDSEVERITY 8 { "adjtime", 0, 0.0, 0 }, #define ADJTIME 9 { "alarm", 0, 0.0, 0 }, #define ALARM 10 { "ascftime", 0, 0.0, 0 }, #define ASCFTIME 11 { "asctime", 0, 0.0, 0 }, #define ASCTIME 12 { "atexit", 0, 0.0, 0 }, #define ATEXIT 13 { "atof", 0, 0.0, 0 }, #define ATOF 14 { "atoi", 0, 0.0, 0 }, #define ATOI 15 { "atol", 0, 0.0, 0 }, #define ATOL 16 { "atoll", 0, 0.0, 0 }, #define ATOLL 17 { "attropen", 0, 0.0, 0 }, #define ATTROPEN 18 { "basename", 0, 0.0, 0 }, #define BASENAME 19 { "bcmp", 0, 0.0, 0 }, #define BCMP 20 { "bcopy", 0, 0.0, 0 }, #define BCOPY 21 { "bindtextdomain", 0, 0.0, 0 }, #define BINDTEXTDOMAIN 22 { "brk", 0, 0.0, 0 }, #define BRK 23 { "bsearch", 0, 0.0, 0 }, #define BSEARCH 24 { "btowc", 0, 0.0, 0 }, #define BTOWC 25 { "bzero", 0, 0.0, 0 }, #define BZERO 26 { "calloc", 0, 0.0, 0 }, #define CALLOC 27 { "catclose", 0, 0.0, 0 }, #define CATCLOSE 28 { "catgets", 0, 0.0, 0 }, #define CATGETS 29 { "catopen", 0, 0.0, 0 }, #define CATOPEN 30 { "cfgetispeed", 0, 0.0, 0 }, #define CFGETISPEED 31 { "cfgetospeed", 0, 0.0, 0 }, #define CFGETOSPEED 32 { "cfsetispeed", 0, 0.0, 0 }, #define CFSETISPEED 33 { "cfsetospeed", 0, 0.0, 0 }, #define CFSETOSPEED 34 { "cftime", 0, 0.0, 0 }, #define CFTIME 35 { "chdir", 0, 0.0, 0 }, #define CHDIR 36 { "chmod", 0, 0.0, 0 }, #define CHMOD 37 { "chown", 0, 0.0, 0 }, #define CHOWN 38 { "chroot", 0, 0.0, 0 }, #define CHROOT 39 { "clearerr", 0, 0.0, 0 }, #define CLEARERR 40 { "clock;", 0, 0.0, 0 }, #define CLOCK 41 { "close", 0, 0.0, 0 }, #define CLOSE 42 { "closedir", 0, 0.0, 0 }, #define CLOSEDIR 43 { "closefrom", 0, 0.0, 0 }, #define CLOSEFROM 44 { "closelog", 0, 0.0, 0 }, #define CLOSELOG 45 { "confstr", 0, 0.0, 0 }, #define CONFSTR 46 { "creat", 0, 0.0, 0 }, #define CREAT 47 { "crypt", 0, 0.0, 0 }, #define CRYPT 48 { "csetcol", 0, 0.0, 0 }, #define CSETCOL 49 { "csetlen", 0, 0.0, 0 }, #define CSETLEN 50 { "ctermid", 0, 0.0, 0 }, #define CTERMID 51 { "ctime", 0, 0.0, 0 }, #define CTIME_ 52 { "cuserid", 0, 0.0, 0 }, #define CUSERID 53 { "dcgettext", 0, 0.0, 0 }, #define DCGETTEXT 54 { "dcngettext", 0, 0.0, 0 }, #define DCNGETTEXT 55 { "dgettext", 0, 0.0, 0 }, #define DGETTEXT 56 { "difftime", 0, 0.0, 0 }, #define DIFFTIME 57 { "directio", 0, 0.0, 0 }, #define DIRECTIO 58 { "dirname", 0, 0.0, 0 }, #define DIRNAME 59 { " div", 0, 0.0, 0 }, #define DIV 60 { "dngettext", 0, 0.0, 0 }, #define DNGETTEXT 61 { "drand48", 0, 0.0, 0 }, #define DRAND48 62 { "dup", 0, 0.0, 0 }, #define DUP 63 { "dup2", 0, 0.0, 0 }, #define DUP2 64 { "econvert", 0, 0.0, 0 }, #define ECONVERT 65 { "ecvt", 0, 0.0, 0 }, #define ECVT 66 { "encrypt", 0, 0.0, 0 }, #define ENCRYPT 67 { "endgrent", 0, 0.0, 0 }, #define ENDGRENT 68 { "endnetgrent", 0, 0.0, 0 }, #define ENDNETGRENT 69 { "endpwent", 0, 0.0, 0 }, #define ENDPWENT 70 { "endspent", 0, 0.0, 0 }, #define ENDSPENT 71 { "endutent", 0, 0.0, 0 }, #define ENDUTENT 72 { "endutxent", 0, 0.0, 0 }, #define ENDUTXENT 73 { "erand48", 0, 0.0, 0 }, #define ERAND48 74 { "euccol", 0, 0.0, 0 }, #define EUCCOL 75 { "euclen", 0, 0.0, 0 }, #define EUCLEN 76 { "eucscol", 0, 0.0, 0 }, #define EUCSCOL 77 { "execl", 0, 0.0, 0 }, #define EXECL 78 { "execle", 0, 0.0, 0 }, #define EXECLE 79 { "execlp", 0, 0.0, 0 }, #define EXECLP 80 { "execv", 0, 0.0, 0 }, #define EXECV 81 { "execve", 0, 0.0, 0 }, #define EXECVE 82 { "execvp", 0, 0.0, 0 }, #define EXECVP 83 { "exit", 0, 0.0, 0 }, #define EXIT 84 { "facl", 0, 0.0, 0 }, #define FACL 85 { "fattach", 0, 0.0, 0 }, #define FATTACH 86 { "fchdir", 0, 0.0, 0 }, #define FCHDIR 87 { "fchmod", 0, 0.0, 0 }, #define FCHMOD 88 { "fchown", 0, 0.0, 0 }, #define FCHOWN 89 { "fchownat", 0, 0.0, 0 }, #define FCHOWNAT 90 { "fchroot", 0, 0.0, 0 }, #define FCHROOT 91 { "fclose", 0, 0.0, 0 }, #define FCLOSE 92 { "fcntl", 0, 0.0, 0 }, #define FCNTL 93 { "fconvert", 0, 0.0, 0 }, #define FCONVERT 94 { "fcvt", 0, 0.0, 0 }, #define FCVT 95 { "fdetach", 0, 0.0, 0 }, #define FDETACH 96 { "fdopen", 0, 0.0, 0 }, #define FDOPEN 97 { "fdopendir", 0, 0.0, 0 }, #define FDOPENDIR 98 { "fdwalk", 0, 0.0, 0 }, #define FDWALK 99 { "feof", 0, 0.0, 0 }, #define FEOF 100 { "ferror", 0, 0.0, 0 }, #define FERROR 101 { "fflush", 0, 0.0, 0 }, #define FFLUSH 102 { "ffs", 0, 0.0, 0 }, #define FFS 103 { "fgetc", 0, 0.0, 0 }, #define FGETC 104 { "fgetgrent", 0, 0.0, 0 }, #define FGETGRENT 105 { "fgetpos", 0, 0.0, 0 }, #define FGETPOS 106 { "fgetpwent", 0, 0.0, 0 }, #define FGETPWENT 107 { "fgets", 0, 0.0, 0 }, #define FGETS 108 { "fgetspent", 0, 0.0, 0 }, #define FGETSPENT 109 { "fgetwc", 0, 0.0, 0 }, #define FGETWC 110 { "fgetws", 0, 0.0, 0 }, #define FGETWS 111 { "fileno", 0, 0.0, 0 }, #define FILENO 112 { "finite", 0, 0.0, 0 }, #define FINITE 113 { "flockfile", 0, 0.0, 0 }, #define FLOCKFILE 114 { "fmtmsg", 0, 0.0, 0 }, #define FMTMSG 115 { "fnmatch", 0, 0.0, 0 }, #define FNMATCH 116 { "fopen", 0, 0.0, 0 }, #define FOPEN 117 { "fork", 0, 0.0, 0 }, #define FORK 118 { "fork1", 0, 0.0, 0 }, #define FORK1 119 { "fpathconf", 0, 0.0, 0 }, #define FPATHCONF 120 { "fpclass;", 0, 0.0, 0 }, #define FPCLASS 121 { " fpgetmask;", 0, 0.0, 0 }, #define FPGETMASK 122 { "fpgetround", 0, 0.0, 0 }, #define FPGETROUND 123 { "fpgetsticky", 0, 0.0, 0 }, #define FPGETSTICKY 124 { "fprintf", 0, 0.0, 0 }, #define FPRINTF 125 { "fpsetmask", 0, 0.0, 0 }, #define FPSETMASK 126 { "fpsetround", 0, 0.0, 0 }, #define FPSETROUND 127 { "fpsetsticky", 0, 0.0, 0 }, #define FPSETSTICKY 128 { "fputc", 0, 0.0, 0 }, #define FPUTC 129 { "fputs", 0, 0.0, 0 }, #define FPUTS 130 { "fputwc", 0, 0.0, 0 }, #define FPUTWC 131 { "fputws", 0, 0.0, 0 }, #define FPUTWS 132 { "fread", 0, 0.0, 0 }, #define FREAD 133 { "free", 0, 0.0, 0 }, #define FREE 134 { "freopen", 0, 0.0, 0 }, #define FREOPEN 135 { "frexp", 0, 0.0, 0 }, #define FREXP 136 { "fscanf", 0, 0.0, 0 }, #define FSCANF 137 { "fseek", 0, 0.0, 0 }, #define FSEEK 138 { "fseeko", 0, 0.0, 0 }, #define FSEEKO 139 { "fsetpos", 0, 0.0, 0 }, #define FSETPOS 140 { "fstat", 0, 0.0, 0 }, #define FSTAT 141 { "fstatat", 0, 0.0, 0 }, #define FSTATAT 142 { "fstatvfs", 0, 0.0, 0 }, #define FSTATVFS 143 { "fsync", 0, 0.0, 0 }, #define FSYNC 144 { "ftell", 0, 0.0, 0 }, #define FTELL 145 { "ftello", 0, 0.0, 0 }, #define FTELLO 146 { "ftime", 0, 0.0, 0 }, #define FTIME 147 { "ftok", 0, 0.0, 0 }, #define FTOK 148 { "ftruncate", 0, 0.0, 0 }, #define FTRUNCATE 149 { "ftrylockfile", 0, 0.0, 0 }, #define FTRYLOCKFILE 150 { "ftw", 0, 0.0, 0 }, #define FTW 151 { "funlockfile", 0, 0.0, 0 }, #define FUNLOCKFILE 152 { "futimesat", 0, 0.0, 0 }, #define FUTIMESAT 153 { "fwide", 0, 0.0, 0 }, #define FWIDE 154 { "fwprintf", 0, 0.0, 0 }, #define FWPRINTF 155 { "fwrite", 0, 0.0, 0 }, #define FWRITE 156 { "fwscanf", 0, 0.0, 0 }, #define FWSCANF 157 { "gconvert", 0, 0.0, 0 }, #define GCONVERT 158 { "gcvt", 0, 0.0, 0 }, #define GCVT 159 { "getacct", 0, 0.0, 0 }, #define GETACCT 160 { "getc", 0, 0.0, 0 }, #define GETC 161 { "getchar", 0, 0.0, 0 }, #define GETCHAR 162 { "getcontext", 0, 0.0, 0 }, #define GETCONTEXT_ 163 { "getcpuid", 0, 0.0, 0 }, #define GETCPUID 164 { "getcwd", 0, 0.0, 0 }, #define GETCWD 165 { "getdate", 0, 0.0, 0 }, #define GETDATE 166 { "getdents", 0, 0.0, 0 }, #define GETDENTS 167 { "getdtablesize", 0, 0.0, 0 }, #define GETDTABLESIZE 168 { "getegid", 0, 0.0, 0 }, #define GETEGID 169 { "getenv", 0, 0.0, 0 }, #define GETENV 170 { "geteuid", 0, 0.0, 0 }, #define GETEUID 171 { "getexecname", 0, 0.0, 0 }, #define GETEXECNAME 172 { "getextmntent", 0, 0.0, 0 }, #define GETEXTMNTENT 173 { "getgid", 0, 0.0, 0 }, #define GETGID 174 { "getgrent", 0, 0.0, 0 }, #define GETGRENT 175 { "getgrgid", 0, 0.0, 0 }, #define GETGRGID 176 { "getgrnam", 0, 0.0, 0 }, #define GETGRNAM 177 { "getgroups", 0, 0.0, 0 }, #define GETGROUPS 178 { "gethomelgroup", 0, 0.0, 0 }, #define GETHOMELGROUP 179 { "gethostid", 0, 0.0, 0 }, #define GETHOSTID 180 { "gethostname", 0, 0.0, 0 }, #define GETHOSTNAME 181 { "gethrtime", 0, 0.0, 0 }, #define GETHRTIME 182 { "gethrvtime", 0, 0.0, 0 }, #define GETHRVTIME 183 { "getitimer", 0, 0.0, 0 }, #define GETITIMER 184 { "getloadavg", 0, 0.0, 0 }, #define GETLOADAVG 185 { "getlogin", 0, 0.0, 0 }, #define GETLOGIN 186 { "getmntany", 0, 0.0, 0 }, #define GETMNTANY 187 { "getmntent", 0, 0.0, 0 }, #define GETMNTENT 188 { "getmsg", 0, 0.0, 0 }, #define GETMSG 189 { "getnetgrent", 0, 0.0, 0 }, #define GETNETGRENT 190 { "getopt", 0, 0.0, 0 }, #define GETOPT 191 { "getpagesize", 0, 0.0, 0 }, #define GETPAGESIZE 192 { "getpagesizes", 0, 0.0, 0 }, #define GETPAGESIZES 193 { "getpass", 0, 0.0, 0 }, #define GETPASS 194 { "getpassphrase", 0, 0.0, 0 }, #define GETPASSPHRASE 195 { "getpgid", 0, 0.0, 0 }, #define GETPGID 196 { "getpgrp", 0, 0.0, 0 }, #define GETPGRP 197 { "getpid", 0, 0.0, 0 }, #define GETPID_ 198 { "getpmsg", 0, 0.0, 0 }, #define GETPMSG 199 { "getppid", 0, 0.0, 0 }, #define GETPPID 200 { "getpriority", 0, 0.0, 0 }, #define GETPRIORITY 201 { "getprojid", 0, 0.0, 0 }, #define GETPROJID 202 { "getpw", 0, 0.0, 0 }, #define GETPW 203 { "getpwent", 0, 0.0, 0 }, #define GETPWENT 204 { "getpwnam", 0, 0.0, 0 }, #define GETPWNAM 205 { "getpwuid", 0, 0.0, 0 }, #define GETPWUID 206 { "getrctl", 0, 0.0, 0 }, #define GETRCTL 207 { "getrlimit", 0, 0.0, 0 }, #define GETRLIMIT 208 { "getrusage", 0, 0.0, 0 }, #define GETRUSAGE 209 { "gets", 0, 0.0, 0 }, #define GETS 210 { "getsid", 0, 0.0, 0 }, #define GETSID 211 { "getspent", 0, 0.0, 0 }, #define GETSPENT 212 { "getspnam", 0, 0.0, 0 }, #define GETSPNAM 213 { "getsubopt", 0, 0.0, 0 }, #define GETSUBOPT 214 { "gettaskid", 0, 0.0, 0 }, #define GETTASKID 215 { "gettext", 0, 0.0, 0 }, #define GETTEXT 216 { "gettimeofday", 0, 0.0, 0 }, #define GETTIMEOFDAY 217 { "gettxt", 0, 0.0, 0 }, #define GETTXT 218 { "getuid", 0, 0.0, 0 }, #define GETUID 219 { "getustack", 0, 0.0, 0 }, #define GETUSTACK_ 220 { "getutent", 0, 0.0, 0 }, #define GETUTENT 221 { "getutid", 0, 0.0, 0 }, #define GETUTID 222 { "getutline", 0, 0.0, 0 }, #define GETUTLINE 223 { "getutmp", 0, 0.0, 0 }, #define GETUTMP 224 { "getutmpx", 0, 0.0, 0 }, #define GETUTMPX 225 { "getutxent", 0, 0.0, 0 }, #define GETUTXENT 226 { "getutxid", 0, 0.0, 0 }, #define GETUTXID 227 { "getutxline", 0, 0.0, 0 }, #define GETUTXLINE 228 { "getvfsany", 0, 0.0, 0 }, #define GETVFSANY 229 { "getvfsent", 0, 0.0, 0 }, #define GETVFSENT 230 { "getvfsfile", 0, 0.0, 0 }, #define GETVFSFILE 231 { "getvfsspec", 0, 0.0, 0 }, #define GETVFSSPEC 232 { "getw", 0, 0.0, 0 }, #define GETW 233 { "getwc", 0, 0.0, 0 }, #define GETWC 234 { "getwchar", 0, 0.0, 0 }, #define GETWCHAR 235 { "getwd", 0, 0.0, 0 }, #define GETWD 236 { "getwidth", 0, 0.0, 0 }, #define GETWIDTH 237 { "getws", 0, 0.0, 0 }, #define GETWS 238 { "glob", 0, 0.0, 0 }, #define GLOB 239 { "globfree", 0, 0.0, 0 }, #define GLOBFREE 240 { "gmtime", 0, 0.0, 0 }, #define GMTIME 241 { "grantpt", 0, 0.0, 0 }, #define GRANTPT 242 { "gsignal", 0, 0.0, 0 }, #define GSIGNAL 243 { "hasmntopt", 0, 0.0, 0 }, #define HASMNTOPT 244 { "hcreate", 0, 0.0, 0 }, #define HCREATE 245 { "hdestroy", 0, 0.0, 0 }, #define HDESTROY 246 { "hsearch", 0, 0.0, 0 }, #define HSEARCH 247 { "iconv", 0, 0.0, 0 }, #define ICONV 248 { "index", 0, 0.0, 0 }, #define INDEX 249 { "initgroups", 0, 0.0, 0 }, #define INITGROUPS 250 { "initstate", 0, 0.0, 0 }, #define INITSTATE 251 { "innetgr", 0, 0.0, 0 }, #define INNETGR 252 { "insque", 0, 0.0, 0 }, #define INSQUE 253 { "ioctl", 0, 0.0, 0 }, #define IOCTL 254 { "isaexec", 0, 0.0, 0 }, #define ISAEXEC 255 { "isalnum", 0, 0.0, 0 }, #define ISALNUM 256 { "isalpha", 0, 0.0, 0 }, #define ISALPHA 257 { "isascii", 0, 0.0, 0 }, #define ISASCII_ 258 { "isastream", 0, 0.0, 0 }, #define ISASTREAM 259 { "isatty", 0, 0.0, 0 }, #define ISATTY 260 { "iscntrl", 0, 0.0, 0 }, #define ISCNTRL 261 { "isdigit", 0, 0.0, 0 }, #define ISDIGIT 262 { "isgraph", 0, 0.0, 0 }, #define ISGRAPH 263 { "islower", 0, 0.0, 0 }, #define ISLOWER 264 { "isnan", 0, 0.0, 0 }, #define ISNAN 265 { "isnand", 0, 0.0, 0 }, #define ISNAND 266 { "isnanf", 0, 0.0, 0 }, #define ISNANF 267 { "isprint", 0, 0.0, 0 }, #define ISPRINT_ 268 { "ispunct", 0, 0.0, 0 }, #define ISPUNCT 269 { "issetugid", 0, 0.0, 0 }, #define ISSETUGID 270 { "isspace", 0, 0.0, 0 }, #define ISSPACE 271 { "isupper", 0, 0.0, 0 }, #define ISUPPER 272 { "iswalpha", 0, 0.0, 0 }, #define ISWALPHA 273 { "iswctype", 0, 0.0, 0 }, #define ISWCTYPE 274 { "isxdigit", 0, 0.0, 0 }, #define ISXDIGIT 275 { "jrand48", 0, 0.0, 0 }, #define JRAND48 276 { "kill", 0, 0.0, 0 }, #define KILL 277 { "killpg", 0, 0.0, 0 }, #define KILLPG 278 { "l64a", 0, 0.0, 0 }, #define L64A 279 { "labs", 0, 0.0, 0 }, #define LABS 280 { "lchown", 0, 0.0, 0 }, #define LCHOWN 281 { "lckpwdf", 0, 0.0, 0 }, #define LCKPWDF 282 { "lcong48", 0, 0.0, 0 }, #define LCONG48 283 { "ldexp", 0, 0.0, 0 }, #define LDEXP 284 { "ldiv", 0, 0.0, 0 }, #define LDIV 285 { "lfind", 0, 0.0, 0 }, #define LFIND 286 { "lfmt", 0, 0.0, 0 }, #define LFMT 287 { "link", 0, 0.0, 0 }, #define LINK 288 { "llabs", 0, 0.0, 0 }, #define LLABS 289 { "lldiv", 0, 0.0, 0 }, #define LLDIV 290 { "llseek", 0, 0.0, 0 }, #define LLSEEK 291 { "lltostr", 0, 0.0, 0 }, #define LLTOSTR 292 { "localeconv", 0, 0.0, 0 }, #define LOCALECONV 293 { "localtime", 0, 0.0, 0 }, #define LOCALTIME 294 { "lockf", 0, 0.0, 0 }, #define LOCKF 295 { "longjmp", 0, 0.0, 0 }, #define LONGJMP 296 { "lrand48", 0, 0.0, 0 }, #define LRAND48 297 { "lsearch", 0, 0.0, 0 }, #define LSEARCH 298 { "lseek", 0, 0.0, 0 }, #define LSEEK 299 { "lstat", 0, 0.0, 0 }, #define LSTAT 300 { "madvise", 0, 0.0, 0 }, #define MADVISE 301 { "makecontext", 0, 0.0, 0 }, #define MAKECONTEXT 302 { "malloc", 0, 0.0, 0 }, #define MALLOC 303 { "mblen", 0, 0.0, 0 }, #define MBLEN 304 { "mbrlen", 0, 0.0, 0 }, #define MBRLEN 305 { "mbrtowc", 0, 0.0, 0 }, #define MBRTOWC 306 { "mbsinit", 0, 0.0, 0 }, #define MBSINIT 307 { "mbsrtowcs", 0, 0.0, 0 }, #define MBSRTOWCS 308 { "mbstowcs", 0, 0.0, 0 }, #define MBSTOWCS 309 { "mbtowc", 0, 0.0, 0 }, #define MBTOWC 310 { "memalign", 0, 0.0, 0 }, #define MEMALIGN 311 { "memccpy", 0, 0.0, 0 }, #define MEMCCPY 312 { "memchr", 0, 0.0, 0 }, #define MEMCHR 313 { "memcmp", 0, 0.0, 0 }, #define MEMCMP 314 { "memcntl", 0, 0.0, 0 }, #define MEMCNTL 315 { "memcpy", 0, 0.0, 0 }, #define MEMCPY 316 { "meminfo", 0, 0.0, 0 }, #define MEMINFO 317 { "memmove", 0, 0.0, 0 }, #define MEMMOVE 318 { "memset", 0, 0.0, 0 }, #define MEMSET 319 { "mincore", 0, 0.0, 0 }, #define MINCORE 320 { "mkdir", 0, 0.0, 0 }, #define MKDIR 321 { "mkfifo", 0, 0.0, 0 }, #define MKFIFO 322 { "mknod", 0, 0.0, 0 }, #define MKNOD 323 { "mkstemp", 0, 0.0, 0 }, #define MKSTEMP 324 { "mktemp", 0, 0.0, 0 }, #define MKTEMP 325 { "mktime", 0, 0.0, 0 }, #define MKTIME 326 { "mlock", 0, 0.0, 0 }, #define MLOCK 327 { "mlockall", 0, 0.0, 0 }, #define MLOCKALL 328 { "mmap", 0, 0.0, 0 }, #define MMAP 329 { "modf", 0, 0.0, 0 }, #define MODF 330 { "modff", 0, 0.0, 0 }, #define MODFF 331 { "monitor", 0, 0.0, 0 }, #define MONITOR 332 { "mount", 0, 0.0, 0 }, #define MOUNT 333 { "mprotect", 0, 0.0, 0 }, #define MPROTECT 334 { "mrand48", 0, 0.0, 0 }, #define MRAND48 335 { "msgctl", 0, 0.0, 0 }, #define MSGCTL 336 { "msgget", 0, 0.0, 0 }, #define MSGGET 337 { "msgids", 0, 0.0, 0 }, #define MSGIDS 338 { "msgrcv", 0, 0.0, 0 }, #define MSGRCV 339 { "msgsnap", 0, 0.0, 0 }, #define MSGSNAP 340 { "msgsnd", 0, 0.0, 0 }, #define MSGSND 341 { "msync", 0, 0.0, 0 }, #define MSYNC 342 { "munlock", 0, 0.0, 0 }, #define MUNLOCK 343 { "munlockall", 0, 0.0, 0 }, #define MUNLOCKALL 344 { "munmap", 0, 0.0, 0 }, #define MUNMAP 345 { "nftw", 0, 0.0, 0 }, #define NFTW 346 { "ngettext", 0, 0.0, 0 }, #define NGETTEXT 347 { "nice", 0, 0.0, 0 }, #define NICE 348 { "nrand48", 0, 0.0, 0 }, #define NRAND48 349 { "open", 0, 0.0, 0 }, #define OPEN 350 { "openat", 0, 0.0, 0 }, #define OPENAT 351 { "opendir", 0, 0.0, 0 }, #define OPENDIR 352 { "openlog", 0, 0.0, 0 }, #define OPENLOG 353 { "pathconf", 0, 0.0, 0 }, #define PATHCONF 354 { "pause", 0, 0.0, 0 }, #define PAUSE 355 { "pclose", 0, 0.0, 0 }, #define PCLOSE 356 { "pcsample", 0, 0.0, 0 }, #define PCSAMPLE 357 { "perror", 0, 0.0, 0 }, #define PERROR 358 { "pfmt", 0, 0.0, 0 }, #define PFMT 359 { "pipe", 0, 0.0, 0 }, #define PIPE 360 { "plock", 0, 0.0, 0 }, #define PLOCK 361 { "poll", 0, 0.0, 0 }, #define POLL 362 { "popen", 0, 0.0, 0 }, #define POPEN 363 { "pread", 0, 0.0, 0 }, #define PREAD 364 { "printf", 0, 0.0, 0 }, #define PRINTF 365 { "printstack", 0, 0.0, 0 }, #define PRINTSTACK 366 { "priocntl", 0, 0.0, 0 }, #define PRIOCNTL 367 { "priocntlset", 0, 0.0, 0 }, #define PRIOCNTLSET 368 { "profil", 0, 0.0, 0 }, #define PROFIL 369 { "psiginfo", 0, 0.0, 0 }, #define PSIGINFO 370 { "psignal", 0, 0.0, 0 }, #define PSIGNAL 371 { "ptrace", 0, 0.0, 0 }, #define PTRACE 372 { "ptsname", 0, 0.0, 0 }, #define PTSNAME 373 { "putacct", 0, 0.0, 0 }, #define PUTACCT 374 { "putc", 0, 0.0, 0 }, #define PUTC 375 { "putchar", 0, 0.0, 0 }, #define PUTCHAR 376 { "putenv", 0, 0.0, 0 }, #define PUTENV 377 { "putmsg", 0, 0.0, 0 }, #define PUTMSG 378 { "putpmsg", 0, 0.0, 0 }, #define PUTPMSG 379 { "putpwent", 0, 0.0, 0 }, #define PUTPWENT 380 { "puts", 0, 0.0, 0 }, #define PUTS 381 { "putspent", 0, 0.0, 0 }, #define PUTSPENT 382 { "pututline", 0, 0.0, 0 }, #define PUTUTLINE 383 { "pututxline", 0, 0.0, 0 }, #define PUTUTXLINE 384 { "putw", 0, 0.0, 0 }, #define PUTW 385 { "putwc", 0, 0.0, 0 }, #define PUTWC 386 { "putwchar", 0, 0.0, 0 }, #define PUTWCHAR 387 { "putws", 0, 0.0, 0 }, #define PUTWS 388 { "pwrite", 0, 0.0, 0 }, #define PWRITE 389 { "qeconvert", 0, 0.0, 0 }, #define QECONVERT 390 { "qfconvert", 0, 0.0, 0 }, #define QFCONVERT 391 { "qgconvert", 0, 0.0, 0 }, #define QGCONVERT 392 { "qsort", 0, 0.0, 0 }, #define QSORT 393 { "raise", 0, 0.0, 0 }, #define RAISE 394 { "rand", 0, 0.0, 0 }, #define RAND 395 { "random", 0, 0.0, 0 }, #define RANDOM 396 { "read", 0, 0.0, 0 }, #define READ 397 { "readdir", 0, 0.0, 0 }, #define READDIR 398 { "readlink", 0, 0.0, 0 }, #define READLINK 399 { "readv", 0, 0.0, 0 }, #define READV 400 { "realloc", 0, 0.0, 0 }, #define REALLOC 401 { "realpath", 0, 0.0, 0 }, #define REALPATH 402 { "reboot", 0, 0.0, 0 }, #define REBOOT 403 { "regcmp", 0, 0.0, 0 }, #define REGCMP 404 { "regcomp", 0, 0.0, 0 }, #define REGCOMP 405 { "regerror", 0, 0.0, 0 }, #define REGERROR 406 { "regex", 0, 0.0, 0 }, #define REGEX 407 { "regexec", 0, 0.0, 0 }, #define REGEXEC 408 { "regfree", 0, 0.0, 0 }, #define REGFREE 409 { "remove", 0, 0.0, 0 }, #define REMOVE 410 { "remque", 0, 0.0, 0 }, #define REMQUE 411 { "rename", 0, 0.0, 0 }, #define RENAME 412 { "renameat", 0, 0.0, 0 }, #define RENAMEAT 413 { "resetmnttab", 0, 0.0, 0 }, #define RESETMNTTAB 414 { "resolvepath", 0, 0.0, 0 }, #define RESOLVEPATH 415 { "rewind", 0, 0.0, 0 }, #define REWIND 416 { "rewinddir", 0, 0.0, 0 }, #define REWINDDIR 417 { "rindex", 0, 0.0, 0 }, #define RINDEX 418 { "rmdir", 0, 0.0, 0 }, #define RMDIR 419 { "sbrk", 0, 0.0, 0 }, #define SBRK 420 { "scanf", 0, 0.0, 0 }, #define SCANF 421 { "seconvert", 0, 0.0, 0 }, #define SECONVERT 422 { "seed48", 0, 0.0, 0 }, #define SEED48 423 { "seekdir", 0, 0.0, 0 }, #define SEEKDIR 424 { "select", 0, 0.0, 0 }, #define SELECT 425 { "semctl", 0, 0.0, 0 }, #define SEMCTL 426 { "semget", 0, 0.0, 0 }, #define SEMGET 427 { "semids", 0, 0.0, 0 }, #define SEMIDS 428 { "semop", 0, 0.0, 0 }, #define SEMOP 429 { "semtimedop", 0, 0.0, 0 }, #define SEMTIMEDOP 430 { "setbuf", 0, 0.0, 0 }, #define SETBUF 431 { "setbuffer", 0, 0.0, 0 }, #define SETBUFFER 432 { "setcat", 0, 0.0, 0 }, #define SETCAT 433 { "setcontext", 0, 0.0, 0 }, #define SETCONTEXT_ 434 { "setegid", 0, 0.0, 0 }, #define SETEGID 435 { "seteuid", 0, 0.0, 0 }, #define SETEUID 436 { "setgid", 0, 0.0, 0 }, #define SETGID 437 { "setgrent", 0, 0.0, 0 }, #define SETGRENT 438 { "setgroups", 0, 0.0, 0 }, #define SETGROUPS 439 { "sethostname", 0, 0.0, 0 }, #define SETHOSTNAME 440 { "setitimer", 0, 0.0, 0 }, #define SETITIMER 441 { "setjmp", 0, 0.0, 0 }, #define SETJMP 442 { "setkey", 0, 0.0, 0 }, #define SETKEY 443 { "setlabel", 0, 0.0, 0 }, #define SETLABEL 444 { "setlinebuf", 0, 0.0, 0 }, #define SETLINEBUF 445 { "setlocale", 0, 0.0, 0 }, #define SETLOCALE 446 { "setlogmask", 0, 0.0, 0 }, #define SETLOGMASK 447 { "setnetgrent", 0, 0.0, 0 }, #define SETNETGRENT 448 { "setpgid", 0, 0.0, 0 }, #define SETPGID 449 { "setpgrp", 0, 0.0, 0 }, #define SETPGRP 450 { "setpriority", 0, 0.0, 0 }, #define SETPRIORITY 451 { "setpwent", 0, 0.0, 0 }, #define SETPWENT 452 { "setrctl", 0, 0.0, 0 }, #define SETRCTL 453 { "setregid", 0, 0.0, 0 }, #define SETREGID 454 { "setreuid", 0, 0.0, 0 }, #define SETREUID 455 { "setrlimit", 0, 0.0, 0 }, #define SETRLIMIT 456 { "setsid", 0, 0.0, 0 }, #define SETSID 457 { "setspent", 0, 0.0, 0 }, #define SETSPENT 458 { "setstate", 0, 0.0, 0 }, #define SETSTATE 459 { "settaskid", 0, 0.0, 0 }, #define SETTASKID 460 { "settimeofday", 0, 0.0, 0 }, #define SETTIMEOFDAY 461 { "setuid", 0, 0.0, 0 }, #define SETUID 462 { "setustack", 0, 0.0, 0 }, #define SETUSTACK_ 463 { "setutent", 0, 0.0, 0 }, #define SETUTENT 464 { "setutxent", 0, 0.0, 0 }, #define SETUTXENT 465 { "setvbuf", 0, 0.0, 0 }, #define SETVBUF 466 { "sfconvert", 0, 0.0, 0 }, #define SFCONVERT 467 { "sgconvert", 0, 0.0, 0 }, #define SGCONVERT 468 { "shmat", 0, 0.0, 0 }, #define SHMAT 469 { "shmctl", 0, 0.0, 0 }, #define SHMCTL 470 { "shmdt", 0, 0.0, 0 }, #define SHMDT 471 { "shmget", 0, 0.0, 0 }, #define SHMGET 472 { "shmids", 0, 0.0, 0 }, #define SHMIDS 473 { "sig2str", 0, 0.0, 0 }, #define SIG2STR 474 { "sigaction", 0, 0.0, 0 }, #define SIGACTION 475 { "sigaddset", 0, 0.0, 0 }, #define SIGADDSET 476 { "sigaltstack", 0, 0.0, 0 }, #define SIGALTSTACK 477 { "sigdelset", 0, 0.0, 0 }, #define SIGDELSET 478 { "sigemptyset", 0, 0.0, 0 }, #define SIGEMPTYSET 479 { "sigfillset", 0, 0.0, 0 }, #define SIGFILLSET 480 { "sigfpe", 0, 0.0, 0 }, #define SIGFPE_ 481 { "sighold", 0, 0.0, 0 }, #define SIGHOLD_ 482 { "sigignore", 0, 0.0, 0 }, #define SIGIGNORE_ 483 { "sigismember", 0, 0.0, 0 }, #define SIGISMEMBER 484 { "siglongjmp", 0, 0.0, 0 }, #define SIGLONGJMP 485 { "sigpause", 0, 0.0, 0 }, #define SIGPAUSE_ 486 { "sigpending", 0, 0.0, 0 }, #define SIGPENDING 487 { "sigprocmask", 0, 0.0, 0 }, #define SIGPROCMASK 488 { "sigrelse", 0, 0.0, 0 }, #define SIGRELSE_ 489 { "sigsend", 0, 0.0, 0 }, #define SIGSEND 490 { "sigsendset", 0, 0.0, 0 }, #define SIGSENDSET 491 { "sigset", 0, 0.0, 0 }, #define SIGSET 492 { "sigsetjmp", 0, 0.0, 0 }, #define SIGSETJMP 493 { "sigstack", 0, 0.0, 0 }, #define SIGSTACK 494 { "sigsuspend", 0, 0.0, 0 }, #define SIGSUSPEND 495 { "sigwait", 0, 0.0, 0 }, #define SIGWAIT 496 { "sleep", 0, 0.0, 0 }, #define SLEEP 497 { "snprintf", 0, 0.0, 0 }, #define SNPRINTF 498 { "sprintf", 0, 0.0, 0 }, #define SPRINTF 499 { "srand", 0, 0.0, 0 }, #define SRAND 500 { "srand48", 0, 0.0, 0 }, #define SRAND48 501 { "srandom", 0, 0.0, 0 }, #define SRANDOM 502 { "sscanf", 0, 0.0, 0 }, #define SSCANF 503 { "stat", 0, 0.0, 0 }, #define STAT 504 { "statvfs", 0, 0.0, 0 }, #define STATVFS 505 { "stime", 0, 0.0, 0 }, #define STIME 506 { "str2sig", 0, 0.0, 0 }, #define STR2SIG 507 { "strcasecmp", 0, 0.0, 0 }, #define STRCASECMP 508 { "strcat", 0, 0.0, 0 }, #define STRCAT 509 { "strchr", 0, 0.0, 0 }, #define STRCHR 510 { "strcmp", 0, 0.0, 0 }, #define STRCMP 511 { "strcoll", 0, 0.0, 0 }, #define STRCOLL 512 { "strcpy", 0, 0.0, 0 }, #define STRCPY 513 { "strcspn", 0, 0.0, 0 }, #define STRCSPN 514 { "strdup", 0, 0.0, 0 }, #define STRDUP 515 { "strerror", 0, 0.0, 0 }, #define STRERROR 516 { "strfmon", 0, 0.0, 0 }, #define STRFMON 517 { "strftime", 0, 0.0, 0 }, #define STRFTIME 518 { "strlcat", 0, 0.0, 0 }, #define STRLCAT 519 { "strlcpy", 0, 0.0, 0 }, #define STRLCPY 520 { "strlen", 0, 0.0, 0 }, #define STRLEN 521 { "strncasecmp", 0, 0.0, 0 }, #define STRNCASECMP 522 { "strncat", 0, 0.0, 0 }, #define STRNCAT 523 { "strncmp", 0, 0.0, 0 }, #define STRNCMP 524 { "strncpy", 0, 0.0, 0 }, #define STRNCPY 525 { "strpbrk", 0, 0.0, 0 }, #define STRPBRK 526 { "strptime", 0, 0.0, 0 }, #define STRPTIME 527 { "strrchr", 0, 0.0, 0 }, #define STRRCHR 528 { "strsignal", 0, 0.0, 0 }, #define STRSIGNAL 529 { "strspn", 0, 0.0, 0 }, #define STRSPN 530 { "strstr", 0, 0.0, 0 }, #define STRSTR 531 { "strtod", 0, 0.0, 0 }, #define STRTOD 532 { "strtok", 0, 0.0, 0 }, #define STRTOK 533 { "strtol", 0, 0.0, 0 }, #define STRTOL 534 { "strtoll", 0, 0.0, 0 }, #define STRTOLL 535 { "strtoul", 0, 0.0, 0 }, #define STRTOUL 536 { "strtoull", 0, 0.0, 0 }, #define STRTOULL 537 { "strtows", 0, 0.0, 0 }, #define STRTOWS 538 { "strxfrm", 0, 0.0, 0 }, #define STRXFRM 539 { "swab", 0, 0.0, 0 }, #define SWAB 540 { "swapcontext", 0, 0.0, 0 }, #define SWAPCONTEXT 541 { "swapctl", 0, 0.0, 0 }, #define SWAPCTL 542 { "swprintf", 0, 0.0, 0 }, #define SWPRINTF 543 { "swscanf", 0, 0.0, 0 }, #define SWSCANF 544 { "symlink", 0, 0.0, 0 }, #define SYMLINK 545 { "sync", 0, 0.0, 0 }, #define SYNC 546 { "sysconf", 0, 0.0, 0 }, #define SYSCONF 547 { "sysfs", 0, 0.0, 0 }, #define SYSFS 548 { "sysinfo", 0, 0.0, 0 }, #define SYSINFO 549 { "syslog", 0, 0.0, 0 }, #define SYSLOG 550 { "system", 0, 0.0, 0 }, #define SYSTEM 551 { "tcdrain", 0, 0.0, 0 }, #define TCDRAIN 552 { "tcflow", 0, 0.0, 0 }, #define TCFLOW 553 { "tcflush", 0, 0.0, 0 }, #define TCFLUSH 554 { "tcgetattr", 0, 0.0, 0 }, #define TCGETATTR 555 { "tcgetpgrp", 0, 0.0, 0 }, #define TCGETPGRP 556 { "tcgetsid", 0, 0.0, 0 }, #define TCGETSID 557 { "tcsendbreak", 0, 0.0, 0 }, #define TCSENDBREAK 558 { "tcsetattr", 0, 0.0, 0 }, #define TCSETATTR 559 { "tcsetpgrp", 0, 0.0, 0 }, #define TCSETPGRP 560 { "tdelete", 0, 0.0, 0 }, #define TDELETE 561 { "tell", 0, 0.0, 0 }, #define TELL 562 { "telldir", 0, 0.0, 0 }, #define TELLDIR 563 { "tempnam", 0, 0.0, 0 }, #define TEMPNAM 564 { "textdomain", 0, 0.0, 0 }, #define TEXTDOMAIN 565 { "tfind", 0, 0.0, 0 }, #define TFIND 566 { "time", 0, 0.0, 0 }, #define TIME 567 { "times", 0, 0.0, 0 }, #define TIMES 568 { "tmpfile", 0, 0.0, 0 }, #define TMPFILE 569 { "tmpnam", 0, 0.0, 0 }, #define TMPNAM 570 { "toascii", 0, 0.0, 0 }, #define TOASCII 571 { "tolower", 0, 0.0, 0 }, #define TOLOWER 572 { "toupper", 0, 0.0, 0 }, #define TOUPPER 573 { "towctrans", 0, 0.0, 0 }, #define TOWCTRANS 574 { "towlower", 0, 0.0, 0 }, #define TOWLOWER 575 { "towupper", 0, 0.0, 0 }, #define TOWUPPER 576 { "truncate", 0, 0.0, 0 }, #define TRUNCATE 577 { "tsearch", 0, 0.0, 0 }, #define TSEARCH 578 { "ttyname", 0, 0.0, 0 }, #define TTYNAME 579 { "ttyslot", 0, 0.0, 0 }, #define TTYSLOT 580 { "twalk", 0, 0.0, 0 }, #define TWALK 581 { "tzset", 0, 0.0, 0 }, #define TZSET 582 { "uadmin", 0, 0.0, 0 }, #define UADMIN 583 { "ualarm", 0, 0.0, 0 }, #define UALARM 584 { "ulckpwdf", 0, 0.0, 0 }, #define ULCKPWDF 585 { "ulimit", 0, 0.0, 0 }, #define ULIMIT 586 { "ulltostr", 0, 0.0, 0 }, #define ULLTOSTR 587 { "umask", 0, 0.0, 0 }, #define UMASK 588 { "umount", 0, 0.0, 0 }, #define UMOUNT 589 { "umount2", 0, 0.0, 0 }, #define UMOUNT2 590 { "uname", 0, 0.0, 0 }, #define UNAME 591 { "ungetc", 0, 0.0, 0 }, #define UNGETC 592 { "ungetwc", 0, 0.0, 0 }, #define UNGETWC 593 { "unlink", 0, 0.0, 0 }, #define UNLINK 594 { "unlinkat", 0, 0.0, 0 }, #define UNLINKAT 595 { "unlockpt", 0, 0.0, 0 }, #define UNLOCKPT 596 { "unordered", 0, 0.0, 0 }, #define UNORDERED 597 { "updwtmp", 0, 0.0, 0 }, #define UPDWTMP 598 { "updwtmpx", 0, 0.0, 0 }, #define UPDWTMPX 599 { "usleep", 0, 0.0, 0 }, #define USLEEP 600 { "ustat", 0, 0.0, 0 }, #define USTAT 601 { "utime", 0, 0.0, 0 }, #define UTIME 602 { "utimes", 0, 0.0, 0 }, #define UTIMES 603 { "utmpname", 0, 0.0, 0 }, #define UTMPNAME 604 { "utmpxname", 0, 0.0, 0 }, #define UTMPXNAME 605 { "valloc", 0, 0.0, 0 }, #define VALLOC 606 { "vfork", 0, 0.0, 0 }, #define VFORK 607 { "vfprintf", 0, 0.0, 0 }, #define VFPRINTF 608 { "vfscanf", 0, 0.0, 0 }, #define VFSCANF 609 { "vfwprintf", 0, 0.0, 0 }, #define VFWPRINTF 610 { "vfwscanf", 0, 0.0, 0 }, #define VFWSCANF 611 { "vhangup", 0, 0.0, 0 }, #define VHANGUP 612 { "vlfmt", 0, 0.0, 0 }, #define VLFMT 613 { "vpfmt", 0, 0.0, 0 }, #define VPFMT 614 { "vprintf", 0, 0.0, 0 }, #define VPRINTF 615 { "vscanf", 0, 0.0, 0 }, #define VSCANF 616 { "vsnprintf", 0, 0.0, 0 }, #define VSNPRINTF 617 { "vsprintf", 0, 0.0, 0 }, #define VSPRINTF 618 { "vsscanf", 0, 0.0, 0 }, #define VSSCANF 619 { "vswprintf", 0, 0.0, 0 }, #define VSWPRINTF 620 { "vswscanf", 0, 0.0, 0 }, #define VSWSCANF 621 { "vsyslog", 0, 0.0, 0 }, #define VSYSLOG 622 { "vwprintf", 0, 0.0, 0 }, #define VWPRINTF 623 { "wait", 0, 0.0, 0 }, #define WAIT 624 { "wait3", 0, 0.0, 0 }, #define WAIT3 625 { "wait4", 0, 0.0, 0 }, #define WAIT4 626 { "waitid", 0, 0.0, 0 }, #define WAITID 627 { "waitpid", 0, 0.0, 0 }, #define WAITPID 628 { "walkcontext", 0, 0.0, 0 }, #define WALKCONTEXT 629 { "watoll", 0, 0.0, 0 }, #define WATOLL 630 { "wcrtomb", 0, 0.0, 0 }, #define WCRTOMB 631 { "wcscat", 0, 0.0, 0 }, #define WCSCAT 632 { "wcschr", 0, 0.0, 0 }, #define WCSCHR 633 { "wcscmp", 0, 0.0, 0 }, #define WCSCMP 634 { "wcscoll", 0, 0.0, 0 }, #define WCSCOLL 635 { "wcscpy", 0, 0.0, 0 }, #define WCSCPY 636 { "wcscspn", 0, 0.0, 0 }, #define WCSCSPN 637 { "wcsftime", 0, 0.0, 0 }, #define WCSFTIME 638 { "wcslen", 0, 0.0, 0 }, #define WCSLEN 639 { "wcsncat", 0, 0.0, 0 }, #define WCSNCAT 640 { "wcsncmp", 0, 0.0, 0 }, #define WCSNCMP 641 { "wcsncpy", 0, 0.0, 0 }, #define WCSNCPY 642 { "wcspbrk", 0, 0.0, 0 }, #define WCSPBRK 643 { "wcsrchr", 0, 0.0, 0 }, #define WCSRCHR 644 { "wcsrtombs", 0, 0.0, 0 }, #define WCSRTOMBS 645 { "wcsspn", 0, 0.0, 0 }, #define WCSSPN 646 { "wcsstr", 0, 0.0, 0 }, #define WCSSTR 647 { "wcstod", 0, 0.0, 0 }, #define WCSTOD 648 { "wcstok", 0, 0.0, 0 }, #define WCSTOK 649 { "wcstol", 0, 0.0, 0 }, #define WCSTOL 650 { "wcstombs", 0, 0.0, 0 }, #define WCSTOMBS 651 { "wcstoul", 0, 0.0, 0 }, #define WCSTOUL 652 { "wcswcs", 0, 0.0, 0 }, #define WCSWCS 653 { "wcswidth", 0, 0.0, 0 }, #define WCSWIDTH 654 { "wcsxfrm", 0, 0.0, 0 }, #define WCSXFRM 655 { "wctob", 0, 0.0, 0 }, #define WCTOB 656 { "wctomb", 0, 0.0, 0 }, #define WCTOMB 657 { "wctrans", 0, 0.0, 0 }, #define WCTRANS 658 { "wctype", 0, 0.0, 0 }, #define WCTYPE 659 { "wcwidth", 0, 0.0, 0 }, #define WCWIDTH 660 { "wmemchr", 0, 0.0, 0 }, #define WMEMCHR 661 { "wmemcmp", 0, 0.0, 0 }, #define WMEMCMP 662 { "wmemcpy", 0, 0.0, 0 }, #define WMEMCPY 663 { "wmemmove", 0, 0.0, 0 }, #define WMEMMOVE 664 { "wmemset", 0, 0.0, 0 }, #define WMEMSET 665 { "wordexp", 0, 0.0, 0 }, #define WORDEXP 666 { "wordfree", 0, 0.0, 0 }, #define WORDFREE 667 { "wprintf", 0, 0.0, 0 }, #define WPRINTF 668 { "wracct", 0, 0.0, 0 }, #define WRACCT 669 { "write", 0, 0.0, 0 }, #define WRITE 670 { "writev", 0, 0.0, 0 }, #define WRITEV 671 { "wscanf", 0, 0.0, 0 }, #define WSCANF 672 { "wscasecmp", 0, 0.0, 0 }, #define WSCASECMP 673 { "wscat", 0, 0.0, 0 }, #define WSCAT 674 { "wschr", 0, 0.0, 0 }, #define WSCHR 675 { "wscmp", 0, 0.0, 0 }, #define WSCMP 676 { "wscol", 0, 0.0, 0 }, #define WSCOL 677 { "wscoll", 0, 0.0, 0 }, #define WSCOLL 678 { "wscpy", 0, 0.0, 0 }, #define WSCPY 679 { "wscspn", 0, 0.0, 0 }, #define WSCSPN 680 { "wsdup", 0, 0.0, 0 }, #define WSDUP 681 { "wslen", 0, 0.0, 0 }, #define WSLEN 682 { "wsncasecmp", 0, 0.0, 0 }, #define WSNCASECMP 683 { "wsncat", 0, 0.0, 0 }, #define WSNCAT 684 { "wsncmp", 0, 0.0, 0 }, #define WSNCMP 685 { "wsncpy", 0, 0.0, 0 }, #define WSNCPY 686 { "wspbrk", 0, 0.0, 0 }, #define WSPBRK 687 { "wsprintf", 0, 0.0, 0 }, #define WSPRINTF 688 { "wsrchr", 0, 0.0, 0 }, #define WSRCHR 689 { "wsscanf", 0, 0.0, 0 }, #define WSSCANF 690 { "wsspn", 0, 0.0, 0 }, #define WSSPN 691 { "wstod", 0, 0.0, 0 }, #define WSTOD 692 { "wstok", 0, 0.0, 0 }, #define WSTOK 693 { "wstol", 0, 0.0, 0 }, #define WSTOL 694 { "wstostr", 0, 0.0, 0 }, #define WSTOSTR 695 { "wsxfrm", 0, 0.0, 0 }, #define WSXFRM 696 { "yield", 0, 0.0, 0 }, #define YIELD 697 { NULL, 0, 0.0, 0 } }; /* * a64l -- intercept a64l */ long a64l(const char *s) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "a64l"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(const char *))actual)(s); RECORD(A64L); return rc; } /* abort -- don't intercept abort */ /* * abs -- intercept abs */ int abs(int val) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "abs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(val); RECORD(ABS); return rc; } /* * access -- intercept access */ int access(const char *path,int amode) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "access"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, int ))actual)(path, amode); RECORD(ACCESS); return rc; } /* * acct -- intercept acct */ int acct(const char *path) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "acct"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *))actual)(path); RECORD(ACCT); return rc; } /* * acl -- intercept acl */ #if !defined(__linux) int acl(const char *pathp,int cmd,int nentries,aclent_t *aclbufp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "acl"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, int, int, aclent_t *))actual)(pathp, cmd, nentries,aclbufp); RECORD(ACL); return rc; } #endif /* Not linux */ /* * addsev -- intercept addsev */ int addsev(int int_val,const char *string) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "addsev"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, const char *))actual)(int_val,string); RECORD(ADDSEV); return rc; } /* * addseverity -- intercept addseverity */ int addseverity(int severity,const char *string) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "addseverity"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, const char *))actual)(severity,string); RECORD(ADDSEVERITY); return rc; } /* * adjtime -- intercept adjtime */ #if defined(__sun) int adjtime(struct timeval *delta,struct timeval *olddelta) { #define CAST (int (*)(struct timeval *, struct timeval *)) #elif defined(__linux) int adjtime(const struct timeval *delta,struct timeval *olddelta) { #define CAST (int (*)(const struct timeval *, struct timeval *)) #endif static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "adjtime"); assert(actual != NULL); } COLLECT_TZERO; rc = (CAST actual)(delta,olddelta); RECORD(ADJTIME); return rc; } /* * alarm -- intercept alarm */ unsigned int alarm(unsigned int sec) { static void *actual = NULL; DECLARE_TIME; unsigned int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "alarm"); assert(actual != NULL); } COLLECT_TZERO; rc = ((unsigned int (*)(unsigned int ))actual)(sec); RECORD(ALARM); return rc; } /* * ascftime -- intercept ascftime */ int ascftime(char *s,const char *format,const struct tm *timeptr) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ascftime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(char *, const char *, const struct tm *))actual)(s,format,timeptr); RECORD(ASCFTIME); return rc; } /* * asctime -- intercept asctime */ char * sctime(const struct tm *tm) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "asctime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char *(*)(const struct tm *))actual)(tm); RECORD(ASCTIME); return rc; } /* * atexit -- intercept atexit */ int atexit(void (*func)(void)) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "atexit"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(void (*)(void)))actual)(func); RECORD(ATEXIT); return rc; } /* * atof -- intercept atof */ double atof(const char *str) { static void *actual = NULL; DECLARE_TIME; double rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "atof"); assert(actual != NULL); } COLLECT_TZERO; rc = ((double (*)(const char *))actual)(str); RECORD(ATOF); return rc; } /* * atoi -- intercept atoi */ int atoi(const char *str) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "atoi"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *))actual)(str); RECORD(ATOI); return rc; } /* * atol -- intercept atol */ long atol(const char *str) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "atol"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(const char *))actual)(str); RECORD(ATOL); return rc; } /* * atoll -- intercept atoll */ long long atoll(const char *str) { static void *actual = NULL; DECLARE_TIME; long long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "atoll"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long long (*)(const char *))actual)(str); RECORD(ATOLL); return rc; } /* * attropen -- intercept attropen */ int attropen(const char *path, const char *attrpath, int oflag, /* mode_t mode */ ...) { va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap, oflag); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "attropen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, const char *, int, int))actual)(path,attrpath, oflag, va_arg(ap, int)); RECORD(ATTROPEN); va_end(ap); return rc; } /* * basename -- intercept basename */ char * basename(char *path) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "basename"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *))actual)(path); RECORD(BASENAME); return rc; } /* * bcmp -- intercept bcmp */ int bcmp(const void *s1,const void *s2,size_t n) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "bcmp"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const void *, const void *, size_t ))actual)(s1,s2,n); RECORD(BCMP); return rc; } /* * bcopy -- intercept bcopy */ void bcopy(const void *s1,void *s2,size_t n) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "bcopy"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(const void *, void *, size_t ))actual)(s1,s2,n); RECORD(BCOPY); return; } /* * bindtextdomain -- intercept bindtextdomain */ char * bindtextdomain(const char *domainname,const char *dirname) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "bindtextdomain"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *, const char *))actual)(domainname,dirname); RECORD(BINDTEXTDOMAIN); return rc; } /* * brk -- intercept brk */ int brk(void *endds) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "brk"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(void *))actual)(endds); RECORD(BRK); return rc; } /* * bsearch -- intercept bsearch */ void * bsearch(const void *key,const void *base,size_t nel,size_t size,int (*compar)(const void *,const void *)) { static void *actual = NULL; DECLARE_TIME; void * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "bsearch"); assert(actual != NULL); } COLLECT_TZERO; rc = ((void * (*)(const void *,const void *,size_t,size_t,int (*)(const void *,const void *)))actual)(key,base,nel,size,compar); RECORD(BSEARCH); return rc; } /* * btowc -- intercept btowc */ wint_t btowc(int c) { static void *actual = NULL; DECLARE_TIME; wint_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "btowc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((wint_t (*)(int ))actual)(c); RECORD(BTOWC); return rc; } /* * bzero -- intercept bzero */ void bzero(void *s,size_t n) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "bzero"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void *, size_t ))actual)(s,n); RECORD(BZERO); return; } /* * calloc -- intercept calloc */ void * calloc(size_t nelem,size_t elsize) { static void *actual = NULL; DECLARE_TIME; void * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "calloc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((void * (*)(size_t, size_t ))actual)(nelem,elsize); RECORD(CALLOC); return rc; } /* * catclose -- intercept catclose */ int catclose(nl_catd catd) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "catclose"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(nl_catd))actual)(catd); RECORD(CATCLOSE); return rc; } /* * catgets -- intercept catgets */ char * catgets(nl_catd catd,int set_num,int msg_num,const char *s) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "catgets"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(nl_catd, int, int, const char *))actual)(catd, set_num, msg_num,s); RECORD(CATGETS); return rc; } /* * catopen -- intercept catopen */ nl_catd catopen(const char *name,int oflag) { static void *actual = NULL; DECLARE_TIME; nl_catd rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "catopen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((nl_catd (*)(const char *, int ))actual)(name, oflag); RECORD(CATOPEN); return rc; } /* * cfgetispeed -- intercept cfgetispeed */ speed_t cfgetispeed(const struct termios *termios_p) { static void *actual = NULL; DECLARE_TIME; speed_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "cfgetispeed"); assert(actual != NULL); } COLLECT_TZERO; rc = ((speed_t (*)(const struct termios *))actual)(termios_p); RECORD(CFGETISPEED); return rc; } /* * cfgetospeed -- intercept cfgetospeed */ speed_t cfgetospeed(const struct termios *termios_p) { static void *actual = NULL; DECLARE_TIME; speed_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "cfgetospeed"); assert(actual != NULL); } COLLECT_TZERO; rc = ((speed_t (*)(const struct termios *))actual)(termios_p); RECORD(CFGETOSPEED); return rc; } /* * cfsetispeed -- intercept cfsetispeed */ int cfsetispeed(struct termios *termios_p,speed_t speed) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "cfsetispeed"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(struct termios *, speed_t))actual)(termios_p,speed); RECORD(CFSETISPEED); return rc; } /* * cfsetospeed -- intercept cfsetospeed */ int cfsetospeed(struct termios *termios_p,speed_t speed) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "cfsetospeed"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(struct termios *, speed_t))actual)(termios_p,speed); RECORD(CFSETOSPEED); return rc; } /* * cftime -- intercept cftime */ int cftime(char *s,char *format,const time_t *clock) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "cftime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(char *, char *, const time_t *))actual)(s,format,clock); RECORD(CFTIME); return rc; } /* * chdir -- intercept chdir */ int chdir(const char *path) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "chdir"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *))actual)(path); RECORD(CHDIR); return rc; } /* * chmod -- intercept chmod */ int chmod(const char *path,mode_t mode) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "chmod"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, mode_t))actual)(path,mode); RECORD(CHMOD); return rc; } /* * chown -- intercept chown */ int chown(const char *path,uid_t owner,gid_t group) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "chown"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, uid_t, gid_t ))actual)(path,owner,group); RECORD(CHOWN); return rc; } /* * chroot -- intercept chroot */ int chroot(const char *path) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "chroot"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *))actual)(path); RECORD(CHROOT); return rc; } /* * clearerr -- don't intercept clearerr, it's can be a define */ /* * clock -- intercept clock */ clock_t clock(void) { static void *actual = NULL; DECLARE_TIME; clock_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "clock"); assert(actual != NULL); } COLLECT_TZERO; rc = ((clock_t (*)(void))actual)(); RECORD(CLOCK); return rc; } /* * close -- intercept close */ int close(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "close"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(CLOSE); return rc; } /* * closedir -- intercept closedir */ int closedir(DIR *dirp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "closedir"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(DIR *))actual)(dirp); RECORD(CLOSEDIR); return rc; } /* * closefrom -- intercept closefrom */ void closefrom(int lowfd) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "closefrom"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(int ))actual)(lowfd); RECORD(CLOSEFROM); return; } /* * closelog -- intercept closelog */ void closelog(void) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "closelog"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void))actual)(); RECORD(CLOSELOG); return; } /* * confstr -- intercept confstr */ size_t confstr(int name,char *buf,size_t len) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "confstr"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(int, char *, size_t ))actual)(name,buf,len); RECORD(CONFSTR); return rc; } /* * creat -- intercept creat */ int creat(const char *path,mode_t mode) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "creat"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *,mode_t))actual)(path,mode); RECORD(CREAT); return rc; } /* * crypt -- intercept crypt */ char * crypt(const char *key,const char *salt) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "crypt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *, const char *))actual)(key,salt); RECORD(CRYPT); return rc; } /* * csetcol -- intercept csetcol */ int csetcol(int codeset) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "csetcol"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(codeset); RECORD(CSETCOL); return rc; } /* * csetlen -- intercept csetlen */ int csetlen(int codeset) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "csetlen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(codeset); RECORD(CSETLEN); return rc; } /* * ctermid -- intercept ctermid */ char * ctermid(char *s) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ctermid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *))actual)(s); RECORD(CTERMID); return rc; } /* * ctime -- intercept ctime */ char * ctime(const time_t *clock) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ctime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const time_t *))actual)(clock); RECORD(CTIME_); return rc; } /* * cuserid -- intercept cuserid */ char * cuserid(char *s) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "cuserid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *))actual)(s); RECORD(CUSERID); return rc; } /* * dcgettext -- intercept dcgettext */ char * dcgettext(const char *domainname,const char *msgid,const int category) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "dcgettext"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *, const char *, const int ))actual)(domainname,msgid, category); RECORD(DCGETTEXT); return rc; } /* * dcngettext -- intercept dcngettext */ char * dcngettext(const char *domainname,const char *msgid1,const char *msgid2,unsigned long int n,int category) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "dcngettext"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *, const char *, const char *, unsigned long int, int ))actual)(domainname,msgid1,msgid2, n, category); RECORD(DCNGETTEXT); return rc; } /* * dgettext -- intercept dgettext */ char * dgettext(const char *domainname,const char *msgid) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "dgettext"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *, const char *))actual)(domainname,msgid); RECORD(DGETTEXT); return rc; } /* * difftime -- intercept difftime */ double difftime(time_t time1,time_t time0) { static void *actual = NULL; DECLARE_TIME; double rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "difftime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((double (*)(time_t, time_t ))actual)(time1,time0); RECORD(DIFFTIME); return rc; } /* * directio -- intercept directio */ int directio(int fildes,int advice) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "directio"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, int ))actual)(fildes, advice); RECORD(DIRECTIO); return rc; } /* * dirname -- intercept dirname */ char * dirname(char *path) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "dirname"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *))actual)(path); RECORD(DIRNAME); return rc; } /* * div -- intercept div */ div_t div(int numer,int denom) { static void *actual = NULL; DECLARE_TIME; div_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "div"); assert(actual != NULL); } COLLECT_TZERO; rc = ((div_t (*)(int,int))actual)(numer,denom); RECORD(DIV); return rc; } /* * dngettext -- intercept dngettext */ char * dngettext(const char *domainname,const char *msgid1,const char *msgid2,unsigned long int n) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "dngettext"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *, const char *, const char *, unsigned long int))actual)(domainname,msgid1,msgid2, n); RECORD(DNGETTEXT); return rc; } /* * drand48 -- intercept drand48 */ double drand48(void) { static void *actual = NULL; DECLARE_TIME; double rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "drand48"); assert(actual != NULL); } COLLECT_TZERO; rc = ((double (*)(void))actual)(); RECORD(DRAND48); return rc; } /* * dup -- intercept dup */ int dup(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "dup"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(DUP); return rc; } /* * dup2 -- intercept dup2 */ int dup2(int fildes,int fildes2) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "dup2"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, int ))actual)(fildes, fildes2); RECORD(DUP2); return rc; } /* * econvert -- intercept econvert */ char * econvert(double value,int ndigit,int *decpt,int *sign,char *buf) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "econvert"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(double, int, int *, int *, char *))actual)(value, ndigit,decpt,sign,buf); RECORD(ECONVERT); return rc; } /* * ecvt -- intercept ecvt */ char * ecvt(double value,int ndigit,int *decpt,int *sign) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ecvt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(double, int, int *, int *))actual)(value, ndigit,decpt,sign); RECORD(ECVT); return rc; } /* * encrypt -- intercept encrypt */ void encrypt(char block[64],int edflag) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "encrypt"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(char, int ))actual)(block[64], edflag); RECORD(ENCRYPT); return; } /* * endgrent -- intercept endgrent */ void endgrent(void) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "endgrent"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void))actual)(); RECORD(ENDGRENT); return; } /* * endnetgrent -- intercept endnetgrent */ int endnetgrent(void) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "endnetgrent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(void))actual)(); RECORD(ENDNETGRENT); return rc; } /* * endpwent -- intercept endpwent */ void endpwent(void) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "endpwent"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void))actual)(); RECORD(ENDPWENT); return; } /* * endspent -- intercept endspent */ void endspent(void) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "endspent"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void))actual)(); RECORD(ENDSPENT); return; } /* * endutent -- intercept endutent */ void endutent(void) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "endutent"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void))actual)(); RECORD(ENDUTENT); return; } /* * endutxent -- intercept endutxent */ void endutxent(void) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "endutxent"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void))actual)(); RECORD(ENDUTXENT); return; } /* * erand48 -- intercept erand48 */ double erand48(unsigned short xi[3] ) { static void *actual = NULL; DECLARE_TIME; double rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "erand48"); assert(actual != NULL); } COLLECT_TZERO; rc = ((double (*)(unsigned short ))actual)(xi[3]); RECORD(ERAND48); return rc; } /* * euccol -- intercept euccol */ int euccol(const unsigned char *s) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "euccol"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const unsigned char *))actual)(s); RECORD(EUCCOL); return rc; } /* * euclen -- intercept euclen */ int euclen(const unsigned char *s) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "euclen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const unsigned char *s))actual)(s); RECORD(EUCLEN); return rc; } /* * eucscol -- intercept eucscol */ int eucscol(const unsigned char *str) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "eucscol"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const unsigned char *))actual)(str); RECORD(EUCSCOL); return rc; } /* * execl -- don't intercept execl or its friends. */ /* * exit -- don't intercept exit or _exit. */ /* * facl -- intercept facl */ #if !defined(__linux) int facl(int fildes,int cmd,int nentries,aclent_t *aclbufp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "facl"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, int, int, aclent_t *))actual)(fildes, cmd, nentries,aclbufp); RECORD(FACL); return rc; } #endif /* Not linux */ /* * fattach -- intercept fattach */ int fattach(int fildes,const char *path) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fattach"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, const char *))actual)(fildes,path); RECORD(FATTACH); return rc; } /* * fchdir -- intercept fchdir */ int fchdir(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fchdir"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(FCHDIR); return rc; } /* * fchmod -- intercept fchmod */ int fchmod(int fildes,mode_t mode) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fchmod"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, mode_t))actual)(fildes,mode); RECORD(FCHMOD); return rc; } /* * fchown -- intercept fchown */ int fchown(int fildes,uid_t owner,gid_t group) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fchown"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, uid_t, gid_t ))actual)(fildes,owner,group); RECORD(FCHOWN); return rc; } /* * fchownat -- intercept fchownat */ int fchownat(int fildes,const char *path,uid_t owner,gid_t group,int flag) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fchownat"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, const char *, uid_t, gid_t, int ))actual)(fildes,path,owner,group, flag); RECORD(FCHOWNAT); return rc; } /* * fchroot -- intercept fchroot */ int fchroot(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fchroot"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(FCHROOT); return rc; } /* * fclose -- intercept fclose */ int fclose(FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fclose"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *))actual)(stream); RECORD(FCLOSE); return rc; } /* * fcntl -- intercept fcntl */ int fcntl(int fildes, int cmd, /* arg */ ...) { va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap, cmd); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fcntl"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, int, void *))actual)(fildes, cmd, va_arg(ap, void *)); RECORD(FCNTL); va_end(ap); return rc; } /* * fconvert -- intercept fconvert */ char * fconvert(double value,int ndigit,int *decpt,int *sign,char *buf) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fconvert"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(double, int, int *, int *, char *))actual)(value, ndigit,decpt,sign,buf); RECORD(FCONVERT); return rc; } /* * fcvt -- intercept fcvt */ char * fcvt(double value,int ndigit,int *decpt,int *sign) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fcvt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(double, int, int *, int *))actual)(value, ndigit,decpt,sign); RECORD(FCVT); return rc; } /* * fdetach -- intercept fdetach */ int fdetach(const char *path) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fdetach"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *))actual)(path); RECORD(FDETACH); return rc; } /* * fdopen -- intercept fdopen */ FILE * fdopen(int fildes,const char *mode) { static void *actual = NULL; DECLARE_TIME; FILE * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fdopen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((FILE * (*)(int, const char *))actual)(fildes,mode); RECORD(FDOPEN); return rc; } /* * fdopendir -- intercept fdopendir */ DIR * fdopendir(int fildes) { static void *actual = NULL; DECLARE_TIME; DIR * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fdopendir"); assert(actual != NULL); } COLLECT_TZERO; rc = ((DIR * (*)(int ))actual)(fildes); RECORD(FDOPENDIR); return rc; } /* * fdwalk -- intercept fdwalk */ int fdwalk(int (*func)(void *,int),void *cd) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fdwalk"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int (*)(void *,int),void *))actual)(func,cd); RECORD(FDWALK); return rc; } /* * feof -- don't intercept feof, it can be a define * ferror -- ditto */ /* * fflush -- intercept fflush */ int fflush(FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fflush"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *))actual)(stream); RECORD(FFLUSH); return rc; } /* * ffs -- intercept ffs */ int ffs(int i) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ffs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const int))actual)(i); RECORD(FFS); return rc; } /* * fgetc -- intercept fgetc */ int fgetc(FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgetc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *))actual)(stream); RECORD(FGETC); return rc; } /* * fgetgrent -- intercept fgetgrent */ struct group * fgetgrent(FILE *f) { static void *actual = NULL; DECLARE_TIME; struct group * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgetgrent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct group * (*)(FILE *))actual)(f); RECORD(FGETGRENT); return rc; } /* * fgetpos -- intercept fgetpos */ int fgetpos(FILE *stream,fpos_t *pos) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgetpos"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, fpos_t *))actual)(stream,pos); RECORD(FGETPOS); return rc; } /* * fgetpwent -- intercept fgetpwent */ struct passwd * fgetpwent(FILE *f) { static void *actual = NULL; DECLARE_TIME; struct passwd * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgetpwent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct passwd * (*)(FILE *))actual)(f); RECORD(FGETPWENT); return rc; } /* * fgets -- intercept fgets */ char * fgets(char *s,int n,FILE *stream) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgets"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *, int, FILE *))actual)(s, n,stream); RECORD(FGETS); return rc; } /* * fgetspent -- intercept fgetspent */ struct spwd * fgetspent(FILE *fp) { static void *actual = NULL; DECLARE_TIME; struct spwd * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgetspent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct spwd * (*)(FILE *))actual)(fp); RECORD(FGETSPENT); return rc; } /* * fgetwc -- intercept fgetwc */ wint_t fgetwc(FILE* stream) { static void *actual = NULL; DECLARE_TIME; wint_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgetwc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((wint_t (*)(FILE*))actual)(stream); RECORD(FGETWC); return rc; } /* * fgetws -- intercept fgetws */ wchar_t * fgetws(wchar_t *ws,int n,FILE *fp) { static void *actual = NULL; DECLARE_TIME; wchar_t * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fgetws"); assert(actual != NULL); } COLLECT_TZERO; rc = ((wchar_t * (*)(wchar_t *, int, FILE *))actual)(ws, n, fp); RECORD(FGETWS); return rc; } /* * fileno -- don't intercept fileno, it can be a define */ /* * finite -- intercept finite */ int finite(double dsrc) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "finite"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(double ))actual)(dsrc); RECORD(FINITE); return rc; } /* * flockfile -- intercept flockfile */ void flockfile(FILE *stream) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "flockfile"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(FILE *))actual)(stream); RECORD(FLOCKFILE); return; } /* * fmtmsg -- intercept fmtmsg */ int fmtmsg(long classification,const char *label,int severity,const char *text,const char *action,const char *tag) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fmtmsg"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(long, const char *, int, const char *, const char *, const char *))actual)(classification,label, severity,text,action,tag); RECORD(FMTMSG); return rc; } /* * fnmatch -- intercept fnmatch */ int fnmatch(const char *pattern,const char *string,int flags) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fnmatch"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, const char *, int ))actual)(pattern,string, flags); RECORD(FNMATCH); return rc; } /* * fopen -- intercept fopen */ FILE * fopen(const char *filename,const char *mode) { static void *actual = NULL; DECLARE_TIME; FILE * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fopen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((FILE * (*)(const char *, const char *))actual)(filename,mode); RECORD(FOPEN); return rc; } /* * fork -- intercept fork */ pid_t fork(void) { static void *actual = NULL; DECLARE_TIME; pid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fork"); assert(actual != NULL); } COLLECT_TZERO; rc = ((pid_t (*)(void))actual)(); RECORD(FORK); return rc; } /* * fork1 -- intercept fork1 */ pid_t fork1(void) { static void *actual = NULL; DECLARE_TIME; pid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fork1"); assert(actual != NULL); } COLLECT_TZERO; rc = ((pid_t (*)(void))actual)(); RECORD(FORK1); return rc; } /* * fpathconf -- intercept fpathconf */ long fpathconf(int fildes,int name) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpathconf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(int, int ))actual)(fildes, name); RECORD(FPATHCONF); return rc; } /* * fpclass -- intercept fpclass */ #if !defined(__linux) fpclass_t fpclass(double dsrc) { static void *actual = NULL; DECLARE_TIME; fpclass_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpclass"); assert(actual != NULL); } COLLECT_TZERO; rc = ((fpclass_t (*)(double))actual)(dsrc); RECORD(FPCLASS); return rc; } #endif /* Not linux */ /* * fpgetmask -- intercept fpgetmask */ #if !defined(__linux) fp_except fpgetmask(void) { static void *actual = NULL; DECLARE_TIME; fp_except rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpgetmask"); assert(actual != NULL); } COLLECT_TZERO; rc = ((fp_except (*)(void))actual)(); RECORD(FPGETMASK); return rc; } #endif /* Not linux */ /* * fpgetround -- intercept fpgetround */ #if !defined(__linux) fp_rnd fpgetround(void) { static void *actual = NULL; DECLARE_TIME; fp_rnd rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpgetround"); assert(actual != NULL); } COLLECT_TZERO; rc = ((fp_rnd (*)(void))actual)(); RECORD(FPGETROUND); return rc; } #endif /* Not linux */ /* * fpgetsticky -- intercept fpgetsticky */ #if !defined(__linux) fp_except fpgetsticky(void) { static void *actual = NULL; DECLARE_TIME; fp_except rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpgetsticky"); assert(actual != NULL); } COLLECT_TZERO; rc = ((fp_except (*)(void))actual)(); RECORD(FPGETSTICKY); return rc; } #endif /* Not linux */ /* * fprintf -- intercept fprintf, call underlying vfprintf */ int fprintf(FILE *stream,const char *format, ...) { va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap, format); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "vfprintf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, const char *, va_list))actual)(stream, format, ap); RECORD(FPRINTF); va_end(ap); return rc; } /* * fpsetmask -- intercept fpsetmask */ #if !defined(__linux) fp_except fpsetmask(fp_except mask) { static void *actual = NULL; DECLARE_TIME; fp_except rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpsetmask"); assert(actual != NULL); } COLLECT_TZERO; rc = ((fp_except (*)(fp_except))actual)(mask); RECORD(FPSETMASK); return rc; } #endif /* Not linux */ /* * fpsetround -- intercept fpsetround */ #if !defined(__linux) fp_rnd fpsetround(fp_rnd rnd_dir) { static void *actual = NULL; DECLARE_TIME; fp_rnd rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpsetround"); assert(actual != NULL); } COLLECT_TZERO; rc = ((fp_rnd (*)(fp_rnd ))actual)(rnd_dir); RECORD(FPSETROUND); return rc; } #endif /* Not linux */ /* * fpsetsticky -- intercept fpsetsticky */ #if !defined(__linux) fp_except fpsetsticky(fp_except sticky) { static void *actual = NULL; DECLARE_TIME; fp_except rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fpsetsticky"); assert(actual != NULL); } COLLECT_TZERO; rc = ((fp_except (*)(fp_except))actual)(sticky); RECORD(FPSETSTICKY); return rc; } #endif /* Not linux */ /* * fputc -- intercept fputc */ int fputc(int c,FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fputc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, FILE *))actual)(c,stream); RECORD(FPUTC); return rc; } /* * fputs -- intercept fputs */ int fputs(const char *s,FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fputs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *s, FILE *))actual)(s,stream); RECORD(FPUTS); return rc; } /* * fputwc -- intercept fputwc */ wint_t fputwc(wchar_t wc,FILE*stream) { static void *actual = NULL; DECLARE_TIME; wint_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fputwc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((wint_t (*)(wchar_t, FILE*))actual)(wc,stream); RECORD(FPUTWC); return rc; } /* * fputws -- intercept fputws */ int fputws(const wchar_t *s,FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fputws"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const wchar_t *s, FILE *))actual)(s,stream); RECORD(FPUTWS); return rc; } /* * fread -- intercept fread */ size_t fread(void *ptr,size_t size,size_t nitems,FILE *stream) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fread"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(void *, size_t, size_t, FILE *))actual)(ptr,size,nitems,stream); RECORD(FREAD); return rc; } /* * free -- intercept free */ void free(void *ptr) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "free"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void *))actual)(ptr); RECORD(FREE); return; } /* * freopen -- intercept freopen */ FILE * freopen(const char *filename,const char *mode,FILE *stream) { static void *actual = NULL; DECLARE_TIME; FILE * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "freopen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((FILE * (*)(const char *, const char *, FILE *))actual)(filename,mode,stream); RECORD(FREOPEN); return rc; } /* * frexp -- intercept frexp */ double frexp(double num,int *exp) { static void *actual = NULL; DECLARE_TIME; double rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "frexp"); assert(actual != NULL); } COLLECT_TZERO; rc = ((double (*)(double, int *))actual)(num,exp); RECORD(FREXP); return rc; } /* * fscanf -- intercept fscanf, call underlying vfscanf */ int fscanf(FILE*stream,const char *format,...) { va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap, format); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "vfscanf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *,const char *, va_list))actual)(stream,format,ap); RECORD(FSCANF); va_end(ap); return rc; } /* * fseek -- intercept fseek */ int fseek(FILE *stream,long offset,int whence) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fseek"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, long, int ))actual)(stream,offset, whence); RECORD(FSEEK); return rc; } /* * fseeko -- intercept fseeko */ int fseeko(FILE *stream,off_t offset,int whence) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fseeko"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, off_t, int ))actual)(stream,offset, whence); RECORD(FSEEKO); return rc; } /* * fsetpos -- intercept fsetpos */ int fsetpos(FILE *stream,const fpos_t *pos) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fsetpos"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, const fpos_t *))actual)(stream,pos); RECORD(FSETPOS); return rc; } /* * fstat -- intercept fstat */ int fstat(int fildes,struct stat *buf) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fstat"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, struct stat *))actual)(fildes,buf); RECORD(FSTAT); return rc; } /* * fstatat -- intercept fstatat */ int fstatat(int fildes,const char *path,struct stat *buf,int flag) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fstatat"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, const char *, struct stat *, int ))actual)(fildes,path,buf, flag); RECORD(FSTATAT); return rc; } /* * fstatvfs -- intercept fstatvfs */ int fstatvfs(int fildes,struct statvfs *buf) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fstatvfs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, struct statvfs *))actual)(fildes,buf); RECORD(FSTATVFS); return rc; } /* * fsync -- intercept fsync */ int fsync(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fsync"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(FSYNC); return rc; } /* * ftell -- intercept ftell */ long ftell(FILE *stream) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ftell"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(FILE *))actual)(stream); RECORD(FTELL); return rc; } /* * ftello -- intercept ftello */ off_t ftello(FILE *stream) { static void *actual = NULL; DECLARE_TIME; off_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ftello"); assert(actual != NULL); } COLLECT_TZERO; rc = ((off_t (*)(FILE *))actual)(stream); RECORD(FTELLO); return rc; } /* * ftime -- intercept ftime */ int ftime(struct timeb *tp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ftime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(struct timeb *))actual)(tp); RECORD(FTIME); return rc; } /* * ftok -- intercept ftok */ key_t ftok(const char *path,int id) { static void *actual = NULL; DECLARE_TIME; key_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ftok"); assert(actual != NULL); } COLLECT_TZERO; rc = ((key_t (*)(const char *, int ))actual)(path, id); RECORD(FTOK); return rc; } /* * ftruncate -- intercept ftruncate */ int ftruncate(int fildes,off_t length) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ftruncate"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, off_t ))actual)(fildes,length); RECORD(FTRUNCATE); return rc; } /* * ftrylockfile -- intercept ftrylockfile */ int ftrylockfile(FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ftrylockfile"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *))actual)(stream); RECORD(FTRYLOCKFILE); return rc; } #ifdef FTW_OK /* * ftw -- intercept ftw */ int ftw(const char *path,int (*fn)(const char *,const struct stat *,int),int depth) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ftw"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *,int (*)(const char *,const struct stat *,int),int))actual)(path,fn,depth); RECORD(FTW); return rc; } #endif /* * funlockfile -- intercept funlockfile */ void funlockfile(FILE *stream) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "funlockfile"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(FILE *))actual)(stream); RECORD(FUNLOCKFILE); return; } /* * futimesat -- intercept futimesat */ int futimesat(int fildes,const char *path,const struct timeval times[2]) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "futimesat"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, const char *, const struct timeval[2]))actual)(fildes,path,times); RECORD(FUTIMESAT); return rc; } /* * fwide -- intercept fwide */ int fwide(FILE *stream,int mode) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fwide"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, int ))actual)(stream, mode); RECORD(FWIDE); return rc; } /* * fwprintf -- intercept fwprintf, call underlying vfwprintf */ int fwprintf(FILE *stream,const wchar_t *format,...) { va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap, format); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "vfwprintf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *,const wchar_t *, va_list))actual)(stream,format,ap); RECORD(FWPRINTF); va_end(ap); return rc; } /* * fwrite -- intercept fwrite */ size_t fwrite(const void *ptr,size_t size,size_t nitems,FILE *stream) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "fwrite"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(const void *, size_t, size_t, FILE *))actual)(ptr,size,nitems,stream); RECORD(FWRITE); return rc; } /* * fwscanf -- intercept fwscanf, call underlying vfwscanf */ int fwscanf(FILE *stream,const wchar_t *format,...) { va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap,format); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "vfwscanf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, const wchar_t *, va_list))actual)(stream,format,ap); RECORD(FWSCANF); va_end(ap); return rc; } /* * gconvert -- intercept gconvert */ char * gconvert(double value,int ndigit,int trailing,char *buf) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gconvert"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(double, int, int, char *))actual)(value, ndigit, trailing,buf); RECORD(GCONVERT); return rc; } /* * gcvt -- intercept gcvt */ char * gcvt(double value,int ndigit,char *buf) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gcvt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(double, int, char *))actual)(value, ndigit,buf); RECORD(GCVT); return rc; } /* * getacct -- intercept getacct */ size_t getacct(idtype_t idtype,id_t id,void *buf,size_t bufsize) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getacct"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(idtype_t, id_t, void *, size_t ))actual)(idtype,id,buf,bufsize); RECORD(GETACCT); return rc; } /* * getc -- don't intercept getc, it can be a define * getchar -- ditto */ /* * getcontext -- intercept getcontext */ int getcontext(ucontext_t *ucp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getcontext"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(ucontext_t *))actual)(ucp); RECORD(GETCONTEXT_); return rc; } /* * getcpuid -- intercept getcpuid */ #if !defined(__linux) processorid_t getcpuid(void) { static void *actual = NULL; DECLARE_TIME; processorid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getcpuid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((processorid_t (*)(void))actual)(); RECORD(GETCPUID); return rc; } #endif /* Not linux */ /* * getcwd -- intercept getcwd */ char * getcwd(char *buf,size_t size) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getcwd"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *, size_t))actual)(buf,size); RECORD(GETCWD); return rc; } /* * getdate -- intercept getdate */ struct tm * getdate(const char *string) { static void *actual = NULL; DECLARE_TIME; struct tm * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getdate"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct tm * (*)(const char *))actual)(string); RECORD(GETDATE); return rc; } /* * getdents -- intercept getdents */ int getdents(int fildes,struct dirent *buf,size_t nbyte) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getdents"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, struct dirent *, size_t ))actual)(fildes,buf,nbyte); RECORD(GETDENTS); return rc; } /* * getdtablesize -- intercept getdtablesize */ int getdtablesize(void) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getdtablesize"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(void))actual)(); RECORD(GETDTABLESIZE); return rc; } /* * getegid -- intercept getegid */ gid_t getegid(void) { static void *actual = NULL; DECLARE_TIME; gid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getegid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((gid_t (*)(void))actual)(); RECORD(GETEGID); return rc; } /* * getenv -- intercept getenv */ char * getenv(const char *name) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getenv"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *))actual)(name); RECORD(GETENV); return rc; } /* * geteuid -- intercept geteuid */ uid_t geteuid(void) { static void *actual = NULL; DECLARE_TIME; uid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "geteuid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((uid_t (*)(void))actual)(); RECORD(GETEUID); return rc; } /* * getexecname -- intercept getexecname */ const char * getexecname(void) { static void *actual = NULL; DECLARE_TIME; const char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getexecname"); assert(actual != NULL); } COLLECT_TZERO; rc = ((const char * (*)(void))actual)(); RECORD(GETEXECNAME); return rc; } /* * getextmntent -- intercept getextmntent */ #if !defined(__linux) int getextmntent(FILE *fp,struct extmnttab *mp, uint_t len) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getextmntent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, struct extmnttab *, uint_t ))actual)(fp,mp, len); RECORD(GETEXTMNTENT); return rc; } #endif /* Not linux */ /* * getgid -- intercept getgid */ gid_t getgid(void) { static void *actual = NULL; DECLARE_TIME; gid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getgid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((gid_t (*)(void))actual)(); RECORD(GETGID); return rc; } /* * getgrent -- intercept getgrent */ struct group * getgrent(void) { static void *actual = NULL; DECLARE_TIME; struct group * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getgrent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct group * (*)(void))actual)(); RECORD(GETGRENT); return rc; } /* * getgrgid -- intercept getgrgid */ struct group * getgrgid(gid_t gid) { static void *actual = NULL; DECLARE_TIME; struct group * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getgrgid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct group * (*)(gid_t))actual)(gid); RECORD(GETGRGID); return rc; } /* * getgrnam -- intercept getgrnam */ struct group * getgrnam(const char *name) { static void *actual = NULL; DECLARE_TIME; struct group * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getgrnam"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct group * (*)(const char *))actual)(name); RECORD(GETGRNAM); return rc; } /* * getgroups -- intercept getgroups */ int getgroups(int gidsetsize,gid_t *grouplist) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getgroups"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, gid_t *))actual)(gidsetsize,grouplist); RECORD(GETGROUPS); return rc; } /* * gethomelgroup -- intercept gethomelgroup */ #if !defined(__linux) lgrpid_t gethomelgroup(void) { static void *actual = NULL; DECLARE_TIME; lgrpid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gethomelgroup"); assert(actual != NULL); } COLLECT_TZERO; /* Lint thinks this is a 64-to-32-bit assignment. However, rc is properly declared lgrpid_t */ rc = ((lgrpid_t (*)(void))actual)(); RECORD(GETHOMELGROUP); return rc; } #endif /* Not linux */ /* * gethostid -- intercept gethostid */ long gethostid(void) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gethostid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(void))actual)(); RECORD(GETHOSTID); return rc; } /* * gethostname -- intercept gethostname */ #undef CAST #if defined(__sun) int gethostname(char *name,int namelen) { #define CAST (int (*)(char *, int )) #elif defined(__linux) int gethostname(char *name, size_t namelen) { #define CAST (int (*)(char *, size_t )) #endif static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gethostname"); assert(actual != NULL); } COLLECT_TZERO; rc = (CAST actual)(name, namelen); RECORD(GETHOSTNAME); return rc; } /* * gethrtime -- don't intercept gethrtime, we use it! * Intercepting it is also wasted effort, as it's * really only about four instructions long... */ /* * gethrvtime -- intercept gethrvtime */ #if !defined(__linux) hrtime_t gethrvtime(void) { static void *actual = NULL; DECLARE_TIME; hrtime_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gethrvtime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((hrtime_t (*)(void))actual)(); RECORD(GETHRVTIME); return rc; } #endif /* Not linux */ /* * getitimer -- intercept getitimer */ int getitimer(int which,struct itimerval *value) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getitimer"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, struct itimerval *))actual)(which,value); RECORD(GETITIMER); return rc; } /* * getloadavg -- intercept getloadavg */ int getloadavg(double *loadavg, int nelem) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getloadavg"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(double *, int ))actual)(loadavg, nelem); RECORD(GETLOADAVG); return rc; } /* * getlogin -- intercept getlogin */ char * getlogin(void) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getlogin"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(void))actual)(); RECORD(GETLOGIN); return rc; } /* * getmntany -- intercept getmntany */ #if !defined(__linux) int getmntany(FILE *fp,struct mnttab *mp,struct mnttab *mpref) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getmntany"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, struct mnttab *, struct mnttab *))actual)(fp,mp,mpref); RECORD(GETMNTANY); return rc; } #endif /* Not linux */ /* * getmntent -- intercept getmntent */ #if !defined(__linux) int getmntent(FILE *fp,struct mnttab *mp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getmntent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, struct mnttab *))actual)(fp,mp); RECORD(GETMNTENT); return rc; } #endif /* Not linux */ /* * getmsg -- intercept getmsg */ int getmsg(int fildes,struct strbuf *ctlptr,struct strbuf *dataptr,int *flagsp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getmsg"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int,struct strbuf *,struct strbuf *,int *))actual)(fildes,ctlptr,dataptr,flagsp); RECORD(GETMSG); return rc; } /* * getnetgrent -- intercept getnetgrent */ int getnetgrent(char **machinep,char **userp,char **domainp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getnetgrent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(char **, char **, char **))actual)(machinep,userp,domainp); RECORD(GETNETGRENT); return rc; } /* * getopt -- intercept getopt */ int getopt(int argc,char * const *argv,const char *optstring) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getopt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, char * const *, const char *))actual)(argc,argv,optstring); RECORD(GETOPT); return rc; } /* * getpagesize -- intercept getpagesize */ int getpagesize(void) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpagesize"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(void))actual)(); RECORD(GETPAGESIZE); return rc; } /* * getpagesizes -- intercept getpagesizes */ int getpagesizes(size_t *pagesize, int nelem) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpagesizes"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(size_t *, int ))actual)(pagesize, nelem); RECORD(GETPAGESIZES); return rc; } /* * getpass -- intercept getpass */ char * getpass(const char *prompt) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpass"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *))actual)(prompt); RECORD(GETPASS); return rc; } /* * getpassphrase -- intercept getpassphrase */ char * getpassphrase(const char *prompt) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpassphrase"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *))actual)(prompt); RECORD(GETPASSPHRASE); return rc; } /* * getpgid -- intercept getpgid */ pid_t getpgid(pid_t pid) { static void *actual = NULL; DECLARE_TIME; pid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpgid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((pid_t (*)(pid_t))actual)(pid); RECORD(GETPGID); return rc; } /* * getpgrp -- intercept getpgrp */ pid_t getpgrp(void) { static void *actual = NULL; DECLARE_TIME; pid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpgrp"); assert(actual != NULL); } COLLECT_TZERO; rc = ((pid_t (*)(void))actual)(); RECORD(GETPGRP); return rc; } /* * getpid -- intercept getpid */ pid_t getpid(void) { static void *actual = NULL; DECLARE_TIME; pid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((pid_t (*)(void))actual)(); RECORD(GETPID_); return rc; } /* * getpmsg -- intercept getpmsg */ int getpmsg(int fildes,struct strbuf *ctlptr,struct strbuf *dataptr,int *bandp,int *flagsp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpmsg"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, struct strbuf *, struct strbuf *, int *, int *))actual)(fildes,ctlptr,dataptr,bandp,flagsp); RECORD(GETPMSG); return rc; } /* * getppid -- intercept getppid */ pid_t getppid(void) { static void *actual = NULL; DECLARE_TIME; pid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getppid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((pid_t (*)(void))actual)(); RECORD(GETPPID); return rc; } /* * getpriority -- intercept getpriority */ int getpriority(int which,id_t who) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpriority"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, id_t ))actual)(which,who); RECORD(GETPRIORITY); return rc; } /* * getprojid -- intercept getprojid */ #if !defined(__linux) projid_t getprojid(void) { static void *actual = NULL; DECLARE_TIME; projid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getprojid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((projid_t (*)(void))actual)(); RECORD(GETPROJID); return rc; } #endif /* Not linux */ /* * getpw -- intercept getpw */ int getpw(uid_t uid,char *buf) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpw"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(uid_t, char *))actual)(uid,buf); RECORD(GETPW); return rc; } /* * getpwent -- intercept getpwent */ struct passwd * getpwent(void) { static void *actual = NULL; DECLARE_TIME; struct passwd * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpwent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct passwd * (*)(void))actual)(); RECORD(GETPWENT); return rc; } /* * getpwnam -- intercept getpwnam */ struct passwd * getpwnam(const char *name) { static void *actual = NULL; DECLARE_TIME; struct passwd * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpwnam"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct passwd * (*)(const char *))actual)(name); RECORD(GETPWNAM); return rc; } /* * getpwuid -- intercept getpwuid */ struct passwd * getpwuid(uid_t uid) { static void *actual = NULL; DECLARE_TIME; struct passwd * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getpwuid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct passwd * (*)(uid_t))actual)(uid); RECORD(GETPWUID); return rc; } /* * getrctl -- intercept getrctl */ #if defined(__sun) int getrctl(const char *controlname,rctlblk_t *old_blk,rctlblk_t *new_blk, int flags) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getrctl"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, rctlblk_t *, rctlblk_t *, uint_t ))actual)(controlname,old_blk,new_blk,flags); RECORD(GETRCTL); return rc; } #endif /* * getrlimit -- intercept getrlimit */ int getrlimit(int resource,struct rlimit *rlp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getrlimit"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, struct rlimit *))actual)(resource,rlp); RECORD(GETRLIMIT); return rc; } /* * getrusage -- intercept getrusage */ int getrusage(int who,struct rusage *r_usage) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getrusage"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, struct rusage *))actual)(who,r_usage); RECORD(GETRUSAGE); return rc; } /* * gets -- intercept gets */ char * gets(char *s) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gets"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *))actual)(s); RECORD(GETS); return rc; } /* * getsid -- intercept getsid */ pid_t getsid(pid_t pid) { static void *actual = NULL; DECLARE_TIME; pid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getsid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((pid_t (*)(pid_t))actual)(pid); RECORD(GETSID); return rc; } /* * getspent -- intercept getspent */ struct spwd * getspent(void) { static void *actual = NULL; DECLARE_TIME; struct spwd * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getspent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct spwd * (*)(void))actual)(); RECORD(GETSPENT); return rc; } /* * getspnam -- intercept getspnam */ struct spwd * getspnam(const char *name) { static void *actual = NULL; DECLARE_TIME; struct spwd * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getspnam"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct spwd * (*)(const char *))actual)(name); RECORD(GETSPNAM); return rc; } /* * getsubopt -- intercept getsubopt */ int getsubopt(char **optionp,char * const *tokens,char **valuep) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getsubopt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(char **, char * const *, char **))actual)(optionp,tokens,valuep); RECORD(GETSUBOPT); return rc; } /* * gettaskid -- intercept gettaskid */ #if defined(__sun) taskid_t gettaskid(void) { static void *actual = NULL; DECLARE_TIME; taskid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gettaskid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((taskid_t (*)(void))actual)(); RECORD(GETTASKID); return rc; } #endif /* * gettext -- intercept gettext */ char * gettext(const char *msgid) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gettext"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *))actual)(msgid); RECORD(GETTEXT); return rc; } /* * gettimeofday -- don't intercept gettimeofday, it's used * in every interceptor, in versions not using gethrtime. */ /* * gettxt -- intercept gettxt */ char * gettxt(const char *msgid,const char *dflt_str) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gettxt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *, const char *))actual)(msgid,dflt_str); RECORD(GETTXT); return rc; } /* * getuid -- intercept getuid */ uid_t getuid(void) { static void *actual = NULL; DECLARE_TIME; uid_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getuid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((uid_t (*)(void))actual)(); RECORD(GETUID); return rc; } /* * getustack -- intercept getustack */ int getustack(stack_t **spp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getustack"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(stack_t **))actual)(spp); RECORD(GETUSTACK_); return rc; } /* * getutent -- intercept getutent */ struct utmp * getutent(void) { static void *actual = NULL; DECLARE_TIME; struct utmp * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct utmp * (*)(void))actual)(); RECORD(GETUTENT); return rc; } /* * getutid -- intercept getutid */ struct utmp * getutid(const struct utmp *id) { static void *actual = NULL; DECLARE_TIME; struct utmp * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct utmp * (*)(const struct utmp *))actual)(id); RECORD(GETUTID); return rc; } /* * getutline -- intercept getutline */ struct utmp * getutline(const struct utmp *line) { static void *actual = NULL; DECLARE_TIME; struct utmp * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutline"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct utmp * (*)(const struct utmp *))actual)(line); RECORD(GETUTLINE); return rc; } /* * getutmp -- intercept getutmp */ void getutmp(const struct utmpx * utmpx,struct utmp *utmp) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutmp"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(const struct utmpx *, struct utmp *))actual)(utmpx,utmp); RECORD(GETUTMP); return; } /* * getutmpx -- intercept getutmpx */ void getutmpx(const struct utmp *utmp,struct utmpx *utmpx) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutmpx"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(const struct utmp *, struct utmpx *))actual)(utmp,utmpx); RECORD(GETUTMPX); return; } /* * getutxent -- intercept getutxent */ struct utmpx * getutxent(void) { static void *actual = NULL; DECLARE_TIME; struct utmpx * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutxent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct utmpx * (*)(void))actual)(); RECORD(GETUTXENT); return rc; } /* * getutxid -- intercept getutxid */ struct utmpx * getutxid(const struct utmpx *id) { static void *actual = NULL; DECLARE_TIME; struct utmpx * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutxid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct utmpx * (*)(const struct utmpx *))actual)(id); RECORD(GETUTXID); return rc; } /* * getutxline -- intercept getutxline */ struct utmpx * getutxline(const struct utmpx *line) { static void *actual = NULL; DECLARE_TIME; struct utmpx * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getutxline"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct utmpx * (*)(const struct utmpx *))actual)(line); RECORD(GETUTXLINE); return rc; } /* * getvfsany -- intercept getvfsany. Vfstab functions are Sun-specific. */ #if defined(__sun) int getvfsany(FILE * fp,struct vfstab *vp,struct vfstab *vref) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getvfsany"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, struct vfstab *, struct vfstab *))actual)(fp,vp,vref); RECORD(GETVFSANY); return rc; } #endif /* * getvfsent -- intercept getvfsent */ #if defined(__sun) int getvfsent(FILE *fp,struct vfstab *vp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getvfsent"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, struct vfstab *))actual)(fp,vp); RECORD(GETVFSENT); return rc; } #endif /* * getvfsfile -- intercept getvfsfile */ #if defined(__sun) int getvfsfile(FILE *fp,struct vfstab *vp,char *file) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getvfsfile"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, struct vfstab *, char *))actual)(fp,vp,file); RECORD(GETVFSFILE); return rc; } #endif /* * getvfsspec -- intercept getvfsspec */ #if defined(__sun) int getvfsspec(FILE *fp ,struct vfstab *vp,char *spec) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getvfsspec"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, struct vfstab *, char *))actual)(fp,vp,spec); RECORD(GETVFSSPEC); return rc; } #endif /* * getw -- intercept getw */ int getw(FILE *stream) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getw"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *))actual)(stream); RECORD(GETW); return rc; } /* * getwc -- intercept getwc */ wint_t getwc(FILE *stream) { static void *actual = NULL; DECLARE_TIME; wint_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getwc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((wint_t (*)(FILE *))actual)(stream); RECORD(GETWC); return rc; } /* * getwchar -- intercept getwchar */ wint_t getwchar(void) { static void *actual = NULL; DECLARE_TIME; wint_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getwchar"); assert(actual != NULL); } COLLECT_TZERO; rc = ((wint_t (*)(void))actual)(); RECORD(GETWCHAR); return rc; } /* * getwd -- intercept getwd */ char * getwd(char *path_name) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getwd"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(char *))actual)(path_name); RECORD(GETWD); return rc; } /* * getwidth -- intercept getwidth */ #if !defined(__linux) void getwidth(eucwidth_t *ptr) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getwidth"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(eucwidth_t *))actual)(ptr); RECORD(GETWIDTH); return; } #endif /* Not linux */ /* * getws -- intercept getws */ wchar_t * getws(wchar_t *ws) { static void *actual = NULL; DECLARE_TIME; wchar_t * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "getws"); assert(actual != NULL); } COLLECT_TZERO; rc = ((wchar_t * (*)(wchar_t *))actual)(ws); RECORD(GETWS); return rc; } /* * glob -- intercept glob */ int glob(const char *pattern,int flags,int (*errfunc)(const char *epath,int eerrno),glob_t *pglob) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "glob"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *,int,int(*)(const char *,int),glob_t *))actual)(pattern,flags,errfunc,pglob); RECORD(GLOB); return rc; } /* * globfree -- intercept globfree */ void globfree(glob_t *pglob) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "globfree"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(glob_t *))actual)(pglob); RECORD(GLOBFREE); return; } /* * gmtime -- intercept gmtime */ struct tm * gmtime(const time_t *clock) { static void *actual = NULL; DECLARE_TIME; struct tm * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gmtime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct tm * (*)(const time_t *))actual)(clock); RECORD(GMTIME); return rc; } /* * grantpt -- intercept grantpt */ int grantpt(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "grantpt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(GRANTPT); return rc; } /* * gsignal -- intercept gsignal */ int gsignal(int sig) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "gsignal"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(sig); RECORD(GSIGNAL); return rc; } /* * hasmntopt -- intercept hasmntopt */ #if !defined(__linux) char * hasmntopt(struct mnttab *mnt,char *opt) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "hasmntopt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(struct mnttab *, char *))actual)(mnt,opt); RECORD(HASMNTOPT); return rc; } #endif /* Not linux.*/ /* * hcreate -- intercept hcreate */ int hcreate(size_t mekments) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "hcreate"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(size_t ))actual)(mekments); RECORD(HCREATE); return rc; } /* * hdestroy -- intercept hdestroy */ void hdestroy(void) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "hdestroy"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void))actual)(); RECORD(HDESTROY); return; } /* * hsearch -- intercept hsearch */ ENTRY * hsearch(ENTRY item,ACTION action) { static void *actual = NULL; DECLARE_TIME; ENTRY * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "hsearch"); assert(actual != NULL); } COLLECT_TZERO; rc = ((ENTRY * (*)(ENTRY, ACTION))actual)(item, action); RECORD(HSEARCH); return rc; } /* * iconv -- intercept iconv */ #undef CAST #if defined(__sun) size_t iconv(iconv_t cd,const char **inbuf,size_t *inbytesleft,char **outbuf,size_t *outbytesleft) { #define CAST (size_t (*)(iconv_t,const char **, size_t *, char **, size_t *)) #elif defined(__linux) size_t iconv(iconv_t cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft) { #define CAST (size_t (*)(iconv_t,char **, size_t *, char **, size_t *)) #endif static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "iconv"); assert(actual != NULL); } COLLECT_TZERO; rc = (CAST actual)(cd,inbuf,inbytesleft,outbuf,outbytesleft); RECORD(ICONV); return rc; } /* * index -- intercept index */ char * index(const char *s,int c) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "index"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(const char *s, int ))actual)(s, c); RECORD(INDEX); return rc; } /* * initgroups -- intercept initgroups */ int initgroups(const char *name,gid_t basegid) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "initgroups"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, gid_t ))actual)(name,basegid); RECORD(INITGROUPS); return rc; } /* * initstate -- intercept initstate */ char * initstate(unsigned int seed,char *state,size_t size) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "initstate"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(unsigned int, char *, size_t))actual)(seed,state,size); RECORD(INITSTATE); return rc; } /* * innetgr -- intercept innetgr */ int innetgr(const char *netgroup,const char *machine,const char *user,const char *domain) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "innetgr"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, const char *, const char *, const char *))actual)(netgroup,machine,user,domain); RECORD(INNETGR); return rc; } /* * insque -- intercept insque */ void insque(void *elem,void *pred) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "insque"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(void *, void *))actual)(elem,pred); RECORD(INSQUE); return; } /* * ioctl -- intercept ioctl */ #undef CAST #if defined(__sun) int ioctl(int fildes,int request,/* arg */ ...) { #define CAST (int (*)(int, int, void *)) #elif defined(__linux) int ioctl (int fildes, unsigned long int request, ...) { #define CAST (int (*)(int, unsigned long, void *)) #endif va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap, request); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ioctl"); assert(actual != NULL); } COLLECT_TZERO; rc = (CAST actual)(fildes, request, va_arg(ap, void *)); RECORD(IOCTL); va_end(ap); return rc; } /* * isaexec -- intercept isaexec */ int isaexec(const char *path,char *const *argv,char *const *envp) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "isaexec"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, char * const *, char * const *))actual)(path,argv,envp); RECORD(ISAEXEC); return rc; } /* * isalnum -- don;t intercept isalnum, it's probably a define * isalpha -- ditto * isascii -- ditto */ /* * isastream -- intercept isastream -- might be a define */ int isastream(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "isastream"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(ISASTREAM); return rc; } /* * isatty -- intercept isatty -- may be a define */ int isatty(int fildes) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "isatty"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int ))actual)(fildes); RECORD(ISATTY); return rc; } /* * iscntrl -- dont intercept iscntrl, it's a define * isdigit -- * isgraph -- * islower -- */ /* * isnan -- intercept isnan */ int isnan(double dsrc) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "isnan"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(double ))actual)(dsrc); RECORD(ISNAN); return rc; } /* * isnand -- intercept isnand */ int isnand(double dsrc) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "isnand"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(double ))actual)(dsrc); RECORD(ISNAND); return rc; } /* * isnanf -- intercept isnanf */ int isnanf(float fsrc) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "isnanf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(float ))actual)(fsrc); RECORD(ISNANF); return rc; } /* * isprint -- don't intercept isprint either * ispunct -- */ /* * issetugid -- intercept issetugid */ int issetugid(void) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "issetugid"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(void))actual)(); RECORD(ISSETUGID); return rc; } /* * isspace -- don't intercept isspace * isupper -- * iswalpha -- * iswctype -- * isxdigit -- */ /* * jrand48 -- intercept jrand48 */ long jrand48(unsigned short *xi ) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "jrand48"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(unsigned short *))actual)(xi); RECORD(JRAND48); return rc; } /* * kill -- intercept kill */ int kill(pid_t pid,int sig) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "kill"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(pid_t, int ))actual)(pid, sig); RECORD(KILL); return rc; } /* * killpg -- intercept killpg */ int killpg(pid_t pgrp,int sig) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "killpg"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(pid_t, int ))actual)(pgrp, sig); RECORD(KILLPG); return rc; } /* * l64a -- intercept l64a */ char * l64a(long l) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "l64a"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(long))actual)(l); RECORD(L64A); return rc; } /* * labs -- intercept labs */ long labs(long lval) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "labs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(long ))actual)(lval); RECORD(LABS); return rc; } /* * lchown -- intercept lchown */ int lchown(const char *path,uid_t owner,gid_t group) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lchown"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, uid_t, gid_t ))actual)(path,owner,group); RECORD(LCHOWN); return rc; } /* * lckpwdf -- intercept lckpwdf */ int lckpwdf(void) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lckpwdf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(void))actual)(); RECORD(LCKPWDF); return rc; } /* * lcong48 -- intercept lcong48 */ void lcong48(unsigned short *param) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lcong48"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(unsigned short *))actual)(param); RECORD(LCONG48); return; } /* * ldexp -- intercept ldexp */ double ldexp(double x,int exp) { static void *actual = NULL; DECLARE_TIME; double rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ldexp"); assert(actual != NULL); } COLLECT_TZERO; rc = ((double (*)(double, int ))actual)(x, exp); RECORD(LDEXP); return rc; } /* * ldiv -- intercept ldiv */ ldiv_t ldiv(long int numer,long int denom) { static void *actual = NULL; DECLARE_TIME; ldiv_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "ldiv"); assert(actual != NULL); } COLLECT_TZERO; rc = ((ldiv_t (*)(long int,long int))actual)(numer,denom); RECORD(LDIV); return rc; } /* * lfind -- intercept lfind */ void * lfind(const void *key,const void *base,size_t *nelp,size_t width,int (*compar)(const void *,const void *)) { static void *actual = NULL; DECLARE_TIME; void * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lfind"); assert(actual != NULL); } COLLECT_TZERO; rc = ((void * (*)(const void *,const void *,size_t *,size_t ,int (*)(const void *,const void *)))actual)(key,base,nelp,width,compar); RECORD(LFIND); return rc; } /* * lfmt -- intercept lfmt, call underlying vlfmt */ int lfmt(FILE *stream,long flags,char *format,... /* arg*/) { va_list ap; static void *actual = NULL; DECLARE_TIME; int rc; va_start(ap, format); if (actual == NULL) { actual = dlsym(RTLD_NEXT, "vlfmt"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(FILE *, long, char *, va_list))actual)(stream,flags,format,ap); RECORD(LFMT); va_end(ap); return rc; } /* * link -- intercept link */ int link(const char *existing,const char *new) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "link"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, const char *))actual)(existing,new); RECORD(LINK); return rc; } /* * llabs -- intercept llabs */ long long llabs(long long llval) { static void *actual = NULL; DECLARE_TIME; long long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "llabs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long long (*)(long long))actual)(llval); RECORD(LLABS); return rc; } /* * lldiv -- intercept lldiv */ #if !defined(__linux) lldiv_t lldiv(long long numer,long long denom) { static void *actual = NULL; DECLARE_TIME; lldiv_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lldiv"); assert(actual != NULL); } COLLECT_TZERO; rc = ((lldiv_t (*)(long long,long long))actual)(numer,denom); RECORD(LLDIV); return rc; } #endif /* Not linux */ /* * llseek -- intercept llseek */ #if !defined(__linux) offset_t llseek(int fildes,offset_t offset,int whence) { static void *actual = NULL; DECLARE_TIME; offset_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "llseek"); assert(actual != NULL); } COLLECT_TZERO; rc = ((offset_t (*)(int, offset_t, int ))actual)(fildes,offset, whence); RECORD(LLSEEK); return rc; } #endif /* Not linux */ /* * lltostr -- intercept lltostr */ char * lltostr(long long value,char *endptr) { static void *actual = NULL; DECLARE_TIME; char * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lltostr"); assert(actual != NULL); } COLLECT_TZERO; rc = ((char * (*)(long long, char *))actual)(value,endptr); RECORD(LLTOSTR); return rc; } /* * localeconv -- intercept localeconv */ struct lconv * localeconv(void) { static void *actual = NULL; DECLARE_TIME; struct lconv * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "localeconv"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct lconv * (*)(void))actual)(); RECORD(LOCALECONV); return rc; } /* * localtime -- intercept localtime */ struct tm * localtime(const time_t *clock) { static void *actual = NULL; DECLARE_TIME; struct tm * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "localtime"); assert(actual != NULL); } COLLECT_TZERO; rc = ((struct tm * (*)(const time_t *))actual)(clock); RECORD(LOCALTIME); return rc; } /* * lockf -- intercept lockf */ int lockf(int fildes,int function,off_t size) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lockf"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(int, int, off_t ))actual)(fildes, function,size); RECORD(LOCKF); return rc; } /* * longjmp -- don''t intercept longjmp, it doesn't return */ /* * lrand48 -- intercept lrand48 */ long lrand48(void) { static void *actual = NULL; DECLARE_TIME; long rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lrand48"); assert(actual != NULL); } COLLECT_TZERO; rc = ((long (*)(void))actual)(); RECORD(LRAND48); return rc; } /* * lsearch -- intercept lsearch */ void * lsearch(const void *key,void *base,size_t *nelp,size_t width,int (*compar) (const void *,const void *)) { static void *actual = NULL; DECLARE_TIME; void * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lsearch"); assert(actual != NULL); } COLLECT_TZERO; rc = ((void * (*)(const void *,void *,size_t *,size_t ,int (*) (const void *,const void *)))actual)(key,base,nelp,width,compar); RECORD(LSEARCH); return rc; } /* * lseek -- intercept lseek */ off_t lseek(int fildes,off_t offset,int whence) { static void *actual = NULL; DECLARE_TIME; off_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lseek"); assert(actual != NULL); } COLLECT_TZERO; rc = ((off_t (*)(int, off_t, int ))actual)(fildes,offset, whence); RECORD(LSEEK); return rc; } /* * lstat -- intercept lstat */ int lstat(const char *path,struct stat *buf) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "lstat"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *, struct stat *))actual)(path,buf); RECORD(LSTAT); return rc; } /* * madvise -- intercept madvise */ #undef CAST #if defined(__sun) int madvise(caddr_t addr,size_t len,int advice) { #define CAST (int (*)(caddr_t, size_t, int )) #elif defined(__linux) int madvise(void * addr,size_t len,int advice) { #define CAST (int (*)(void *, size_t, int )) #endif static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "madvise"); assert(actual != NULL); } COLLECT_TZERO; rc = (CAST actual)(addr,len, advice); RECORD(MADVISE); return rc; } #ifdef MAKECONTEXT_OK /* * makecontext -- intercept makecontext */ void makecontext(ucontext_t *ucp,void(*func)(),int argc,...) { static void *actual = NULL; DECLARE_TIME; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "makecontext"); assert(actual != NULL); } COLLECT_TZERO; ((void (*)(ucontext_t *,void(*)(),int ,...))actual)(ucp,func,argc,...); RECORD(MAKECONTEXT); return; } #endif /* * malloc -- intercept malloc */ void * malloc(size_t size) { static void *actual = NULL; DECLARE_TIME; void * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "malloc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((void * (*)(size_t))actual)(size); RECORD(MALLOC); return rc; } /* * mblen -- intercept mblen */ int mblen(const char *s,size_t n) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "mblen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const char *s, size_t ))actual)(s,n); RECORD(MBLEN); return rc; } /* * mbrlen -- intercept mbrlen */ size_t mbrlen(const char *s,size_t n,mbstate_t *ps) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "mbrlen"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(const char *s, size_t, mbstate_t *))actual)(s,n,ps); RECORD(MBRLEN); return rc; } /* * mbrtowc -- intercept mbrtowc */ size_t mbrtowc(wchar_t *pwc,const char *s,size_t n,mbstate_t *ps) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "mbrtowc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(wchar_t *, const char *s, size_t, mbstate_t *))actual)(pwc,s,n,ps); RECORD(MBRTOWC); return rc; } /* * mbsinit -- intercept mbsinit */ int mbsinit(const mbstate_t *ps) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "mbsinit"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(const mbstate_t *))actual)(ps); RECORD(MBSINIT); return rc; } /* * mbsrtowcs -- intercept mbsrtowcs */ size_t mbsrtowcs(wchar_t *dst,const char **src,size_t len,mbstate_t *ps) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "mbsrtowcs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(wchar_t *, const char **, size_t, mbstate_t *))actual)(dst,src,len,ps); RECORD(MBSRTOWCS); return rc; } /* * mbstowcs -- intercept mbstowcs */ size_t mbstowcs(wchar_t *pwcs,const char *s,size_t n) { static void *actual = NULL; DECLARE_TIME; size_t rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "mbstowcs"); assert(actual != NULL); } COLLECT_TZERO; rc = ((size_t (*)(wchar_t *, const char *s, size_t ))actual)(pwcs,s,n); RECORD(MBSTOWCS); return rc; } /* * mbtowc -- intercept mbtowc */ int mbtowc(wchar_t *pwc,const char *s,size_t n) { static void *actual = NULL; DECLARE_TIME; int rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "mbtowc"); assert(actual != NULL); } COLLECT_TZERO; rc = ((int (*)(wchar_t *, const char *s, size_t ))actual)(pwc,s,n); RECORD(MBTOWC); return rc; } /* * memalign -- intercept memalign */ void * memalign(size_t alignment,size_t size) { static void *actual = NULL; DECLARE_TIME; void * rc; if (actual == NULL) { actual = dlsym(RTLD_NEXT, "memalign"); assert(actual != NULL); } COLLECT_TZERO; rc = ((vo