Print this page
5187 missing functions in stdlib.h : mkostemp, mkostemps & mkdtemp
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>

*** 92,117 **** --- 92,125 ---- #if !defined(_LP64) && _FILE_OFFSET_BITS == 64 #ifdef __PRAGMA_REDEFINE_EXTNAME #pragma redefine_extname mkstemp mkstemp64 #pragma redefine_extname mkstemps mkstemps64 + #pragma redefine_extname mkostemp mkostemp64 + #pragma redefine_extname mkostemps mkostemps64 #else /* __PRAGMA_REDEFINE_EXTNAME */ #define mkstemp mkstemp64 #define mkstemps mkstemps64 + #define mkostemp mkostemp64 + #define mkostemps mkostemps64 #endif /* __PRAGMA_REDEFINE_EXTNAME */ #endif /* _FILE_OFFSET_BITS == 64 */ /* In the LP64 compilation environment, all APIs are already large file */ #if defined(_LP64) && defined(_LARGEFILE64_SOURCE) #ifdef __PRAGMA_REDEFINE_EXTNAME #pragma redefine_extname mkstemp64 mkstemp #pragma redefine_extname mkstemps64 mkstemps + #pragma redefine_extname mkostemp64 mkostemp + #pragma redefine_extname mkostemps64 mkostemps #else /* __PRAGMA_REDEFINE_EXTNAME */ #define mkstemp64 mkstemp #define mkstemps64 mkstemps + #define mkostemp64 mkostemp + #define mkostemps64 mkostemps #endif /* __PRAGMA_REDEFINE_EXTNAME */ #endif /* _LP64 && _LARGEFILE64_SOURCE */ #if defined(__EXTENSIONS__) || \
*** 176,185 **** --- 184,207 ---- #if !defined(_XPG4_2) || defined(__EXTENSIONS__) extern int mkstemps64(char *, int); #endif #endif /* _LARGEFILE64_SOURCE... */ + #if !defined(_STRICT_SYMBOLS) || defined(_XPG7) + extern char *mkdtemp(char *); + #endif /* !defined(_STRICT_SYMBOLS) || defined(_XPG7) */ + + #if !defined(_STRICT_SYMBOLS) + extern int mkostemp(char *, int); + extern int mkostemps(char *, int, int); + #if defined(_LARGEFILE64_SOURCE) && !((_FILE_OFFSET_BITS == 64) && \ + !defined(__PRAGMA_REDEFINE_EXTNAME)) + extern int mkostemp64(char *, int); + extern int mkostemps64(char *, int, int); + #endif /* defined(_LARGEFILE64_SOURCE) || !((_FILE_OFFSET_BITS == 64) ... */ + #endif /* !defined(_STRICT_SYMBOLS) */ + #if defined(__EXTENSIONS__) || \ (!defined(_STRICT_STDC) && !defined(__XOPEN_OR_POSIX)) || \ defined(_XPG4_2) extern long a64l(const char *); extern char *ecvt(double, int, int *_RESTRICT_KYWD, int *_RESTRICT_KYWD);