[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: gsort problem
From: |
Simon Wing-Tang |
Subject: |
RE: gsort problem |
Date: |
Mon, 22 May 2006 09:32:53 +1000 |
Hi Paul and Bob,
I probably should also mention that I'm not a big C programmer, but am
getting there. Here's the output of "cc -E tempname.c". I'm not sure if you
want the whole lot, it's appended below.
On a very quick check of the system header files the only reference I could
find to "__open" or "__open64" was in /usr/include/sys/fcntl.h and
/usr/conf/sys/fcntl.h which have the following lines...
fcntl.h:extern int __open64 __((const char *, int, ...));
fcntl.h:# define open __open64
fcntl.h: { return __open64(a,b,c); }
Oh, and here is the part of config.log regarding mkstemp...
===========================================================================================
configure:20328: checking for mkstemp
configure:20385: cc -o conftest -D_LARGEFILE64_SOURCE conftest.c >&5
configure:20391: $? = 0
configure:20395: test -z
|| test ! -s conftest.err
configure:20398: $? = 0
configure:20401: test -s conftest
configure:20404: $? = 0
configure:20417: result: yes
configure:20441: checking for mkstemp limitations
configure:20477: cc -o conftest -D_LARGEFILE64_SOURCE conftest.c >&5
configure:20480: $? = 0
configure:20482: ./conftest
configure:20485: $? = 1
configure: program exited with status 1
configure: failed program was:
| /* confdefs.h. */
| #define PACKAGE_NAME "GNU coreutils"
| #define PACKAGE_TARNAME "coreutils"
| #define PACKAGE_VERSION "5.94"
| #define PACKAGE_STRING "GNU coreutils 5.94"
| #define PACKAGE_BUGREPORT "address@hidden"
| #define PACKAGE "coreutils"
| #define VERSION "5.94"
| #define _GNU_SOURCE 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
.
. snip...
.
| #define HAVE_DECL_MEMRCHR 0
| #define HAVE_MEMSET 1
| #define mktime rpl_mktime
| #define HAVE_DECL_GETENV 1
| #define HAVE_MKSTEMP 1
| /* end confdefs.h. */
|
| # include <stdlib.h>
| # include <unistd.h>
| int main ()
| {
| int i;
| for (i = 0; i < 70; i++)
| {
| char template[] = "conftest.mkstemp/coXXXXXX";
| int fd = mkstemp (template);
| if (fd == -1)
| exit (1);
| close (fd);
| }
| exit (0);
| }
|
configure:20502: result: yes
===========================================================================================
Regards,
Simon
Output of "cc -E tempname.c"
===========================================================================================
# 1 "tempname.c"
# 24
# 1 "/usr/include/sys/types.h"
# 40
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 41 "/usr/include/sys/types.h"
# 1 "/usr/include/sys/_inttypes.h"
# 59
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 60 "/usr/include/sys/_inttypes.h"
# 86
typedef char int8_t;
typedef unsigned char uint8_t;
typedef short int16_t;
typedef unsigned short uint16_t;
typedef int int32_t;
typedef unsigned int uint32_t;
typedef int intfast_t;
typedef unsigned int uintfast_t;
typedef long long int64_t;
typedef unsigned long long uint64_t;
typedef int64_t intmax_t;
typedef uint64_t uintmax_t;
# 116
typedef long intptr_t;
typedef unsigned long uintptr_t;
# 127
typedef char int_least8_t;
typedef unsigned char uint_least8_t;
typedef int int_fast8_t;
typedef unsigned int uint_fast8_t;
typedef short int_least16_t;
typedef unsigned short uint_least16_t;
typedef int int_fast16_t;
typedef unsigned int uint_fast16_t;
typedef int int_least32_t;
typedef unsigned int uint_least32_t;
typedef int int_fast32_t;
typedef unsigned int uint_fast32_t;
typedef int64_t int_least64_t;
typedef int64_t int_fast64_t;
typedef uint64_t uint_least64_t;
typedef uint64_t uint_fast64_t;
# 192
typedef uint32_t ptr32_t;
typedef uint64_t ptr64_t;
# 202
# 42 "/usr/include/sys/types.h"
# 54
typedef int mqd_t;
typedef int32_t dev_t;
typedef uint32_t ino32_t;
# 73
typedef uint64_t ino64_t;
# 88
typedef unsigned long ino_t;
typedef uint16_t mode_t;
typedef uint16_t nlink_t;
typedef int32_t fpos32_t;
typedef int64_t fpos64_t;
typedef long fpos_t;
typedef uint32_t fsblkcnt32_t;
typedef uint64_t fsblkcnt64_t;
# 143
typedef unsigned long fsblkcnt_t;
typedef int32_t off32_t;
typedef int32_t sbsize32_t;
typedef uint32_t bsize32_t;
typedef int64_t off64_t;
# 168
typedef int64_t sbsize64_t;
typedef uint64_t bsize64_t;
# 179
typedef long off_t;
# 190
typedef long sbsize_t;
typedef unsigned long bsize_t;
typedef uint32_t fsfilcnt32_t;
typedef uint64_t fsfilcnt64_t;
# 213
typedef unsigned long fsfilcnt_t;
typedef int32_t blkcnt32_t;
typedef int64_t blkcnt64_t;
# 235
typedef long blkcnt_t;
typedef int32_t pid_t;
typedef int32_t lwpid_t;
typedef int32_t gid_t;
typedef int32_t uid_t;
typedef int32_t tid_t;
typedef long ssize_t;
typedef uint16_t __site_t;
typedef uint16_t __cnode_t;
# 289
typedef long time_t;
# 297
typedef unsigned long size_t;
# 304
typedef uint32_t clock_t;
typedef int32_t key_t;
typedef unsigned short __ushort;
typedef int32_t __daddr_t;
typedef char *__caddr_t;
typedef int32_t __swblk_t;
# 326
typedef __caddr_t caddr_t;
# 334
typedef int32_t id_t;
typedef uint32_t useconds_t;
# 346
typedef uint32_t rlim32_t;
typedef uint64_t rlim64_t;
# 364
typedef unsigned long rlim_t;
typedef __site_t site_t;
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned char ubit8;
typedef unsigned short ubit16;
typedef uint32_t ubit32;
typedef char sbit8;
typedef short sbit16;
typedef int32_t sbit32;
typedef __swblk_t swblk_t;
typedef __daddr_t daddr_t;
typedef __cnode_t cnode_t;
# 1 "/usr/include/machine/vmtypes.h"
# 45
typedef uintptr_t paddr_t;
# 57
typedef intptr_t page_t;
typedef int32_t pgcnt_t;
typedef uint32_t upgcnt_t;
typedef uint32_t physpfn_t;
typedef uintptr_t iophyspfn_t;
typedef uintptr_t pgaddr_t;
typedef uint32_t space_t;
typedef uint32_t prot_t;
# 392 "/usr/include/sys/types.h"
typedef unsigned long ulong_t;
typedef int16_t cnt_t;
typedef uint32_t cdno_t;
typedef uint16_t use_t;
typedef struct _physadr { intptr_t r[1]; } *physadr;
typedef struct _quad { long val[2]; } quad;
typedef int spu_t;
typedef int ldom_t;
typedef short cpu_t;
typedef struct lkinfo {
char *lk_name;
int lk_flags;
long lk_pad[2];
} lkinfo_t;
typedef unsigned long pl_t;
typedef int32_t aid_t;
# 436
typedef pid_t sid_t;
# 448
# 1 "/usr/include/sys/_fd_macros.h"
# 82
typedef int32_t __fd_mask;
# 91
typedef struct fd_set {
long fds_bits[(((2048)+(((sizeof(long) * 8))-1))/((sizeof(long) * 8))) ];
} fd_set;
# 148
# 449 "/usr/include/sys/types.h"
# 457
typedef __fd_mask fd_mask;
# 511
typedef int32_t dir_off_t;
# 533
# 25 "tempname.c"
# 1 "/usr/include/assert.h"
# 20
extern void __assert(char *, char *, int);
# 42
# 26 "tempname.c"
# 1 "/usr/include/errno.h"
# 28
extern int errno;
# 1 "/usr/include/sys/errno.h"
# 35
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 36 "/usr/include/sys/errno.h"
# 48
extern int errno;
# 251
# 31 "/usr/include/errno.h"
# 46
# 28 "tempname.c"
# 1 "/usr/include/stdio.h"
# 10
# 1 "/usr/include/sys/types.h"
# 533
# 11 "/usr/include/stdio.h"
# 37
typedef struct {
int __cnt;
unsigned char *__ptr;
unsigned char *__base;
unsigned short __flag;
unsigned char __fileL;
unsigned char __fileH;
} FILE;
typedef struct {
int __cnt;
unsigned char *__ptr;
unsigned char *__base;
unsigned short __flag;
unsigned char __fileL;
unsigned char __fileH;
unsigned char *__bufendp;
unsigned char *__newbase;
unsigned char __smbuf[8 +2*4];
void *__unused;
int __filler1;
char __filler2[8];
} _FILEX;
# 97
# 1 "/usr/include/sys/_null.h"
# 25
# 98 "/usr/include/stdio.h"
# 1 "/usr/include/sys/_size_t.h"
# 17
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 18 "/usr/include/sys/_size_t.h"
# 29
# 102 "/usr/include/stdio.h"
# 133
typedef double *__va_list;
# 172
extern FILE __iob[];
# 223
extern int remove(const char *);
extern int rename(const char *, const char *);
extern char *tmpnam(char *);
extern int fclose(FILE *);
extern int fflush(FILE *);
extern void setbuf(FILE *, char *);
extern int setvbuf(FILE *, char *, int, size_t);
extern int fprintf(FILE *, const char *, ...);
extern int fscanf(FILE *, const char *,...);
extern int printf(const char *,...);
extern int scanf(const char *,...);
extern int sprintf(char *, const char *,...);
extern int sscanf(const char *, const char *,...);
extern int fgetc(FILE *);
extern char *fgets(char *, int, FILE *);
extern int fputc(int, FILE *);
extern int fputs(const char *, FILE *);
extern int getc(FILE *);
extern int getchar(void);
extern char *gets(char *);
extern int putc(int, FILE *);
extern int putchar(int);
extern int puts(const char *);
extern int ungetc(int, FILE *);
extern FILE *tmpfile(void);
extern int fgetpos(FILE *, fpos_t *);
extern int fsetpos(FILE *, const fpos_t *);
extern FILE *fopen(const char *, const char *);
extern FILE *freopen(const char *, const char *, FILE *);
# 265
extern int fseek(FILE *, long int, int);
extern long int ftell(FILE *);
extern void rewind(FILE *);
extern void clearerr(FILE *);
extern int feof(FILE *);
extern int ferror(FILE *);
extern void perror(const char *);
# 361
extern size_t fread(void *, size_t, size_t, FILE *);
extern size_t fwrite(const void *, size_t, size_t, FILE *);
# 386
extern int __flsbuf(unsigned char, FILE *);
extern int __filbuf(FILE *);
# 464
extern char *ctermid(char *);
extern int fileno(FILE *);
extern FILE *fdopen(int, const char *);
# 495
typedef double *va_list;
# 507
extern char *optarg;
extern int opterr;
extern int optind;
extern int optopt;
# 520
extern int getopt(int, char * const [], const char *);
extern char *cuserid(char *);
# 540
extern int getw(FILE *);
extern int putw(int, FILE *);
extern int pclose(FILE *);
extern FILE *popen(const char *, const char *);
extern char *tempnam(const char *, const char *);
# 567
extern int vprintf(const char *, va_list);
extern int vfprintf(FILE *, const char *, va_list);
extern int vsprintf(char *, const char *, va_list);
# 593
extern int snprintf(char *, size_t , const char *,...);
extern int vsnprintf(char *, size_t , const char *, va_list );
extern int vscanf(const char *, __va_list);
extern int vfscanf(FILE *, const char *, __va_list);
extern int vsscanf(char *, const char *, __va_list);
extern void flockfile(FILE *);
extern int ftrylockfile(FILE *);
extern void funlockfile(FILE *);
# 647
extern unsigned char *__bufendtab[];
# 826
# 33 "tempname.c"
# 46
# 1 "/usr/include/stddef.h"
# 20
# 1 "/usr/include/sys/_null.h"
# 25
# 21 "/usr/include/stddef.h"
# 30
# 1 "/usr/include/sys/_wchar_t.h"
# 36
typedef unsigned int wchar_t;
# 31 "/usr/include/stddef.h"
typedef long ptrdiff_t;
# 47 "tempname.c"
# 1 "/usr/include/stdlib.h"
# 26
extern int abs(int);
# 47
extern int __nl_char_size;
# 60
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long int quot;
long int rem;
} ldiv_t;
# 103
extern double atof(const char *);
extern int atoi(const char *);
extern long int atol(const char *);
extern double strtod(const char *, char **);
extern long int strtol(const char *, char **, int);
extern unsigned long int strtoul(const char *, char **, int);
extern int rand(void);
extern void srand(unsigned int);
extern int atexit(void (*) (void));
extern void exit(int);
extern char *getenv(const char *);
extern int system(const char *);
extern div_t div(int, int);
extern ldiv_t ldiv(long int, long int);
extern long int labs(long int);
extern int mblen(const char *, size_t);
extern int mbtowc(wchar_t *, const char *, size_t);
extern int wctomb(char *, wchar_t);
extern size_t mbstowcs(wchar_t *, const char *, size_t);
extern size_t wcstombs(char *, const wchar_t *, size_t);
extern void free(void *);
extern void qsort(void *, size_t, size_t, int (*)(const void *, const void
*));
# 168
extern void abort(void);
extern void *bsearch(const void *, const void *, size_t, size_t, int (*)
(const void *, const void *));
extern void *calloc(size_t, size_t);
extern void *malloc(size_t);
extern void *realloc(void *, size_t);
# 229
extern void setkey(const char *);
extern void lcong48( unsigned short [] );
# 250
extern double drand48(void);
extern double erand48(unsigned short []);
extern long jrand48(unsigned short []);
extern long lrand48(void);
extern long mrand48(void);
extern long nrand48(unsigned short []);
extern void srand48(long);
extern unsigned short *seed48(unsigned short []);
extern int putenv(const char *);
# 281
extern int clearenv(void);
extern int getopt(int, char * const [], const char *);
extern char *getpass(const char *);
extern void *memalign(size_t , size_t );
# 292
extern char *optarg;
extern int optind;
extern int opterr;
# 1 "/usr/include/sys/wait.h"
# 27
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 28 "/usr/include/sys/wait.h"
# 1 "/usr/include/sys/types.h"
# 533
# 29 "/usr/include/sys/wait.h"
# 74
extern pid_t wait(int *);
extern pid_t waitpid(pid_t, int *, int);
# 91
# 1 "/usr/include/sys/resource.h"
# 45
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 46 "/usr/include/sys/resource.h"
# 1 "/usr/include/sys/types.h"
# 533
# 50 "/usr/include/sys/resource.h"
# 1 "/usr/include/sys/time.h"
# 26
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 27 "/usr/include/sys/time.h"
# 1 "/usr/include/sys/types.h"
# 533
# 28 "/usr/include/sys/time.h"
# 1 "/usr/include/sys/sigevent.h"
# 47
typedef union sigval {
struct {
int __svi_int;
} __svi_int_s;
void * __sival_ptr;
} sigval_t;
# 65
typedef int pthread_attr_t;
typedef struct sigevent {
int __sigev_notify;
int __sigev_signo;
sigval_t __sigev_value;
void (*__sigev_notify_function)(sigval_t);
pthread_attr_t *__sigev_notify_attributes;
# 95
int __sigev_reserved[8];
} sigevent_t;
enum __sigev_types {
__SIGEV_NONE = 1,
__SIGEV_SIGNAL
,__SIGEV_THREAD
};
# 125
# 29 "/usr/include/sys/time.h"
# 100
struct tm {
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_yday;
int tm_isdst;
};
# 121
struct timespec {
time_t tv_sec;
long tv_nsec;
};
typedef struct timespec timestruc_t;
struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
};
typedef enum __clockid_t {
CLOCK_INVALID = 0,
CLOCK_REALTIME = 1,
CLOCK_VIRTUAL = 2,
CLOCK_PROFILE = 4,
RTTIMER0 = 8,
RTTIMER1 = 16
} clockid_t;
typedef unsigned long timer_t;
# 163
struct timeval {
time_t tv_sec;
long tv_usec;
};
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
# 184
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
typedef struct __cycles {
uint32_t hi;
uint32_t lo;
} cycles_t;
# 217
extern double difftime(time_t, time_t);
extern time_t mktime(struct tm *);
extern time_t time(time_t *);
extern char *asctime(const struct tm *);
extern char *ctime(const time_t *);
extern struct tm *gmtime(const time_t *);
extern struct tm *localtime(const time_t *);
extern size_t strftime(char *, size_t, const char *, const struct tm *);
# 392
extern clock_t clock(void);
# 411
extern void tzset(void);
# 420
extern char *tzname[2];
# 427
extern int clock_settime(clockid_t, const struct timespec *);
extern int clock_gettime(clockid_t, struct timespec *);
extern int clock_getres(clockid_t, struct timespec *);
extern int timer_create(clockid_t, struct sigevent *, timer_t *);
extern int timer_delete(timer_t);
extern int timer_settime(timer_t, int, const struct itimerspec *,
struct itimerspec *);
extern int timer_gettime(timer_t, struct itimerspec *);
extern int timer_getoverrun(timer_t);
extern int nanosleep(const struct timespec *, struct timespec *);
# 461
extern char *strptime(const char *, const char *, struct tm *);
# 472
extern long timezone;
extern int daylight;
# 500
extern int getitimer(int, struct itimerval *);
extern int setitimer(int, const struct itimerval *, struct itimerval *);
extern int utimes(const char *, const struct timeval[2] );
extern int gettimeofday(struct timeval *, void *);
extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);
# 530
extern int adjtime(const struct timeval *, struct timeval *);
extern struct tm *getdate(const char *);
# 544
extern int settimeofday(const struct timeval *, const struct timezone *);
extern int stime(const time_t *);
extern void profil(const void *, size_t , size_t , int);
# 574
extern int getdate_err;
# 625
struct ki_timeval {
uint32_t pad1;
uint32_t pad2;
};
# 645
typedef uint64_t kt_t;
# 695
# 51 "/usr/include/sys/resource.h"
# 59
# 1 "/usr/include/sys/_rlimit_body.h"
# 43
struct rlimit {
rlim_t rlim_cur;
rlim_t rlim_max;
};
# 60 "/usr/include/sys/resource.h"
# 105
struct rusage {
struct timeval ru_utime;
struct timeval ru_stime;
long ru_maxrss;
long ru_ixrss;
long ru_idrss;
long ru_isrss;
long ru_minflt;
long ru_majflt;
long ru_nswap;
long ru_inblock;
long ru_oublock;
long ru_ioch;
long ru_msgsnd;
long ru_msgrcv;
long ru_nsignals;
long ru_nvcsw;
long ru_nivcsw;
};
# 149
extern int getpriority (int, id_t) ;
extern int getrusage (int, struct rusage *) ;
extern int setpriority (int, id_t, int) ;
extern int getrlimit (int, struct rlimit *) ;
extern int setrlimit (int, const struct rlimit *) ;
# 257
# 92 "/usr/include/sys/wait.h"
# 109
extern pid_t wait3(int *, int, struct rusage *);
# 125
# 1 "/usr/include/sys/types.h"
# 533
# 126 "/usr/include/sys/wait.h"
# 1 "/usr/include/sys/signal.h"
# 40
# 1 "/usr/include/sys/types.h"
# 533
# 41 "/usr/include/sys/signal.h"
# 1 "/usr/include/sys/sigevent.h"
# 125
# 42 "/usr/include/sys/signal.h"
# 1 "/usr/include/sys/siginfo.h"
# 41
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 42 "/usr/include/sys/siginfo.h"
# 1 "/usr/include/sys/types.h"
# 533
# 43 "/usr/include/sys/siginfo.h"
enum __si_codes {
SI_QUEUE = -2,
SI_USER = -1,
SI_TIMER = 1,
SI_ASYNCIO= 2,
SI_MESGQ = 3
};
# 1 "/usr/include/sys/sigevent.h"
# 125
# 57 "/usr/include/sys/siginfo.h"
typedef struct __siginfo {
int si_signo;
int si_code;
int si_errno;
sigval_t si_value;
union {
struct {
pid_t __pid;
union {
struct {
uid_t __uid;
} __kill;
struct {
int __status;
} __SIGCLD;
} __pdata;
} __proc;
struct {
void *__addr;
} __fault;
struct {
int __fd;
long __band;
} __file;
struct {
void *__addr;
void *__lockpage;
long __dev_id;
} __gfault;
} __data;
long __pad[9 ];
} siginfo_t;
# 317
# 43 "/usr/include/sys/signal.h"
# 1 "/usr/include/sys/newsig.h"
# 49
typedef struct __sigset_t {
unsigned int sigset[8];
} sigset_t;
# 62
# 1 "/usr/include/sys/types.h"
# 533
# 63 "/usr/include/sys/newsig.h"
# 1 "/usr/include/machine/save_state.h"
# 44
# 1 "/usr/include/sys/_inttypes.h"
# 202
# 45 "/usr/include/machine/save_state.h"
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 46 "/usr/include/machine/save_state.h"
# 213
typedef struct __fp_dbl_block {
double ss_fp0;
double ss_fp1;
double ss_fp2;
double ss_fp3;
double ss_fp4;
double ss_fp5;
double ss_fp6;
double ss_fp7;
double ss_fp8;
double ss_fp9;
double ss_fp10;
double ss_fp11;
double ss_fp12;
double ss_fp13;
double ss_fp14;
double ss_fp15;
double ss_fp16;
double ss_fp17;
double ss_fp18;
double ss_fp19;
double ss_fp20;
double ss_fp21;
double ss_fp22;
double ss_fp23;
double ss_fp24;
double ss_fp25;
double ss_fp26;
double ss_fp27;
double ss_fp28;
double ss_fp29;
double ss_fp30;
double ss_fp31;
} fp_dbl_block_t;
typedef struct __fp_int_block {
int ss_fpstat;
int ss_fpexcept1;
int ss_fpexcept2;
int ss_fpexcept3;
int ss_fpexcept4;
int ss_fpexcept5;
int ss_fpexcept6;
int ss_fpexcept7;
int ss_fp4_hi;
int ss_fp4_lo;
int ss_fp5_hi;
int ss_fp5_lo;
int ss_fp6_hi;
int ss_fp6_lo;
int ss_fp7_hi;
int ss_fp7_lo;
int ss_fp8_hi;
int ss_fp8_lo;
int ss_fp9_hi;
int ss_fp9_lo;
int ss_fp10_hi;
int ss_fp10_lo;
int ss_fp11_hi;
int ss_fp11_lo;
int ss_fp12_hi;
int ss_fp12_lo;
int ss_fp13_hi;
int ss_fp13_lo;
int ss_fp14_hi;
int ss_fp14_lo;
int ss_fp15_hi;
int ss_fp15_lo;
int ss_fp16_hi;
int ss_fp16_lo;
int ss_fp17_hi;
int ss_fp17_lo;
int ss_fp18_hi;
int ss_fp18_lo;
int ss_fp19_hi;
int ss_fp19_lo;
int ss_fp20_hi;
int ss_fp20_lo;
int ss_fp21_hi;
int ss_fp21_lo;
int ss_fp22_hi;
int ss_fp22_lo;
int ss_fp23_hi;
int ss_fp23_lo;
int ss_fp24_hi;
int ss_fp24_lo;
int ss_fp25_hi;
int ss_fp25_lo;
int ss_fp26_hi;
int ss_fp26_lo;
int ss_fp27_hi;
int ss_fp27_lo;
int ss_fp28_hi;
int ss_fp28_lo;
int ss_fp29_hi;
int ss_fp29_lo;
int ss_fp30_hi;
int ss_fp30_lo;
int ss_fp31_hi;
int ss_fp31_lo;
} fp_int_block_t;
# 379
typedef struct __reg64 {
int64_t ss_reserved;
int64_t ss_gr1;
int64_t ss_rp;
int64_t ss_gr3;
int64_t ss_gr4;
int64_t ss_gr5;
int64_t ss_gr6;
int64_t ss_gr7;
int64_t ss_gr8;
int64_t ss_gr9;
int64_t ss_gr10;
int64_t ss_gr11;
int64_t ss_gr12;
int64_t ss_gr13;
int64_t ss_gr14;
int64_t ss_gr15;
int64_t ss_gr16;
int64_t ss_gr17;
int64_t ss_gr18;
int64_t ss_gr19;
int64_t ss_gr20;
int64_t ss_gr21;
int64_t ss_gr22;
int64_t ss_arg3;
int64_t ss_arg2;
int64_t ss_arg1;
int64_t ss_arg0;
uint64_t ss_dp;
uint64_t ss_ret0;
uint64_t ss_ret1;
uint64_t ss_sp;
uint64_t ss_gr31;
uint64_t ss_cr11;
uint64_t ss_pcoq_head;
uint64_t ss_pcsq_head;
uint64_t ss_pcoq_tail;
uint64_t ss_pcsq_tail;
uint64_t ss_cr15;
uint64_t ss_cr19;
uint64_t ss_cr20;
uint64_t ss_cr21;
uint64_t ss_cr22;
uint64_t ss_cpustate;
uint64_t ss_sr4;
uint64_t ss_sr0;
uint64_t ss_sr1;
uint64_t ss_sr2;
uint64_t ss_sr3;
uint64_t ss_sr5;
uint64_t ss_sr6;
uint64_t ss_sr7;
uint64_t ss_cr0;
uint64_t ss_cr8;
uint64_t ss_cr9;
uint64_t ss_cr10;
uint64_t ss_cr12;
uint64_t ss_cr13;
uint64_t ss_cr24;
uint64_t ss_cr25;
uint64_t ss_cr26;
uint64_t ss_cr27;
uint64_t ss_reserved2[2];
uint32_t ss_oldcksum;
uint32_t ss_newcksum;
} __reg64_t;
typedef struct __reg32 {
uint32_t ss_reserved[2];
uint32_t ss_gr1_hi;
uint32_t ss_gr1_lo;
uint32_t ss_rp_hi;
uint32_t ss_rp_lo;
uint32_t ss_gr3_hi;
uint32_t ss_gr3_lo;
uint32_t ss_gr4_hi;
uint32_t ss_gr4_lo;
uint32_t ss_gr5_hi;
uint32_t ss_gr5_lo;
uint32_t ss_gr6_hi;
uint32_t ss_gr6_lo;
uint32_t ss_gr7_hi;
uint32_t ss_gr7_lo;
uint32_t ss_gr8_hi;
uint32_t ss_gr8_lo;
uint32_t ss_gr9_hi;
uint32_t ss_gr9_lo;
uint32_t ss_gr10_hi;
uint32_t ss_gr10_lo;
uint32_t ss_gr11_hi;
uint32_t ss_gr11_lo;
uint32_t ss_gr12_hi;
uint32_t ss_gr12_lo;
uint32_t ss_gr13_hi;
uint32_t ss_gr13_lo;
uint32_t ss_gr14_hi;
uint32_t ss_gr14_lo;
uint32_t ss_gr15_hi;
uint32_t ss_gr15_lo;
uint32_t ss_gr16_hi;
uint32_t ss_gr16_lo;
uint32_t ss_gr17_hi;
uint32_t ss_gr17_lo;
uint32_t ss_gr18_hi;
uint32_t ss_gr18_lo;
uint32_t ss_gr19_hi;
uint32_t ss_gr19_lo;
uint32_t ss_gr20_hi;
uint32_t ss_gr20_lo;
uint32_t ss_gr21_hi;
uint32_t ss_gr21_lo;
uint32_t ss_gr22_hi;
uint32_t ss_gr22_lo;
uint32_t ss_arg3_hi;
uint32_t ss_arg3_lo;
uint32_t ss_arg2_hi;
uint32_t ss_arg2_lo;
uint32_t ss_arg1_hi;
uint32_t ss_arg1_lo;
uint32_t ss_arg0_hi;
uint32_t ss_arg0_lo;
unsigned int ss_dp_hi;
unsigned int ss_dp_lo;
unsigned int ss_ret0_hi;
unsigned int ss_ret0_lo;
unsigned int ss_ret1_hi;
unsigned int ss_ret1_lo;
unsigned int ss_sp_hi;
unsigned int ss_sp_lo;
unsigned int ss_gr31_hi;
unsigned int ss_gr31_lo;
unsigned int ss_cr11_hi;
unsigned int ss_cr11_lo;
unsigned int ss_pcoq_head_hi;
unsigned int ss_pcoq_head_lo;
unsigned int ss_pcsq_head_hi;
unsigned int ss_pcsq_head_lo;
unsigned int ss_pcoq_tail_hi;
unsigned int ss_pcoq_tail_lo;
unsigned int ss_pcsq_tail_hi;
unsigned int ss_pcsq_tail_lo;
unsigned int ss_cr15_hi;
unsigned int ss_cr15_lo;
unsigned int ss_cr19_hi;
unsigned int ss_cr19_lo;
unsigned int ss_cr20_hi;
unsigned int ss_cr20_lo;
unsigned int ss_cr21_hi;
unsigned int ss_cr21_lo;
unsigned int ss_cr22_hi;
unsigned int ss_cr22_lo;
unsigned int ss_cpustate_hi;
unsigned int ss_cpustate_lo;
unsigned int ss_sr4_hi;
unsigned int ss_sr4_lo;
unsigned int ss_sr0_hi;
unsigned int ss_sr0_lo;
unsigned int ss_sr1_hi;
unsigned int ss_sr1_lo;
unsigned int ss_sr2_hi;
unsigned int ss_sr2_lo;
unsigned int ss_sr3_hi;
unsigned int ss_sr3_lo;
unsigned int ss_sr5_hi;
unsigned int ss_sr5_lo;
unsigned int ss_sr6_hi;
unsigned int ss_sr6_lo;
unsigned int ss_sr7_hi;
unsigned int ss_sr7_lo;
unsigned int ss_cr0_hi;
unsigned int ss_cr0_lo;
unsigned int ss_cr8_hi;
unsigned int ss_cr8_lo;
unsigned int ss_cr9_hi;
unsigned int ss_cr9_lo;
unsigned int ss_cr10_hi;
unsigned int ss_cr10_lo;
unsigned int ss_cr12_hi;
unsigned int ss_cr12_lo;
unsigned int ss_cr13_hi;
unsigned int ss_cr13_lo;
unsigned int ss_cr24_hi;
unsigned int ss_cr24_lo;
unsigned int ss_cr25_hi;
unsigned int ss_cr25_lo;
unsigned int ss_cr26_hi;
unsigned int ss_cr26_lo;
unsigned int ss_cr27_hi;
unsigned int ss_cr27_lo;
unsigned int ss_reserved2[4];
unsigned int ss_oldcksum;
unsigned int ss_newcksum;
} __reg32_t;
typedef struct __ss_narrow {
int ss_gr1;
int ss_rp;
int ss_gr3;
int ss_gr4;
int ss_gr5;
int ss_gr6;
int ss_gr7;
int ss_gr8;
int ss_gr9;
int ss_gr10;
int ss_gr11;
int ss_gr12;
int ss_gr13;
int ss_gr14;
int ss_gr15;
int ss_gr16;
int ss_gr17;
int ss_gr18;
int ss_gr19;
int ss_gr20;
int ss_gr21;
int ss_gr22;
int ss_arg3;
int ss_arg2;
int ss_arg1;
int ss_arg0;
unsigned int ss_dp;
unsigned int ss_ret0;
unsigned int ss_ret1;
unsigned int ss_sp;
unsigned int ss_gr31;
unsigned int ss_cr11;
unsigned int ss_pcoq_head;
unsigned int ss_pcsq_head;
unsigned int ss_pcoq_tail;
unsigned int ss_pcsq_tail;
unsigned int ss_cr15;
unsigned int ss_cr19;
unsigned int ss_cr20;
unsigned int ss_cr21;
unsigned int ss_cr22;
unsigned int ss_cpustate;
unsigned int ss_sr4;
unsigned int ss_sr0;
unsigned int ss_sr1;
unsigned int ss_sr2;
unsigned int ss_sr3;
unsigned int ss_sr5;
unsigned int ss_sr6;
unsigned int ss_sr7;
unsigned int ss_cr0;
unsigned int ss_cr8;
unsigned int ss_cr9;
unsigned int ss_cr10;
unsigned int ss_cr12;
unsigned int ss_cr13;
unsigned int ss_cr24;
unsigned int ss_cr25;
unsigned int ss_cr26;
unsigned int ss_cr27;
unsigned int ss_mpsfu_low;
unsigned int ss_mpsfu_ovflo;
} __ss_narrow_t;
typedef int ssflags_t;
# 664
typedef struct __save_state {
ssflags_t ss_flags;
__ss_narrow_t ss_narrow;
int ss_pad;
union {
fp_dbl_block_t fpdbl;
fp_int_block_t fpint;
} ss_fpblock;
char ss_xor[4*32];
union {
# 707
__reg64_t ss_64;
__reg32_t ss_32;
} ss_wide;
} save_state_t;
# 1553
# 64 "/usr/include/sys/newsig.h"
typedef struct __stack {
void *ss_sp;
int ss_flags;
size_t ss_size;
} stack_t;
typedef save_state_t mcontext_t;
# 81
struct __sub_ctxt {
struct __ucontext *__uc_link;
sigset_t __uc_sigmask;
stack_t __uc_stack;
};
typedef struct __sub_ctxt __sub_ctxt_t;
typedef struct __ucontext {
mcontext_t uc_mcontext;
int uc_spares[8];
unsigned int uc_created_by_getcontext:1;
unsigned int uc_reserved_flags:31;
struct __sub_ctxt uc_subcontext;
} ucontext_t;
# 135
# 44 "/usr/include/sys/signal.h"
# 66
typedef unsigned int sig_atomic_t;
# 79
struct sigaction {
union {
void (*__sa_sigaction)(int, siginfo_t *, void *);
# 92
void (*__sa_handler)(int );
} __handler;
sigset_t sa_mask;
int sa_flags;
};
# 108
typedef int pthread_t;
# 143
struct sigstack {
void *ss_sp;
int ss_onstack;
};
# 160
struct sigvec {
void (*sv_handler)(int );
int sv_mask;
int sv_flags;
};
# 181
extern void (*signal(int, void (*) (int )))(int );
extern int raise(int);
# 193
extern int kill(pid_t, int);
extern int sigemptyset(sigset_t *);
extern int sigfillset(sigset_t *);
extern int sigaddset(sigset_t *, int);
extern int sigdelset(sigset_t *, int);
extern int sigismember(const sigset_t *, int);
extern int sigaction(int, const struct sigaction *, struct sigaction *);
extern int sigprocmask(int, const sigset_t *, sigset_t *);
extern int sigsuspend(const sigset_t *);
extern int sigpending(sigset_t *);
# 219
extern int sigwait(const sigset_t *set, int *sig);
extern int pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
extern int pthread_kill(pthread_t thread, int sig);
# 235
extern int sigwaitinfo(const sigset_t *set, siginfo_t *info);
extern int sigtimedwait(const sigset_t *set, siginfo_t * info,
const struct timespec *timeout);
extern int sigqueue(pid_t pid, int signo,
const union sigval value);
# 249
extern void (*bsd_signal(int, void(*)(int)))(int);
extern int killpg(pid_t, int);
extern int sigstack(struct sigstack *, struct sigstack *);
extern int sigaltstack(const stack_t *, stack_t *);
extern int siginterrupt(int, int);
# 268
extern void (*sigset(int, void (*)(int )))(int );
extern int sighold(int);
extern int sigrelse(int);
extern int sigignore(int);
extern int sigpause(int);
# 286
extern long sigblock(long);
extern long sigsetmask(long);
extern int sigvector(int, const struct sigvec *, struct sigvec *);
extern int (*ssignal(int, int (*) (int )))(int );
extern ssize_t sigspace(ssize_t);
extern int gsignal(int);
# 384
extern long ___sysconf(int);
# 515
# 1 "/usr/include/machine/save_state.h"
# 1553
# 516 "/usr/include/sys/signal.h"
# 545
# 1 "/usr/include/machine/frame.h"
# 68
typedef struct frame_marker {
int fm_edp;
int fm_esr4;
int fm_erp;
int fm_crp;
int fm_sl;
int fm_clup;
int fm_ep;
int fm_psp;
} frame_marker_t;
# 177
# 546 "/usr/include/sys/signal.h"
# 1 "/usr/include/sys/syscall.h"
# 53
# 1 "/usr/include/sys/scall_define.h"
# 852
# 54 "/usr/include/sys/syscall.h"
# 67
# 1 "/usr/include/machine/sys/syscall.h"
# 81
# 68 "/usr/include/sys/syscall.h"
# 78
# 547 "/usr/include/sys/signal.h"
# 558
struct siglocal_misc {
int sm_syscall;
int sm_onstack;
int sm_omask;
char sm_syscall_action;
char sm_eosys;
unsigned short sm_error;
long sm_rval1;
long sm_rval2;
long sm_arg[4 ];
};
typedef struct siglocal_misc siglocal_misc_t;
struct siglocal {
struct siglocal_misc sl_misc;
save_state_t sl_ss;
};
# 590
struct siglocalx {
struct siglocal_misc sl_misc;
ucontext_t sl_uc;
siginfo_t sl_si;
};
# 610
struct __xsi {
struct __sub_ctxt sc;
int __padding;
siginfo_t si;
};
typedef struct __xsi __xsi_t;
# 628
# 1 "/usr/include/machine/sys/sigcontext.h"
# 45
struct sigcontext {
union {
struct siglocal sl;
struct siglocalx sx;
} sc_ctxt;
long sc_args[4 ];
struct frame_marker sc_sfm;
};
# 629 "/usr/include/sys/signal.h"
# 711
# 127 "/usr/include/sys/wait.h"
# 161
typedef enum {
P_PID,
P_PGID,
P_SID,
P_UID,
P_GID,
P_CID,
P_ALL,
P_LWPID
} idtype_t;
# 180
extern int waitid(idtype_t, id_t, siginfo_t *, int);
# 197
union wait {
int w_status;
struct {
unsigned short w_pad;
unsigned int w_Retcode:8;
unsigned int w_Coredump:1;
unsigned int w_Termsig:7;
} w_T;
struct {
unsigned short w_pad;
unsigned int w_Stopsig:8;
unsigned int w_Stopval:8;
} w_S;
};
# 245
# 299 "/usr/include/stdlib.h"
# 311
extern int mkstemp(char *);
extern char *mktemp(char *);
extern int ttyslot(void);
# 335
extern long a64l(const char *);
extern char *l64a(long);
extern char *fcvt(double, int, int *, int *);
extern char *ecvt(double, int, int *, int *);
extern char *gcvt(double, int, char *);
extern int getsubopt(char **, char * const *, char **);
extern int grantpt(int);
extern char *ptsname(int);
extern char *realpath(const char *, char *);
extern int unlockpt(int);
extern void *valloc(size_t );
extern char *initstate(unsigned int, char *, size_t );
extern char *setstate(const char *);
extern void srandom(unsigned int);
extern long random(void);
# 400
struct mallinfo {
int32_t arena;
int32_t ordblks;
int32_t smblks;
int32_t hblks;
int32_t hblkhd;
int32_t usmblks;
int32_t fsmblks;
int32_t uordblks;
int32_t fordblks;
int32_t keepcost;
};
typedef struct {
uint32_t word1, word2, word3, word4;
} long_double;
# 430
# 1 "/usr/include/pwd.h"
# 25
struct passwd {
char *pw_name;
char *pw_passwd;
uid_t pw_uid;
gid_t pw_gid;
char *pw_age;
char *pw_comment;
char *pw_gecos;
char *pw_dir;
char *pw_shell;
int32_t pw_audid;
int pw_audflg;
};
# 58
extern struct passwd *getpwuid(uid_t);
extern struct passwd *getpwnam(const char *);
# 89
extern void endpwent(void);
extern struct passwd *getpwent(void);
extern void setpwent(void);
# 100
struct s_passwd {
char *pw_name;
char *pw_passwd;
char *pw_age;
int32_t pw_audid;
int pw_audflg;
};
# 120
extern int putpwent(const struct passwd *, FILE *);
extern struct passwd *fgetpwent(FILE *);
extern struct s_passwd *getspwent(void);
extern struct s_passwd *getspwuid(uid_t);
extern struct s_passwd *getspwaid(int32_t);
extern struct s_passwd *getspwnam(char *);
extern struct s_passwd *fgetspwent(FILE *);
extern void setspwent(void);
extern void endspwent(void);
# 181
# 431 "/usr/include/stdlib.h"
# 437
extern char *_ldecvt(long_double, int, int *, int *);
extern char *_ldfcvt(long_double, int, int *, int *);
extern char *_ldgcvt(long_double, int, char *);
extern int getpw(int, char *);
extern void l3tol(long *, const char *, int);
extern void ltol3(char *, const long *, int);
extern char *ltostr(long, int);
extern char *ultostr(unsigned long, int);
extern char *ltoa(long);
extern char *ultoa(unsigned long);
extern void memorymap(int);
extern struct mallinfo mallinfo(void);
extern int mallopt(int, int);
extern long_double strtold(const char *, char **);
# 513
# 48 "tempname.c"
# 1 "/usr/include/string.h"
# 8
# 1 "/usr/include/sys/_inttypes.h"
# 202
# 9 "/usr/include/string.h"
# 23
# 1 "/usr/include/sys/_null.h"
# 25
# 24 "/usr/include/string.h"
# 60
extern int memcmp(const void *, const void *, size_t);
extern char *strncat(char *, const char *, size_t);
extern int strncmp(const char *, const char *, size_t);
extern void *memmove(void *, const void *, size_t);
extern char *strcpy(char *, const char *);
extern char *strncpy(char *, const char *, size_t);
extern char *strcat(char *, const char *);
extern int strcmp(const char *, const char *);
extern int strcoll(const char *, const char *);
extern size_t strxfrm(char *, const char *, size_t);
extern char *strchr(const char *, int);
extern char *strpbrk(const char *, const char *);
extern char *strrchr(const char *, int);
extern char *strstr(const char *, const char *);
extern char *strtok(char *, const char *);
extern char *strerror(int);
# 194
extern void *memcpy(void *, const void *, size_t);
extern void *memchr(const void *, int, size_t);
extern void *memset(void *, int, size_t);
extern size_t strcspn(const char *, const char *);
extern size_t strspn(const char *, const char *);
extern size_t strlen(const char *);
# 254
extern void *memccpy(void *, const void *, int, size_t );
# 280
extern char *strdup(const char *);
# 304
extern char *strrstr(const char *, const char *);
extern int strcasecmp(const char *, const char *);
extern int strncasecmp(const char *, const char *, size_t );
# 318
# 49 "tempname.c"
# 1 "/usr/include/fcntl.h"
# 9
# 1 "/usr/include/sys/fcntl.h"
# 26
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 27 "/usr/include/sys/fcntl.h"
# 1 "/usr/include/sys/types.h"
# 533
# 32 "/usr/include/sys/fcntl.h"
# 172
# 1 "/usr/include/sys/_flock_body.h"
# 41
struct flock {
short l_type;
short l_whence;
off_t l_start;
off_t l_len;
pid_t l_pid;
};
# 173 "/usr/include/sys/fcntl.h"
# 212
extern int fcntl (int, int, ...) ;
extern int creat (const char *, mode_t) ;
extern int open (const char *, int, ...) ;
# 282
# 10 "/usr/include/fcntl.h"
# 51 "tempname.c"
# 63
# 1 "/usr/include/unistd.h"
# 12
# 1 "/usr/include/sys/unistd.h"
# 50
# 1 "/usr/include/sys/_inttypes.h"
# 202
# 51 "/usr/include/sys/unistd.h"
# 88
# 1 "/usr/include/sys/types.h"
# 533
# 89 "/usr/include/sys/unistd.h"
# 95
# 1 "/usr/include/utime.h"
# 10
# 1 "/usr/include/sys/types.h"
# 533
# 11 "/usr/include/utime.h"
# 20
# 1 "/usr/include/sys/_time_t.h"
# 18
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 19 "/usr/include/sys/_time_t.h"
# 27
# 21 "/usr/include/utime.h"
struct utimbuf {
time_t actime;
time_t modtime;
};
extern int utime(const char *, const struct utimbuf *);
# 49
# 96 "/usr/include/sys/unistd.h"
# 107
extern void _exit (int) ;
extern int access (const char *, int) ;
extern int chdir (const char *) ;
extern int chown (const char *, uid_t, gid_t) ;
extern int close (int) ;
extern char *ctermid (char *) ;
extern char *cuserid (char *) ;
extern int dup (int) ;
extern int dup2 (int, int) ;
extern int execl (const char *, const char *, ...) ;
extern int execle (const char *, const char *, ...) ;
extern int execlp (const char *, const char *, ...) ;
extern int execv (const char *, char *const []) ;
extern int execve (const char *, char *const [], char *const []) ;
extern int execvp (const char *, char *const []) ;
extern long fpathconf (int, int) ;
extern char *getcwd (char *, size_t) ;
extern int getgroups (int, gid_t []) ;
extern char *getlogin (void) ;
# 133
extern int isatty (int) ;
extern int link (const char *, const char *) ;
extern off_t lseek (int, off_t, int) ;
extern long pathconf (const char *, int) ;
extern int pause (void) ;
extern int pipe (int *) ;
extern ssize_t read (int, void *, size_t) ;
extern int rmdir (const char *) ;
extern int setgid (gid_t) ;
extern int setpgid (pid_t, pid_t) ;
extern pid_t setsid (void) ;
extern int setuid (uid_t) ;
extern unsigned int sleep (unsigned int) ;
extern long sysconf (int) ;
extern pid_t tcgetpgrp (int) ;
extern int tcsetpgrp (int, pid_t) ;
extern char *ttyname (int) ;
# 159
extern int unlink (const char *) ;
extern ssize_t write (int, const void *, size_t) ;
# 174
extern unsigned int alarm (unsigned int) ;
extern pid_t fork (void) ;
extern gid_t getegid (void) ;
extern uid_t geteuid (void) ;
extern gid_t getgid (void) ;
extern pid_t getpgrp (void) ;
extern pid_t getpid (void) ;
extern pid_t getppid (void) ;
extern uid_t getuid (void) ;
extern char *optarg;
extern int opterr;
extern int optind;
extern int optopt;
extern int getopt (int, char * const [], const char *) ;
extern size_t confstr (int, char *, size_t) ;
extern int pthread_atfork(void (*prepare)(void), void (*parent)(void),
void (*child)(void));
# 208
extern int chroot (const char *) ;
extern char *crypt (const char *, const char *) ;
extern void encrypt (char [64], int) ;
extern int fsync (int) ;
extern char *getpass (const char *) ;
extern int nice (int) ;
# 221
extern int rename (const char *, const char *) ;
extern void swab (const void *, void *, ssize_t) ;
# 233
extern char **environ;
extern int readlink (const char *, char *, size_t) ;
extern int fchown (int, uid_t, gid_t) ;
extern int ftruncate (int, off_t) ;
extern int truncate (const char *, off_t) ;
extern int setgroups (int, gid_t []) ;
extern int symlink (const char *, const char *) ;
extern pid_t setpgrp (void) ;
# 269
extern pid_t vfork (void) ;
# 284
extern int brk (void *) ;
extern int fchdir (int) ;
extern int getdtablesize (void) ;
extern long gethostid (void) ;
extern int gethostname (char *, size_t) ;
extern int getpagesize (void) ;
extern pid_t getpgid (pid_t) ;
extern pid_t getsid (pid_t) ;
extern char *getwd (char *) ;
extern int lockf (int, int, off_t) ;
extern int lchown (const char *, uid_t, gid_t) ;
extern void *sbrk (int) ;
extern int setregid (gid_t, gid_t) ;
extern int setreuid (uid_t, uid_t) ;
extern void sync (void) ;
extern useconds_t ualarm (useconds_t, useconds_t) ;
extern int usleep (useconds_t) ;
# 319
extern ssize_t pread (int, void *, size_t, off_t) ;
extern ssize_t pwrite (int, const void *, size_t, off_t) ;
extern int fdatasync (int) ;
# 334
extern void endusershell (void) ;
extern int fsctl (int, int, void *, size_t) ;
extern char *getcdf (const char *, char *, size_t) ;
extern char *gethcwd (char *, size_t) ;
extern int getpgrp2 (pid_t) ;
extern char *getusershell (void) ;
extern char *hidecdf (const char *, char *, size_t) ;
extern int initgroups (const char *, gid_t) ;
extern char *logname (void) ;
extern void lsync (void) ;
extern int prealloc (int, off_t) ;
extern int sethostname (const char *, size_t) ;
extern int setpgrp2 (pid_t, pid_t) ;
extern int setresgid (gid_t, gid_t, gid_t) ;
extern int setresuid (uid_t, uid_t, uid_t) ;
extern void setusershell (void) ;
extern long sgetl (const char *) ;
extern void sputl (long, char *) ;
extern int swapon (const char *, ...) ;
extern int swapoff (const char *, int) ;
extern char *ttyname (int) ;
extern int64_t __sysconfx (int, int) ;
# 373
extern int set_userthreadid (int) ;
# 387
extern pid_t setpgrp3 (void) ;
# 1055
extern int serialize (int, pid_t) ;
# 1079
# 13 "/usr/include/unistd.h"
# 64 "tempname.c"
# 1 "/usr/include/sys/stat.h"
# 26
# 1 "/usr/include/sys/stdsyms.h"
# 425
# 27 "/usr/include/sys/stat.h"
# 1 "/usr/include/sys/types.h"
# 533
# 30 "/usr/include/sys/stat.h"
# 37
# 1 "/usr/include/sys/_stat_body.h"
# 43
struct stat
{
dev_t st_dev;
ino_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
unsigned short st_reserved1;
unsigned short st_reserved2;
dev_t st_rdev;
off_t st_size;
time_t st_atime;
int st_spare1;
time_t st_mtime;
int st_spare2;
time_t st_ctime;
int st_spare3;
long st_blksize;
blkcnt_t st_blocks;
unsigned int st_pad:29;
unsigned int st_aclv:1;
unsigned int st_acl:1;
unsigned int st_remote:1;
dev_t st_netdev;
ino_t st_netino;
__cnode_t st_cnode;
__cnode_t st_rcnode;
__site_t st_netsite;
short st_fstype;
dev_t st_realdev;
unsigned short st_basemode;
unsigned short st_spareshort;
uid_t st_uid;
gid_t st_gid;
int32_t st_spare4[3 ];
};
# 38 "/usr/include/sys/stat.h"
# 84
extern int chmod (const char *, mode_t) ;
extern int mkdir (const char *, mode_t) ;
extern int mkfifo (const char *, mode_t) ;
extern int fstat (int, struct stat *) ;
extern int stat (const char *, struct stat *) ;
extern mode_t umask (mode_t) ;
extern int fchmod (int, mode_t) ;
extern int lstat (const char *, struct stat *) ;
extern int mknod (const char *, mode_t, dev_t) ;
# 267
# 66 "tempname.c"
# 1 "stat-macros.h"
# 255
# 71 "tempname.c"
# 114
static int
direxists (const char *dir)
{
struct stat buf;
return stat (dir, &buf) == 0 && ((buf.st_mode & 0170000)==0040000) ;
}
# 127
int
__path_search (char *tmpl, size_t tmpl_len, const char *dir, const char *pfx,
int try_tmpdir)
{
const char *d;
size_t dlen, plen;
if (!pfx || !pfx[0])
{
pfx = "file";
plen = 4;
}
else
{
plen = strlen (pfx);
if (plen > 5)
plen = 5;
}
if (try_tmpdir)
{
d = getenv ("TMPDIR");
if (d != 0L && direxists (d))
dir = d;
else if (dir != 0L && direxists (dir))
;
else
dir = 0L ;
}
if (dir == 0L )
{
if (direxists ("/var/tmp/" ))
dir = "/var/tmp/" ;
else if (strcmp ("/var/tmp/" , "/tmp") != 0 && direxists ("/tmp"))
dir = "/tmp";
else
{
errno = (2) ;
return -1;
}
}
dlen = strlen (dir);
while (dlen > 1 && dir[dlen - 1] == '/')
dlen--;
if (tmpl_len < dlen + 1 + plen + 6 + 1)
{
errno = (22) ;
return -1;
}
sprintf (tmpl, "%.*s/%.*sXXXXXX", (int) dlen, dir, (int) plen, pfx);
return 0;
}
static const char letters[] =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
# 202
int
__gen_tempname (char *tmpl, int kind)
{
int len;
char *XXXXXX;
static uintmax_t value;
uintmax_t random_time_bits;
unsigned int count;
int fd = -1;
int save_errno = errno;
struct stat st;
# 220
unsigned int attempts_min = 62 * 62 * 62;
unsigned int attempts = attempts_min < 17576 ? 17576 : attempts_min;
len = strlen (tmpl);
if (len < 6 || strcmp (&tmpl[len - 6], "XXXXXX"))
{
errno = (22) ;
return -1;
}
XXXXXX = &tmpl[len - 6];
# 247
random_time_bits = time (0L );
value += random_time_bits ^ getpid ();
for (count = 0; count < attempts; value += 7777, ++count)
{
uintmax_t v = value;
XXXXXX[0] = letters[v % 62];
v /= 62;
XXXXXX[1] = letters[v % 62];
v /= 62;
XXXXXX[2] = letters[v % 62];
v /= 62;
XXXXXX[3] = letters[v % 62];
v /= 62;
XXXXXX[4] = letters[v % 62];
v /= 62;
XXXXXX[5] = letters[v % 62];
switch (kind)
{
case 0 :
fd = open (tmpl, 0000002 | 0000400 | 0002000 , 0000400 | 0000200
);
break;
case 1 :
fd = open (tmpl, 0000002 | 0000400 | 0002000 , 0000400 | 0000200
);
break;
case 2 :
fd = mkdir (tmpl, 0000400 | 0000200 | 0000100 );
break;
case 3 :
if (lstat (tmpl, &st) < 0)
{
if (errno == 2 )
{
errno = (save_errno) ;
return 0;
}
else
return -1;
}
continue;
default:
((! "invalid KIND in __gen_tempname") ? (void)0 : __assert("!
\"invalid KIND in __gen_tempname\"", "tempname.c", 302)) ;
}
if (fd >= 0)
{
errno = (save_errno) ;
return fd;
}
else if (errno != 17 )
return -1;
}
errno = (17) ;
return -1;
}
===========================================================================================================
This email and any attachments may contain privileged and confidential
information and are intended for the named addressee only. If you have received
this e-mail in error, please notify the sender and delete this e-mail
immediately. Any confidentiality, privilege or copyright is not waived or lost
because this e-mail has been sent to you in error. It is your responsibility to
check this e-mail and any attachments for viruses. No warranty is made that
this material is free from computer virus or any other defect or error. Any
loss/damage incurred by using this material is not the sender's responsibility.
The sender's entire liability will be limited to resupplying the material.