Changeset 1661


Ignore:
Timestamp:
Nov 22, 2004, 2:46:26 AM (21 years ago)
Author:
bird
Message:

Extended fmutex interface.

Location:
trunk/src/emx
Files:
31 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/emx/io.h

    • Property cvs2svn:cvs-rev changed from 1.11 to 1.12
    r1660 r1661  
    207207
    208208#define STREAM_LOCK(f) \
    209   (_fmutex_request(&(f)->__u.__fsem, _FMR_IGNINT) != 0 \
    210    ? abort () : (void)0)
     209  ((f)->__uVersion != _FILE_STDIO_VERSION ? __stream_abort (f, "version error") \
     210   : _fmutex_request(&(f)->__u.__fsem, _FMR_IGNINT) != 0 \
     211   ? __stream_abort (f, "fmutex request") : 0)
    211212
    212213#define STREAM_UNLOCK(f) \
    213   (_fmutex_release(&(f)->__u.__fsem) != 0 ? abort() : (void)0)
     214  (_fmutex_release(&(f)->__u.__fsem) != 0 ? ) : (void)0)
    214215
    215216#define STREAM_LOCK_NOWAIT(f) \
    216   (_fmutex_request(&(f)->__u.__fsem, _FMR_NOWAIT) == 0)
    217 
    218 #define STREAM_UNLOCKED(f) _fmutex_available(&(f)->__u.__fsem)
     217  (((f)->__uVersion == _FILE_STDIO_VERSION || __stream_abort (f, "version error")) && _fmutex_request(&(f)->__u.__fsem, _FMR_NOWAIT) == 0)
     218
     219#define STREAM_UNLOCKED(f) ((f)->__uVersion == _FILE_STDIO_VERSION && _fmutex_available(&(f)->__u.__fsem))
     220
     221int __stream_abort(struct _FILE *f, const char *pszMsg);
    219222
    220223#endif /* defined (_SYS_FMUTEX_H) */
  • trunk/src/emx/include/os2emx.h

    • Property cvs2svn:cvs-rev changed from 1.24 to 1.25
    r1660 r1661  
    1330813308#define FS_SAVE()       __asm__ __volatile__ ("movl %%fs, %%eax; movl %%eax,%0;" : : "m" (__fs__) : "%eax" )
    1330913309#define FS_SAVE_LOAD()  __asm__ __volatile__ ("movl %%fs, %%eax; movl %%eax,%0; movl $DosTIB, %%eax; movl %%eax, %%fs" : : "m" (__fs__) : "%eax" )
     13310
    1331013311#define FS_RESTORE()    __asm__ __volatile__ ("movl %0, %%eax; movl %%eax,%%fs;" : : "m" (__fs__) : "%eax" )
    1331113312#else
  • trunk/src/emx/include/stdio.h

    • Property cvs2svn:cvs-rev changed from 1.13 to 1.14
    r1660 r1661  
    178178#define _FILE_T
    179179#define _FILE_MEMBERS_HAVE_UNDERSCORE
    180 struct _file2;
     180#define _FILE_STDIO_VERSION     (0x06000000 | sizeof(struct _FILE))
    181181typedef struct _FILE
    182182{
     183
    183184    char * _ptr;
    184185    char * _buffer;
     
    201202        _fmutex   __fsem;
    202203#endif
    203         char      __rsem_ersatz[8];
     204        char      __rsem_ersatz[];
    204205    } __u;
    205     /** Pointer to the stream vector which thie FILE belongs to.
     206    /** Pointer to the stream vector which thi FILE belongs to.
    206207     * This member is the first which should not be zeroed by _newstream()! */
    207208    void    *__pSV;
  • trunk/src/emx/include/sys/fmutex.h

    • Property cvs2svn:cvs-rev changed from 1.3 to 1.4
    r1660 r1661  
    66
    77#ifndef _SYS_FMUTEX_H
    8 #define _SYS_FMUTEX_H
     8#define _SYS_FMUTEX_H
    99
    10 #include <stdlib.h> /* need abort */
     10    #include <sys/cdefs.h>
     11    #include <stdlib.h> /* need abort */
     12    #include <InnoTekLIBC/FastInfoBlocks.h>
    1113
    12 #if defined (__cplusplus)
    13 extern "C" {
    14 #endif
     14__BEGIN_DECLS
    1515
    1616/* Constants for _fmutex.fs.  See _fmutex_available() for ordering. */
    1717
    18 #define _FMS_UNINIT       0
    19 #define _FMS_AVAILABLE    1
    20 #define _FMS_OWNED_SIMPLE 2
    21 #define _FMS_OWNED_HARD   3
     18#define _FMS_UNINIT       0
     19#define _FMS_AVAILABLE    1
     20#define _FMS_OWNED_SIMPLE 2
     21#define _FMS_OWNED_HARD   3
    2222
    2323/* Constants for _fmutex_create() */
    2424
    25 #define _FMC_SHARED     0x01
     25    #define _FMC_SHARED         0x01
     26    #define _FMC_MUST_COMPLETE  0x02
     27    #define _FMC_DUMMY          0x04    /* internal */
    2628
    2729/* Constants for _fmutex_request() */
    2830
    29 #define _FMR_IGNINT     0x01
    30 #define _FMR_NOWAIT     0x02
     31#define _FMR_IGNINT     0x01
     32#define _FMR_NOWAIT     0x02
    3133
    3234/* We cannot use __attribute__ ((__packed__)) because G++ does not
    3335   support this. */
    3436
    35 #pragma pack(1)
     37#pragma pack(1)
    3638typedef struct
    3739{
    3840    /** Handle to event semaphore. */
    39     unsigned long hev;
     41    unsigned long hev;
    4042    /** Semaphore status. */
    41     __volatile__ signed char fs;
     43    fs;
    4244    /** Semaphore create flags. (_FMC_SHARED) */
    43     unsigned char flags;
    44     /** padding the struct to 8 bytes. */
    45     unsigned char padding[2];
     45    unsigned char           flags;
     46    /** padding the struct to 16 bytes. */
     47    unsigned char           padding[2];
     48    /** The (pid << 16) | tid of the owner. */
     49    volatile unsigned       Owner;
     50    /** Descriptive name of the mutex. */
     51    const char             *pszDesc;
    4652} _fmutex;
    47 #pragma pack()
     53    #pragma pack()
     54
    4855
    4956
    5057unsigned __fmutex_request_internal (_fmutex *, unsigned, signed char);
    51 unsigned __fmutex_create_internal (_fmutex *, unsigned);
     58unsigned __fmutex_ (_fmutex *, unsigned);
    5259unsigned __fmutex_release_internal (_fmutex *);
     60
    5361
    5462
    5563static __inline__ unsigned _fmutex_request (_fmutex *sem, unsigned flags)
    5664{
    57   signed char fs;
    58 
    59   fs = __cxchg (&sem->fs, _FMS_OWNED_SIMPLE);
    60   if (fs == _FMS_AVAILABLE)
    61     return 0;
    62   else
    63     return __fmutex_request_internal (sem, flags, fs);
     65    if (!(sem->flags & _FMC_MUST_COMPLETE))
     66    {
     67        signed char fs = __cxchg (&sem->fs, _FMS_OWNED_SIMPLE);
     68        if (fs == _FMS_AVAILABLE)
     69        {
     70            __atomic_xchg(&sem->Owner, fibGetTidPid());
     71            return 0;
     72        }
     73        else
     74            return __fmutex_request_internal (sem, flags, fs);
     75    }
     76    else
     77        return __fmutex_request_internal_must_complete (sem, flags);
    6478}
    6579
     
    6781static __inline__ unsigned _fmutex_release (_fmutex *sem)
    6882{
    69   signed char fs;
    70 
    71   fs = __cxchg (&sem->fs, _FMS_AVAILABLE);
    72   if (fs == _FMS_OWNED_HARD)
    73     return __fmutex_release_internal (sem);
    74   else
    75     return 0;
     83    if (!(sem->flags & _FMC_MUST_COMPLETE))
     84    {
     85        signed char fs;
     86        __atomic_xchg(&sem->Owner, 0);
     87        fs = __cxchg(&sem->fs, _FMS_AVAILABLE);
     88        if (fs != _FMS_OWNED_HARD)
     89            return 0;
     90        else
     91            return __fmutex_release_internal (sem);
     92    }
     93    else
     94        return __fmutex_release_internal_must_complete (sem);
    7695}
    77 
    7896
    7997static __inline__ int _fmutex_available (_fmutex *sem)
    8098{
    81   return sem->fs <= _FMS_AVAILABLE;
     99  return sem->fs <= _FMS_AVAILABLE;
    82100}
    83101
    84102
    85103unsigned _fmutex_create (_fmutex *, unsigned);
     104
    86105unsigned _fmutex_open (_fmutex *);
    87106unsigned _fmutex_close (_fmutex *);
    88107void _fmutex_dummy (_fmutex *);
    89108
    90 void _fmutex_checked_close (_fmutex *);
    91 void _fmutex_checked_create (_fmutex *, unsigned);
    92 void _fmutex_checked_open (_fmutex *);
     109void _fmutex_checked_close(_fmutex *);
     110void _fmutex_checked_create(_fmutex *, unsigned);
     111void _fmutex_checked_create2(_fmutex *, unsigned, const char *);
     112void _fmutex_checked_open(_fmutex *);
     113void _fmutex_abort(_fmutex *, const char *);
    93114
    94115static __inline__ void _fmutex_checked_release (_fmutex * sem)
    95116{
    96   if (_fmutex_release (sem) != 0)
    97     abort ();
     117    if (sem->Owner != fibGetTidPid())
     118        _fmutex_abort(sem, "release not owner");
     119    if (_fmutex_release (sem) != 0)
     120        _fmutex_abort(sem, "release");
    98121}
    99122
    100123static __inline__ void _fmutex_checked_request (_fmutex * sem, unsigned flags)
    101124{
    102   if (_fmutex_request (sem, flags) != 0)
    103     abort ();
     125  if (_fmutex_request (sem, flags) != 0)
     126    );
    104127}
    105128
    106 #if defined (__cplusplus)
    107 }
    108 #endif
     129__END_DECLS
    109130
    110131#endif /* not _SYS_FMUTEX_H */
     132
  • trunk/src/emx/src/lib/app/stdio.c

    • Property cvs2svn:cvs-rev changed from 1.10 to 1.11
    r1660 r1661  
    66#include <sys/fmutex.h>
    77#include <stdio.h>
     8
    89#include <stdlib.h>
    910#include <emx/io.h>
    1011#include <emx/startup.h>
     12
    1113#define __LIBC_LOG_GROUP  __LIBC_LOG_GRP_STREAM
    1214#include <InnoTekLIBC/logstrict.h>
     
    9698             */
    9799            gPreStreamVec.cFree--;
     100
    98101            gaPreFiles[i]._flags    |= _IOOPEN | _IONOCLOSEALL;
    99102            gaPreFiles[i]._handle    = i;
    100103            gaPreFiles[i]._flush     = _flushstream;
    101             if (_fmutex_create(&gaPreFiles[i].__u.__fsem, 0) != 0)
     104            if (_fmutex_create) != 0)
    102105            {
    103106                LIBC_ASSERTM_FAILED("_setmore failed for i=%d\n", i);
     
    155158_CRT_INIT1(_init_streams)
    156159_CRT_EXIT1(_exit_streams)
     160
     161
     162
     163
     164
     165
     166
     167
     168
     169
     170
     171
     172
     173
     174
     175
     176
     177
     178
     179
     180
     181
     182
     183
     184
  • trunk/src/emx/src/lib/io/_fopen.c

    • Property cvs2svn:cvs-rev changed from 1.7 to 1.8
    r1660 r1661  
    8181  dst->_flags |= _IOOPEN | _IOBUFNONE;
    8282  dst->_flush = _flushstream;
    83   if (_fmutex_create (&dst->__u.__fsem, 0) != 0)
     83  if (_fmutex_create) != 0)
    8484    {
    8585      STREAMV_LOCK;
  • trunk/src/emx/src/lib/io/_mfopen.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    9090  stream->_tmpidx = inc;
    9191  stream->_ungetc_count = 0;
    92   if (_fmutex_create (&stream->__u.__fsem, 0) != 0)
     92  if (_fmutex_create) != 0)
    9393    {
    9494      if (abuf != NULL) free (abuf);
  • trunk/src/emx/src/lib/io/_newstre.c

    • Property cvs2svn:cvs-rev changed from 1.9 to 1.10
    r1660 r1661  
    4141                     */
    4242                    bzero(&pSV->aFiles[i], offsetof(FILE, __pSV));
     43
    4344                    return &pSV->aFiles[i];
    4445                }
     
    7677        pFile = &pSV->aFiles[0];
    7778        pFile->_flags = _IONEW;
     79
    7880
    7981        /*
     
    103105void _closestream(FILE *stream)
    104106{
    105     stream->_flags = 0;
    106     /* Assumption hare made about how the dummy stuff is made. */
    107     if (stream->__u.__fsem.hev)
    108         _fmutex_close(&stream->__u.__fsem);
     107    if (stream->__uVersion == _FILE_STDIO_VERSION)
     108    {
     109        stream->_flags = 0;
     110        /* Assumption hare made about how the dummy stuff is made. */
     111        if (stream->__u.__fsem.hev)
     112            _fmutex_close(&stream->__u.__fsem);
    109113
    110     if (stream->__pSV)
    111         ((struct streamvec *)stream->__pSV)->cFree++;
     114        if (stream->__pSV)
     115            ((struct streamvec *)stream->__pSV)->cFree++;
     116    }
    112117}
  • trunk/src/emx/src/lib/io/fdopen.c

    • Property cvs2svn:cvs-rev changed from 1.8 to 1.9
    r1660 r1661  
    3030  if (!dst)
    3131    return NULL;
    32   if (_fmutex_create (&dst->__u.__fsem, 0) != 0)
     32  if (_fmutex_create) != 0)
    3333    {
    3434      STREAMV_LOCK;
  • trunk/src/emx/src/lib/io/snprintf.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    1919    return EOF;
    2020  va_start (arg_ptr, format);
     21
    2122  trick._buffer = buffer;
    2223  trick._ptr = buffer;
  • trunk/src/emx/src/lib/io/sprintf.c

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1660 r1661  
    1717
    1818  va_start (arg_ptr, format);
     19
    1920  trick._buffer = buffer;
    2021  trick._ptr = buffer;
  • trunk/src/emx/src/lib/io/sscanf.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    1818
    1919  va_start (arg_ptr, format);
     20
    2021  trick._buffer = (char *)buffer;               /* const -> non-const */
    2122  trick._ptr = (char *)buffer;                  /* const -> non-const */
  • trunk/src/emx/src/lib/io/vsnprint.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    1616  if (n > INT_MAX)
    1717    return EOF;
     18
    1819  trick._buffer = buffer;
    1920  trick._ptr = buffer;
  • trunk/src/emx/src/lib/io/vsprintf.c

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1660 r1661  
    1414  int result;
    1515
     16
    1617  trick._buffer = buffer;
    1718  trick._ptr = buffer;
  • trunk/src/emx/src/lib/io/vsscanf.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    1616  int result;
    1717
     18
    1819  trick._buffer = (char *)buffer;             /* const -> non-const */
    1920  trick._ptr = (char *)buffer;                /* const -> non-const */
  • trunk/src/emx/src/lib/libc.def

    • Property cvs2svn:cvs-rev changed from 1.81 to 1.82
    r1660 r1661  
    2121EXPORTS
    2222; data
    23     "___default_hash" @1
     23    "___default_hash" @1
    2424    "___digits" @2
    2525    "___libc_GLocaleCtype" @3
    26     "___libc_GLocaleCtypeDefault" @4
    27     "___progname" @5
    28     "___stderrp" @6
    29     "___stdinp" @7
    30     "___stdoutp" @8
    31     "__atexit_n" @9
    32     "__atexit_v" @10
    33     "__emx_optarg" @11
    34     "__emx_opterr" @12
    35     "__emx_optind" @13
    36     "__emx_optmode" @14
    37     "__emx_optopt" @15
    38     "__emx_optswchar" @16
    39     "__fmode_bin" @17
    40     "__mb_cur_max" @18
    41     "__org_environ" @19
    42     "__osmajor" @20
    43     "__osminor" @21
    44     "__pipe_size" @22
    45     "__rand48_add" @23
    46     "__rand48_mult" @24
    47     "__rand48_seed" @25
    48     "__std_daylight" @26
    49     "__std_environ" @27
    50     "__std_timezone" @28
    51     "__std_tzname" @29
    52     "__streamv_fmutex" @30
    53     "__streamvec_head" @31
    54     "__streamvec_tail" @32
    55     "__tmpidx" @33
    56     "__tzi" @34
    57     "__tzset_flag" @35
    58     "__um_high_heap" @36
    59     "__um_low_heap" @37
    60     "__um_regular_heap" @38
    61     "__um_tiled_heap" @39
    62     "_error_message_count" @40
    63     "_error_one_per_line" @41
    64     "_error_print_progname" @42
    65     "_optarg" @43
    66     "_opterr" @44
    67     "_optind" @45
    68     "_optopt" @46
    69     "_optreset" @47
     26    "___libc_GpFIBGIS" @4
     27    "___libc_GpFIBLIS" @5
     28    "___libc_GpFIBPIB" @6
     29    "___progname" @7
     30    "___stderrp" @8
     31    "___stdinp" @9
     32    "___stdoutp" @10
     33    "__atexit_n" @11
     34    "__atexit_v" @12
     35    "__emx_optarg" @13
     36    "__emx_opterr" @14
     37    "__emx_optind" @15
     38    "__emx_optmode" @16
     39    "__emx_optopt" @17
     40    "__emx_optswchar" @18
     41    "__fmode_bin" @19
     42    "__mb_cur_max" @20
     43    "__org_environ" @21
     44    "__osmajor" @22
     45    "__osminor" @23
     46    "__pipe_size" @24
     47    "__rand48_add" @25
     48    "__rand48_mult" @26
     49    "__rand48_seed" @27
     50    "__std_daylight" @28
     51    "__std_environ" @29
     52    "__std_timezone" @30
     53    "__std_tzname" @31
     54    "__streamv_fmutex" @32
     55    "__streamvec_head" @33
     56    "__streamvec_tail" @34
     57    "__tmpidx" @35
     58    "__tzi" @36
     59    "__tzset_flag" @37
     60    "__um_high_heap" @38
     61    "__um_low_heap" @39
     62    "__um_regular_heap" @40
     63    "__um_tiled_heap" @41
     64    "_error_message_count" @42
     65    "_error_one_per_line" @43
     66    "_error_print_progname" @44
     67    "_optarg" @45
     68    "_opterr" @46
     69    "_optind" @47
     70    "_optopt" @48
     71    "_optreset" @49
     72    "_pwdb_versions" @50
    7073
    7174
     
    158161    "DosOpenEventSemEx" @180
    159162    "DosOpenMutexSemEx" @181
     163
    160164    "___add_ovflpage" @182
    161165    "___addel" @183
     
    204208    "___buf_init" @226
    205209    "___call_hash" @227
    206     "___libc_Back_fsDirCurrentSet" @228
    207     "___chmod" @229
    208     "___libc_Back_ioFileSizeSet" @230
    209     "___close" @231
    210     "___collate_range_cmp" @232
    211     "___ctordtorInit1" @233
    212     "___ctordtorTerm1" @234
    213     "___dbpanic" @235
    214     "___delpair" @236
    215     "___dtoa" @237
    216     "___dup" @238
    217     "___dup2" @239
    218     "___error" @240
    219     "___error_at_line" @241
    220     "___exit" @242
    221     "___expand_table" @243
    222     "___fcntl" @244
    223     "___find_bigpair" @245
    224     "___find_last_page" @246
    225     "___findfirst" @247
    226     "___findnext" @248
    227     "___fmutex_release_internal" @249
    228     "___fmutex_request_internal" @250
     210    "___" @228
     211    "___c" @229
     212    "___" @230
     213    "___c" @231
     214    "___c" @232
     215    "___" @233
     216    "___" @234
     217    "___d" @235
     218    "___d" @236
     219    "___d" @237
     220    "___" @238
     221    "___" @239
     222    "___e" @240
     223    "___ee" @241
     224    "___" @242
     225    "___" @243
     226    "___f" @244
     227    "___find" @245
     228    "___find" @246
     229    "___f" @247
     230    "___f" @248
     231    "___fmutex_re_internal" @249
     232    "___fmutex_request_internal" @250
    229233    "___fork" @251
    230234    "___fpclassify" @252
     
    232236    "___fpclassifyl" @254
    233237    "___free_ovflpage" @255
    234     "___libc_FHEx" @256
    235     "___ftime" @257
    236     "___libc_Back_fsSymlinkStat" @258
    237     "___get_buf" @259
    238     "___get_page" @260
    239     "___libc_Back_fsDirCurrentGet" @261
    240     "__std_chroot" @262
    241     "___hash_open" @263
    242     "___ibitmap" @264
    243     "___imphandle" @265
    244     "___init" @266
    245     "___init_app" @267
    246     "___init_dll" @268
    247     "___ioctl1" @269
    248     "___ioctl2" @270
    249     "___isctype" @271
    250     "___isfinite" @272
    251     "___isfinitef" @273
    252     "___isfinitel" @274
    253     "___isnan" @275
    254     "___isnanf" @276
    255     "___isnanl" @277
    256     "___isnormal" @278
    257     "___isnormalf" @279
    258     "___isnormall" @280
    259     "___istype" @281
    260     "___libc_Back_threadCleanup" @282
    261     "___libc_Back_threadEnd" @283
    262     "___libc_Back_threadInit" @284
    263     "___libc_Back_threadStartup" @285
    264     "___libc_FH" @286
    265     "___libc_FHAllocate" @287
    266     "___libc_FHClose" @288
    267     "___libc_FHEnsureHandles" @289
    268     "___libc_FHMoreHandles" @290
    269     "___libc_ForkDefaultModuleCallback" @291
    270     "___libc_ForkRegisterModule" @292
    271     "___libc_HasHighMem" @293
    272     "___libc_HeapEndVoting" @294
    273     "___libc_HeapGetResult" @295
    274     "___libc_HeapVote" @296
    275     "___libc_HimemDefaultAlloc" @297
    276     "___libc_HimemDefaultRelease" @298
    277     "___libc_LogAssert" @299
    278     "___libc_LogDumpHex" @300
    279     "___libc_LogEnter" @301
    280     "___libc_LogGroupInit" @302
    281     "___libc_LogInit" @303
    282     "___libc_LogLeave" @304
    283     "___libc_LogMsg" @305
    284     "___libc_LogRaw" @306
    285     "___libc_PathRewrite" @307
    286     "___libc_PathRewriteAdd" @308
    287     "___libc_PathRewriteRemove" @309
    288     "___libc_StrictMemoryR" @310
    289     "___libc_StrictMemoryRW" @311
    290     "___libc_StrictStringR" @312
    291     "___libc_TLSAlloc" @313
    292     "___libc_TLSDestructor" @314
    293     "___libc_TLSFree" @315
    294     "___libc_TLSGet" @316
    295     "___libc_TLSGetDestructor" @317
    296     "___libc_TLSSet" @318
    297     "___libc_TcpipAllocFH43" @319
    298     "___libc_TcpipAllocFH44" @320
    299     "___libc_TcpipAllocFHEx43" @321
    300     "___libc_TcpipAllocFHEx44" @322
    301     "___libc_Tcpipbsdselect43" @323
    302     "___libc_Tcpipbsdselect44" @324
    303     "___libc_ThreadRegisterTermCallback" @325
    304     "___libc_TranslateCodepage" @326
    305     "___log2" @327
    306     "___libc_Back_ioSeek" @328
    307     "___mempcpy" @329
    308     "___libc_Back_fsDirCreate" @330
    309     "___libc_Back_ioFileOpen" @331
    310     "___ovfl_delete" @332
    311     "___ovfl_get" @333
    312     "___ovfl_put" @334
    313     "___pipe" @335
    314     "___posix_spawn_file_actions_realloc" @336
    315     "___put_page" @337
    316     "___read" @338
    317     "___read_kbd" @339
    318     "___rec_close" @340
    319     "___rec_delete" @341
    320     "___rec_dleaf" @342
    321     "___rec_fd" @343
    322     "___rec_fmap" @344
    323     "___rec_fpipe" @345
    324     "___rec_get" @346
    325     "___rec_iput" @347
    326     "___rec_open" @348
    327     "___rec_put" @349
    328     "___rec_ret" @350
    329     "___rec_search" @351
    330     "___rec_seq" @352
    331     "___rec_sync" @353
    332     "___rec_vmap" @354
    333     "___rec_vpipe" @355
    334     "___reclaim_buf" @356
    335     "___remove_zeros" @357
    336     "___libc_Back_fsDirRemove" @358
    337     "___select" @359
    338     "___settime" @360
    339     "___signbit" @361
    340     "___signbitf" @362
    341     "___signbitl" @363
    342     "___small_atod" @364
    343     "___small_dtoa" @365
    344     "___smutex_request_internal" @366
    345     "___spawni" @367
    346     "___spawnve" @368
    347     "___split_page" @369
    348     "___libc_Back_fsFileStat" @370
    349     "___strndup" @371
    350     "___strnlen" @372
    351     "___swchar" @373
    352     "___threadid" @374
    353     "___tolower" @375
    354     "___toupper" @376
    355     "___ttyname" @377
    356     "___ulimit" @378
    357     "___unwind2" @379
    358     "___utimes" @380
    359     "___wait" @381
    360     "___waitpid" @382
    361     "___write" @383
    362     "__abspath" @384
    363     "__assert" @385
    364     "__atfork_callback" @386
    365     "__beginthread" @387
    366     "__bi_add_bb" @388
    367     "__bi_cmp_bb" @389
    368     "__bi_cmp_pow2" @390
    369     "__bi_div_add_back" @391
    370     "__bi_div_estimate" @392
    371     "__bi_div_rem_bb" @393
    372     "__bi_div_rem_bw" @394
    373     "__bi_div_rem_pow2" @395
    374     "__bi_div_subtract" @396
    375     "__bi_fls" @397
    376     "__bi_hdiv_rem_b" @398
    377     "__bi_mul_bb" @399
    378     "__bi_mul_bw" @400
    379     "__bi_pow5" @401
    380     "__bi_set_b" @402
    381     "__bi_set_d" @403
    382     "__bi_set_w" @404
    383     "__bi_shl_b" @405
    384     "__bi_shl_w" @406
    385     "__bi_shr_b" @407
    386     "__bi_sub_mul_bw" @408
    387     "__bi_wdiv_rem_pow2" @409
    388     "__chdir2" @410
    389     "__clear87" @411
    390     "__closestream" @412
    391     "__compute_dst_table" @413
    392     "__const_HALF" @414
    393     "__const_M_ONE" @415
    394     "__const_NAN" @416
    395     "__const_ONE" @417
    396     "__const_TWO" @418
    397     "__const_ZERO" @419
    398     "__control87" @420
    399     "__core" @421
    400     "__crlf" @422
    401     "__day" @423
    402     "__defext" @424
    403     "__dorand48" @425
    404     "__dt_free" @426
    405     "__dt_read" @427
    406     "__dt_sort" @428
    407     "__dt_split" @429
    408     "__ea_free" @430
    409     "__ea_get" @431
    410     "__ea_put" @432
    411     "__ea_remove" @433
    412     "__ea_set_errno" @434
    413     "__ea_write" @435
    414     "__ead_add" @436
    415     "__ead_clear" @437
    416     "__ead_copy" @438
    417     "__ead_count" @439
    418     "__ead_create" @440
    419     "__ead_delete" @441
    420     "__ead_destroy" @442
    421     "__ead_enum" @443
    422     "__ead_fea2list_size" @444
    423     "__ead_fea2list_to_fealist" @445
    424     "__ead_fealist_to_fea2list" @446
    425     "__ead_find" @447
    426     "__ead_get_fea2list" @448
    427     "__ead_get_flags" @449
    428     "__ead_get_name" @450
    429     "__ead_get_value" @451
    430     "__ead_make_index" @452
    431     "__ead_name_len" @453
    432     "__ead_read" @454
    433     "__ead_replace" @455
    434     "__ead_size_buffer" @456
    435     "__ead_sort" @457
    436     "__ead_use_fea2list" @458
    437     "__ead_value_size" @459
    438     "__ead_write" @460
    439     "__emx_getopt" @461
    440     "__emxload_connect" @462
    441     "__emxload_disconnect" @463
    442     "__emxload_do_connect" @464
    443     "__emxload_do_disconnect" @465
    444     "__emxload_do_receive" @466
    445     "__emxload_do_request" @467
    446     "__emxload_do_wait" @468
    447     "__emxload_env" @469
    448     "__emxload_list_get" @470
    449     "__emxload_list_start" @471
    450     "__emxload_prog" @472
    451     "__emxload_request" @473
    452     "__emxload_stop" @474
    453     "__emxload_this" @475
    454     "__emxload_unload" @476
    455     "__endbuf1" @477
    456     "__endthread" @478
    457     "__envargs" @479
    458     "__err" @480
    459     "__errno" @481
    460     "__errno_fun" @482
    461     "__execname" @483
    462     "__exit" @484
    463     "__exit_streams" @485
    464     "__fbuf" @486
    465     "__fcloseall" @487
    466     "__fflush_nolock" @488
    467     "__filesys" @489
    468     "__fill" @490
    469     "__flush" @491
    470     "__flushstream" @492
    471     "__fmutex_checked_close" @493
    472     "__fmutex_checked_create" @494
    473     "__fmutex_checked_open" @495
    474     "__fmutex_close" @496
    475     "__fmutex_create" @497
    476     "__fmutex_dummy" @498
    477     "__fmutex_open" @499
    478     "__fnexplode" @500
    479     "__fnexplodefree" @501
    480     "__fngetdrive" @502
    481     "__fnisabs" @503
    482     "__fnisrel" @504
    483     "__fnlwr" @505
    484     "__fnlwr2" @506
    485     "__fnslashify" @507
    486     "__fpreset" @508
    487     "__fseek_hdr" @509
    488     "__fseek_nolock" @510
    489     "__fsetmode" @511
    490     "__fsopen" @512
    491     "__ftell_nolock" @513
    492     "__fullpath" @514
    493     "__fwrite_nolock" @515
    494     "__fxam" @516
    495     "__fxaml" @517
    496     "__getcwd1" @518
    497     "__getcwd2" @519
    498     "__getdrive" @520
    499     "__getext" @521
    500     "__getext2" @522
    501     "__getname" @523
    502     "__getpass1" @524
    503     "__getpass2" @525
    504     "__getprogname" @526
    505     "__gettid" @527
    506     "__getvol" @528
    507     "__gmt2loc" @529
    508     "__hcalloc" @530
    509     "__heap_walk" @531
    510     "__heapchk" @532
    511     "__heapmin" @533
    512     "__heapset" @534
    513     "__hinitheap" @535
    514     "__hmalloc" @536
    515     "__hrealloc" @537
    516     "__imphandle" @538
    517     "__init_streams" @539
    518     "__input" @540
    519     "__int86" @541
    520     "__isterm" @542
    521     "__lcalloc" @543
    522     "__libc_16to32" @544
    523     "__libc_32to16" @545
    524     "__libc_thunk1" @546
    525     "__linitheap" @547
    526     "__lmalloc" @548
    527     "__loc2gmt" @549
    528     "__lrealloc" @550
    529     "__makepath" @551
    530     "__memcount" @552
    531     "__memdif" @553
    532     "__memrchr" @554
    533     "__memswap" @555
    534     "__mfclose" @556
    535     "__mfopen" @557
    536     "__mheap" @558
    537     "__mktime" @559
    538     "__month_day_leap" @560
    539     "__month_day_non_leap" @561
    540     "__msize" @562
    541     "__newstream" @563
    542     "__openstream" @564
    543     "__os2_bad" @565
    544     "__output" @566
    545     "__path" @567
    546     "__read_kbd" @568
    547     "__remext" @569
    548     "__response" @570
    549     "__rfnlwr" @571
    550     "__rmtmp" @572
    551     "__scrsize" @573
    552     "__searchenv" @574
    553     "__seek_hdr" @575
    554     "__sfnlwr" @576
    555     "__sleep2" @577
    556     "__splitargs" @578
    557     "__splitpath" @579
    558     "__status87" @580
    559     "__std_abort" @581
    560     "__std_abs" @582
    561     "__std_access" @583
    562     "__std_acos" @584
    563     "__std_acosl" @585
    564     "__std_asctime" @586
    565     "__std_asctime_r" @587
    566     "__std_asin" @588
    567     "__std_asinl" @589
    568     "__std_atan" @590
    569     "__std_atan2" @591
    570     "__std_atan2l" @592
    571     "__std_atanl" @593
    572     "__std_atexit" @594
    573     "__std_atof" @595
    574     "__std_atofl" @596
    575     "__std_atoi" @597
    576     "__std_atol" @598
    577     "__std_atoll" @599
    578     "__std_basename" @600
    579     "__std_bcmp" @601
    580     "__std_bcopy" @602
    581     "__std_brk" @603
    582     "__std_bsearch" @604
    583     "__std_bzero" @605
    584     "__std_calloc" @606
    585     "__std_cbrt" @607
    586     "__std_cbrtl" @608
    587     "__std_ceil" @609
    588     "__std_ceill" @610
    589     "__std_cfgetispeed" @611
    590     "__std_cfgetospeed" @612
    591     "__std_cfsetispeed" @613
    592     "__std_cfsetospeed" @614
    593     "__std_cfsetspeed" @615
    594     "__std_chdir" @616
    595     "__chdrive" @617
    596     "__std_chmod" @618
    597     "__std_chsize" @619
    598     "__std_clearerr" @620
    599     "__std_clock" @621
    600     "__std_close" @622
    601     "__std_closedir" @623
    602     "__std_copysign" @624
    603     "__std_copysignf" @625
    604     "__std_copysignl" @626
    605     "__std_cos" @627
    606     "__std_cosh" @628
    607     "__std_coshl" @629
    608     "__std_cosl" @630
    609     "__std_creat" @631
    610     "__std_ctime" @632
    611     "__std_ctime_r" @633
    612     "__std_cuserid" @634
    613     "__std_difftime" @635
    614     "__std_dirname" @636
    615     "__std_div" @637
    616     "__std_drand48" @638
    617     "__std_dup" @639
    618     "__std_dup2" @640
    619     "__std_eaccess" @641
    620     "__std_endpwent" @642
    621     "__std_eof" @643
    622     "__std_erand48" @644
    623     "__std_execl" @645
    624     "__std_execle" @646
    625     "__std_execlp" @647
    626     "__std_execlpe" @648
    627     "__std_execv" @649
    628     "__std_execve" @650
    629     "__std_execvp" @651
    630     "__std_execvpe" @652
    631     "__std_exit" @653
    632     "__std_exp" @654
    633     "__std_expand" @655
    634     "__std_expl" @656
    635     "__std_fabs" @657
    636     "__std_fabsl" @658
    637     "__std_fclose" @659
    638     "__std_fcntl" @660
    639     "__std_fdopen" @661
    640     "__std_feof" @662
    641     "__std_ferror" @663
    642     "__std_fflush" @664
    643     "__std_ffs" @665
    644     "__std_fgetc" @666
    645     "__std_fgetchar" @667
    646     "__std_fgetpos" @668
    647     "__std_fgets" @669
    648     "__std_filelength" @670
    649     "__std_fileno" @671
    650     "__std_flock" @672
    651     "__std_floor" @673
    652     "__std_floorl" @674
    653     "__std_flushall" @675
    654     "__std_fmod" @676
    655     "__std_fmodl" @677
    656     "__std_fnmatch" @678
    657     "__std_fopen" @679
    658     "__std_fork" @680
    659     "__std_fpathconf" @681
    660     "__std_fprintf" @682
    661     "__std_fputc" @683
    662     "__std_fputchar" @684
    663     "__std_fputs" @685
    664     "__std_fread" @686
    665     "__std_free" @687
    666     "__std_freopen" @688
    667     "__std_frexp" @689
    668     "__std_frexpl" @690
    669     "__std_fscanf" @691
    670     "__std_fseek" @692
    671     "__std_fseeko" @693
    672     "__std_fsetpos" @694
    673     "__std_fstat" @695
    674     "__std_fsync" @696
    675     "__std_ftell" @697
    676     "__std_ftello" @698
    677     "__std_ftime" @699
    678     "__std_ftruncate" @700
    679     "__std_ftw" @701
    680     "__std_fwrite" @702
    681     "__std_gcvt" @703
    682     "__std_getchar" @704
    683     "__std_getcwd" @705
    684     "__std_getegid" @706
    685     "__std_getenv" @707
    686     "__std_geteuid" @708
    687     "__std_getgid" @709
    688     "___libc_Back_signalTimer" @710
    689     "__std_getgrnam" @711
    690     "__std_getgroups" @712
    691     "__std_getlogin" @713
    692     "__std_getopt" @714
    693     "__std_getpagesize" @715
    694     "__std_getpass" @716
    695     "__std_getpgrp" @717
    696     "__std_getpid" @718
    697     "__std_getppid" @719
    698     "__std_ualarm" @720
    699     "__std_getpwent" @721
    700     "__std_setitimer" @722
    701     "__std_getitimer" @723
    702     "__std_getrlimit" @724
    703     "__std_gets" @725
    704     "__std_gettimeofday" @726
    705     "__std_getuid" @727
    706     "__std_getw" @728
    707     "__std_getwd" @729
    708     "__std_glob" @730
    709     "__std_globfree" @731
    710     "__std_gmtime" @732
    711     "__std_gmtime_r" @733
    712     "__std_hcreate" @734
    713     "__std_hdestroy" @735
    714     "__std_hsearch" @736
    715     "__std_hypot" @737
    716     "__std_hypotl" @738
    717     "__std_imaxabs" @739
    718     "__std_imaxdiv" @740
    719     "__std_index" @741
    720     "__std_insque" @742
    721     "__std_ioctl" @743
    722     "__std_isatty" @744
    723     "__std_jrand48" @745
    724     "__std_kill" @746
    725     "__std_labs" @747
    726     "__std_lcong48" @748
    727     "__std_ldexp" @749
    728     "__std_ldexpl" @750
    729     "__std_ldiv" @751
    730     "__std_lfind" @752
    731     "__std_lltoa" @753
    732     "__std_localeconv" @754
    733     "__std_localtime" @755
    734     "__std_localtime_r" @756
    735     "__std_lockf" @757
    736     "__std_log" @758
    737     "__std_log10" @759
    738     "__std_log10l" @760
    739     "__std_logl" @761
    740     "__std_longjmp" @762
    741     "__std_lrand48" @763
    742     "__std_lsearch" @764
    743     "__std_lseek" @765
    744     "__std_lstat" @766
    745     "__std_ltoa" @767
    746     "__std_malloc" @768
    747     "__std_mblen" @769
    748     "__std_mbstowcs" @770
    749     "__std_mbtowc" @771
    750     "__std_memccpy" @772
    751     "__std_memchr" @773
    752     "__std_memcmp" @774
    753     "__std_memcpy" @775
    754     "__std_memicmp" @776
    755     "__std_memmove" @777
    756     "__std_memset" @778
    757     "__std_mkdir" @779
    758     "__std_mkstemp" @780
    759     "__std_mktemp" @781
    760     "__std_mktime" @782
    761     "__std_modf" @783
    762     "__std_modfl" @784
    763     "__std_mrand48" @785
    764     "__std_nextafter" @786
    765     "__std_nextafterf" @787
    766     "__std_nextafterl" @788
    767     "__std_nrand48" @789
    768     "__std_open" @790
    769     "__std_opendir" @791
    770     "__std_pathconf" @792
    771     "__std_pause" @793
    772     "__std_pclose" @794
    773     "__std_perror" @795
    774     "__std_pipe" @796
    775     "__std_popen" @797
    776     "__std_posix_memalign" @798
    777     "__std_pow" @799
    778     "__std_powl" @800
    779     "__std_printf" @801
    780     "__std_putchar" @802
    781     "__std_putenv" @803
    782     "__std_puts" @804
    783     "__std_putw" @805
    784     "__std_qsort" @806
    785     "__std_qsort_r" @807
    786     "__std_raise" @808
    787     "__std_rand" @809
    788     "__std_read" @810
    789     "__std_readdir" @811
    790     "__std_readdir_r" @812
    791     "__std_readv" @813
    792     "__std_realloc" @814
    793     "__std_realpath" @815
    794     "__std_remove" @816
    795     "__std_remque" @817
    796     "__std_rename" @818
    797     "__std_rewind" @819
    798     "__std_rewinddir" @820
    799     "__std_rindex" @821
    800     "__std_rint" @822
    801     "__std_rintl" @823
    802     "__std_rmdir" @824
    803     "__std_sbrk" @825
    804     "__std_scanf" @826
    805     "__std_seed48" @827
    806     "__std_seekdir" @828
    807     "__std_select" @829
    808     "__std_setbuf" @830
    809     "__std_setbuffer" @831
    810     "__std_setenv" @832
    811     "__std_setgid" @833
    812     "__std_setjmp" @834
    813     "__std_setlocale" @835
    814     "__std_setmode" @836
    815     "__std_setpgid" @837
    816     "__std_setpwent" @838
    817     "__std_setrlimit" @839
    818     "__std_setsid" @840
    819     "__std_settimeofday" @841
    820     "__std_setuid" @842
    821     "__std_setvbuf" @843
    822     "__std_sigaction" @844
    823     "__std_sigaddset" @845
    824     "__std_sigdelset" @846
    825     "__std_sigemptyset" @847
    826     "__std_sigfillset" @848
    827     "__std_sigismember" @849
    828     "__std_siglongjmp" @850
    829     "__std_signal" @851
    830     "__std_sigpending" @852
    831     "__std_sigprocmask" @853
    832     "__std_sigsetjmp" @854
    833     "__std_sigsuspend" @855
    834     "__std_sin" @856
    835     "__std_sinh" @857
    836     "__std_sinhl" @858
    837     "__std_sinl" @859
    838     "__std_sleep" @860
    839     "__std_snprintf" @861
    840     "__std_sopen" @862
    841     "__std_spawnl" @863
    842     "__std_spawnle" @864
    843     "__std_spawnlp" @865
    844     "__std_spawnlpe" @866
    845     "__std_spawnv" @867
    846     "__std_spawnve" @868
    847     "__std_spawnvp" @869
    848     "__std_spawnvpe" @870
    849     "__std_sprintf" @871
    850     "__std_sqrt" @872
    851     "__std_sqrtl" @873
    852     "__std_srand" @874
    853     "__std_srand48" @875
    854     "__std_sscanf" @876
    855     "__std_stat" @877
    856     "__std_strcat" @878
    857     "__std_strchr" @879
    858     "__std_strcmp" @880
    859     "__std_strcoll" @881
    860     "__std_strcpy" @882
    861     "__std_strcspn" @883
    862     "__std_strdup" @884
    863     "__std_strerror" @885
    864     "__std_strerror_r" @886
    865     "__std_strftime" @887
    866     "__std_stricmp" @888
    867     "__std_strlen" @889
    868     "__std_strlwr" @890
    869     "__std_strncat" @891
    870     "__std_strncmp" @892
    871     "__std_strncpy" @893
    872     "__std_strnicmp" @894
    873     "__std_strnset" @895
    874     "__std_strpbrk" @896
    875     "__std_strptime" @897
    876     "__std_strrchr" @898
    877     "__std_strrev" @899
    878     "__std_strset" @900
    879     "__std_strspn" @901
    880     "__std_strstr" @902
    881     "__std_strtod" @903
    882     "__std_strtof" @904
    883     "__std_strtoimax" @905
    884     "__std_strtok" @906
    885     "__std_strtok_r" @907
    886     "__std_strtol" @908
    887     "__std_strtold" @909
    888     "__std_strtoll" @910
    889     "__std_strtoul" @911
    890     "__std_strtoull" @912
    891     "__std_strtoumax" @913
    892     "__std_strupr" @914
    893     "__std_strxfrm" @915
    894     "__std_swab" @916
    895     "__std_sys_errlist" @917
    896     "__std_sys_nerr" @918
    897     "__std_sysconf" @919
    898     "__std_system" @920
    899     "__std_tan" @921
    900     "__std_tanh" @922
    901     "__std_tanhl" @923
    902     "__std_tanl" @924
    903     "__std_tcdrain" @925
    904     "__std_tcflow" @926
    905     "__std_tcflush" @927
    906     "__std_tcgetattr" @928
    907     "__std_tcgetpgrp" @929
    908     "__std_tcsendbreak" @930
    909     "__std_tcsetattr" @931
    910     "__std_tcsetpgrp" @932
    911     "__std_tdelete" @933
    912     "__std_tell" @934
    913     "__std_telldir" @935
    914     "__std_tempnam" @936
    915     "__std_tfind" @937
    916     "__std_time" @938
    917     "__std_times" @939
    918     "__std_tmpfile" @940
    919     "__std_tmpnam" @941
    920     "__std_trunc" @942
    921     "__std_truncate" @943
    922     "__std_truncl" @944
    923     "__std_tsearch" @945
    924     "__std_ttyname" @946
    925     "__std_twalk" @947
    926     "__std_tzset" @948
    927     "__std_ulimit" @949
    928     "__std_ulltoa" @950
    929     "__std_ultoa" @951
    930     "__std_umask" @952
    931     "__std_uname" @953
    932     "__std_ungetc" @954
    933     "__std_unlink" @955
    934     "__std_unsetenv" @956
    935     "__std_usleep" @957
    936     "__std_utime" @958
    937     "__std_utimes" @959
    938     "__std_vfprintf" @960
    939     "__std_vfscanf" @961
    940     "__std_vprintf" @962
    941     "__std_vscanf" @963
    942     "__std_vsnprintf" @964
    943     "__std_vsprintf" @965
    944     "__std_vsscanf" @966
    945     "__std_wait" @967
    946     "__std_waitpid" @968
    947     "__std_wcstombs" @969
    948     "__std_wctomb" @970
    949     "__std_write" @971
    950     "__std_writev" @972
    951     "__stream_read" @973
    952     "__stream_write" @974
    953     "__strncpy" @975
    954     "__swchar" @976
    955     "__sys_dump_heap_objs" @977
    956     "__tcalloc" @978
    957     "__tfree" @979
    958     "__theapmin" @980
    959     "__threadstore" @981
    960     "__tmalloc" @982
    961     "__tmpbuf1" @983
    962     "__tmpidx_lock" @984
    963     "__tmpidx_unlock" @985
    964     "__tmpidxnam" @986
    965     "__trealloc" @987
    966     "__trslash" @988
    967     "__uaddmem" @989
    968     "__ucalloc" @990
    969     "__uclose" @991
    970     "__ucreate" @992
    971     "__ucreate2" @993
    972     "__udefault" @994
    973     "__udestroy" @995
    974     "__uflags" @996
    975     "__uheap_type" @997
    976     "__uheap_walk" @998
    977     "__uheap_walk2" @999
    978     "__uheapchk" @1000
    979     "__uheapmin" @1001
    980     "__uheapset" @1002
    981     "__uldiv" @1003
    982     "__um_addmem_nolock" @1004
    983     "__um_alloc_no_lock" @1005
    984     "__um_crumb_free_maybe_lock" @1006
    985     "__um_default_alloc" @1007
    986     "__um_default_expand" @1008
    987     "__um_default_release" @1009
    988     "__um_default_shrink" @1010
    989     "__um_find_bucket" @1011
    990     "__um_free_maybe_lock" @1012
    991     "__um_init_default_regular_heap" @1013
    992     "__um_init_default_tiled_heap" @1014
    993     "__um_lump_alloc" @1015
    994     "__um_lump_coalesce_free" @1016
    995     "__um_lump_free_maybe_lock" @1017
    996     "__um_lump_link_heap" @1018
    997     "__um_lump_make_free" @1019
    998     "__um_lump_unlink_bucket" @1020
    999     "__um_lump_unlink_heap" @1021
    1000     "__um_realloc" @1022
    1001     "__um_seg_addmem" @1023
    1002     "__um_seg_setmem" @1024
    1003     "__um_walk_error" @1025
    1004     "__um_walk_no_lock" @1026
    1005     "__umalloc" @1027
    1006     "__ungetc_nolock" @1028
    1007     "__uopen" @1029
    1008     "__ustats" @1030
    1009     "__utcalloc" @1031
    1010     "__utdefault" @1032
    1011     "__utmalloc" @1033
    1012     "__vsopen" @1034
    1013     "__warn" @1035
    1014     "__wildcard" @1036
    1015     "__year_day" @1037
    1016     "_argz_delete" @1038
    1017     "_catclose" @1039
    1018     "_catgets" @1040
    1019     "_catopen" @1041
    1020     "_dbm_clearerr" @1042
    1021     "_dbm_close" @1043
    1022     "_dbm_delete" @1044
    1023     "_dbm_dirfno" @1045
    1024     "_dbm_error" @1046
    1025     "_dbm_fetch" @1047
    1026     "_dbm_firstkey" @1048
    1027     "_dbm_nextkey" @1049
    1028     "_dbm_open" @1050
    1029     "_dbm_store" @1051
    1030     "_dbopen" @1052
    1031     "_err_set_exit" @1053
    1032     "_err_set_file" @1054
    1033     "_errc" @1055
    1034     "_errx" @1056
    1035     "__std_getopt_long" @1057
    1036     "_heapsort" @1058
    1037     "_initstate" @1059
    1038     "_isalnum" @1060
    1039     "_isalpha" @1061
    1040     "_isascii" @1062
    1041     "_isblank" @1063
    1042     "_iscntrl" @1064
    1043     "_isdigit" @1065
    1044     "_isgraph" @1066
    1045     "_ishexnumber" @1067
    1046     "_islower" @1068
    1047     "_isnumber" @1069
    1048     "_isprint" @1070
    1049     "_ispunct" @1071
    1050     "_isspace" @1072
    1051     "_isupper" @1073
    1052     "_isxdigit" @1074
    1053     "_lchmod" @1075
    1054     "_mergesort" @1076
    1055     "_mpool_close" @1077
    1056     "_mpool_filter" @1078
    1057     "_mpool_get" @1079
    1058     "_mpool_new" @1080
    1059     "_mpool_open" @1081
    1060     "_mpool_put" @1082
    1061     "_mpool_sync" @1083
    1062     "_posix_spawn" @1084
    1063     "_posix_spawn_file_actions_addclose" @1085
    1064     "_posix_spawn_file_actions_adddup2" @1086
    1065     "_posix_spawn_file_actions_addopen" @1087
    1066     "_posix_spawn_file_actions_destroy" @1088
    1067     "_posix_spawn_file_actions_init" @1089
    1068     "_posix_spawnattr_destroy" @1090
    1069     "_posix_spawnattr_getflags" @1091
    1070     "_posix_spawnattr_getpgroup" @1092
    1071     "_posix_spawnattr_getschedparam" @1093
    1072     "_posix_spawnattr_getschedpolicy" @1094
    1073     "_posix_spawnattr_getsigdefault" @1095
    1074     "_posix_spawnattr_getsigmask" @1096
    1075     "_posix_spawnattr_init" @1097
    1076     "_posix_spawnattr_setflags" @1098
    1077     "_posix_spawnattr_setpgroup" @1099
    1078     "_posix_spawnattr_setschedparam" @1100
    1079     "_posix_spawnattr_setschedpolicy" @1101
    1080     "_posix_spawnattr_setsigdefault" @1102
    1081     "_posix_spawnattr_setsigmask" @1103
    1082     "_posix_spawnp" @1104
    1083     "_radixsort" @1105
    1084     "_random" @1106
    1085     "_reallocf" @1107
    1086     "_regcomp" @1108
    1087     "_regerror" @1109
    1088     "_regexec" @1110
    1089     "_regfree" @1111
    1090     "_setprogname" @1112
    1091     "_setstate" @1113
    1092 ;    "_sig_info" @1114
    1093     "_sradixsort" @1115
    1094     "_srandom" @1116
    1095     "_srandomdev" @1117
    1096     "_stpcpy" @1118
    1097     "_strcasestr" @1119
    1098     "_strlcat" @1120
    1099     "_strlcpy" @1121
    1100     "_strnstr" @1122
    1101     "_strsep" @1123
    1102     "_strsignal" @1124
    1103 ;    "_sys_exception" @1125
    1104     "_sys_nsig" @1126
    1105     "_sys_siglist" @1127
    1106     "_sys_signame" @1128
    1107     "_toascii" @1129
    1108     "_tolower" @1130
    1109     "_toupper" @1131
    1110     "_verr" @1132
    1111     "_verrc" @1133
    1112     "_verrx" @1134
    1113     "_vwarn" @1135
    1114     "_vwarnc" @1136
    1115     "_vwarnx" @1137
    1116     "_warnc" @1138
    1117     "_warnx" @1139
    1118     ; new stuff.
    1119 
    1120     "___libc_SpmCheck" @1140
    1121     "___libc_Back_miscLoadAvg" @1141
    1122     "___libc_Back_fsFileStatFH" @1142
    1123     "___libc_Back_fsStat" @1143
    1124     "___libc_Back_fsStatFH" @1144
    1125     "___libc_Back_fsStats" @1145
    1126     "_getmntinfo" @1146
    1127     "__std_fstatfs" @1147
    1128     "__std_fstatvfs" @1148
    1129     "__std_getfsstat" @1149
    1130     "__std_getloadavg" @1150
    1131     "__std_statfs" @1151
    1132     "__std_statvfs" @1152
    1133     "__std_chown" @1153
    1134     "__std_fchown" @1154
    1135     "__std_lchown" @1155
    1136     "__std_link" @1156
    1137     "__std_mknod" @1157
    1138     "__std_readlink" @1158
    1139     "__std_symlink" @1159
    1140     "___libc_Back_fsSync" @1160
    1141     "__std_sync" @1161
    1142     "_endgrent" @1162
    1143     "_getgrent" @1163
    1144     "_getgrent_r" @1164
    1145     "_getgrgid_r" @1165
    1146     "_getgrnam_r" @1166
    1147     "___gr_match_entry" @1167
    1148     "___gr_parse_entry" @1168
    1149     "__nsdbtaddsrc" @1169
    1150     "__nsdbtput" @1170
    1151     "___nsdefaultsrc" @1171
    1152     "__nsdispatch" @1172
    1153     "_setgrent" @1173
    1154     "_setgroupent" @1174
    1155     "_endnetgrent" @1175
    1156     "_endusershell" @1176
    1157     "_getnetgrent" @1177
    1158     "_getpwent_r" @1178
    1159     "_getpwnam_r" @1179
    1160     "_getpwuid_r" @1180
    1161     "_getusershell" @1181
    1162     "_innetgr" @1182
    1163     "_pwdb_versions" @1183
    1164     "___pw_match_entry" @1184
    1165     "___pw_parse_entry" @1185
    1166     "___pw_scan" @1186
    1167     "_setnetgrent" @1187
    1168     "_setusershell" @1188
    1169     "_sl_add" @1189
    1170     "_sl_find" @1190
    1171     "_sl_free" @1191
    1172     "_sl_init" @1192
    1173     "__std_setpassent" @1193
    1174     "__std_setgroups" @1194
    1175     "___libc_OS2ErrorPop" @1195
    1176     "___libc_OS2ErrorPush" @1196
    1177     "___libc_OS2ErrorSet" @1197
    1178     "__getdcwd" @1198
    1179     "___libc_Back_fsDirChangeRoot" @1199
    1180     "___libc_Back_fsSymlinkCreate" @1200
    1181     "___libc_Back_fsSymlinkRead" @1201
    1182     "___libc_Back_ioFHToPath" @1202
    1183     "__std_getdtablesize" @1203
    1184     "_strmode" @1204
    1185     "___strverscmp" @1205
    1186     "__getcwdux" @1206
    1187     "___libc_Back_fsPathResolve" @1207
    1188     "__std_canonicalize_file_name" @1208
    1189     "__std_alarm" @1209
    1190     "___libc_Back_fsDriveDefaultGet" @1210
    1191     "___libc_Back_fsDriveDefaultSet" @1211
    1192     "__realrealpath" @1212
    1193 
    1194     ; 0.6 alpha 3 - start
    1195     "___libc_Timebomb" @1217
    1196     "___libc_Back_ldrClose" @1218
    1197     "___libc_Back_ldrOpen" @1219
    1198     "___libc_Back_ldrSymbol" @1220
    1199     "__std_dlclose" @1221
    1200     "__std_dlerror" @1222
    1201     "__std_dlopen" @1223
    1202     "__std_dlsym" @1224
    1203     "_getgrouplist" @1225
    1204     "_initgroups" @1226
    1205     "__std_memalign" @1227
    1206     "__std_valloc" @1228
    1207     "___lazyimp_resolver" @1229
    1208     "___lazyimp_resolver2" @1230
    1209     "___lazyldr_uconv_resolver" @1231
    1210     "___lazyldr_libuni_resolver" @1232
    1211     "___libc_Back_mmanProtect" @1233
    1212     "__std_mprotect" @1234
    1213     "__libc_Back_exceptionHandler" @1235
    1214     "__signal_os2" @1236
    1215     "__signal_sysv" @1237
    1216     "___sigpause_bsd" @1238
    1217     "__std_bsd_signal" @1239
    1218     "__std_killpg" @1240
    1219     "__std_psignal" @1241
    1220     "__std_sigaltstack" @1242
    1221     "__std_sigblock" @1243
    1222     "__std_sighold" @1244
    1223     "__std_sigignore" @1245
    1224     "__std_siginterrupt" @1246
    1225     "__std_sigpause" @1247
    1226     "__std_sigrelse" @1248
    1227     "__std_sigsetmask" @1249
    1228     "__std_sigtimedwait" @1250
    1229     "__std_sigvec" @1251
    1230     "__std_sigwait" @1252
    1231     "__std_sigwaitinfo" @1253
    1232     "__std_sigqueue" @1254
    1233     "__std_sigset" @1255
    1234     "_getgrgid" @1256
    1235     "_getpwnam" @1257
    1236     "_getpwuid" @1258
    1237     "___libc_Back_processGetEffGid" @1259
    1238     "___libc_Back_processGetEffUid" @1260
    1239     "___libc_Back_processGetGid" @1261
    1240     "___libc_Back_processGetUid" @1262
    1241     "___libc_Back_processSetGid" @1263
    1242     "___libc_Back_processSetGidAll" @1264
    1243     "___libc_Back_processSetUid" @1265
    1244     "___libc_Back_processSetUidAll" @1266
    1245     "___libc_Back_processWait" @1267
    1246     "___libc_Back_signalAction" @1268
    1247     "___libc_Back_signalInterrupt" @1269
    1248     "___libc_Back_signalMask" @1270
    1249     "___libc_Back_signalPending" @1271
    1250     "___libc_Back_signalQueue" @1272
    1251     "___libc_Back_signalRaise" @1273
    1252     "___libc_Back_signalSendPGrp" @1274
    1253     "___libc_Back_signalSendPid" @1275
    1254     "___libc_Back_signalStack" @1276
    1255     "___libc_Back_signalSuspend" @1277
    1256     "___libc_Back_signalWait" @1278
    1257     "__std_setegid" @1279
    1258     "__std_seteuid" @1280
    1259     "__std_setregid" @1281
    1260     "__std_setresgid" @1282
    1261     "__std_setresuid" @1283
    1262     "__std_setreuid" @1284
    1263     "__std_setrgid" @1285
    1264     "__std_setruid" @1286
    1265     "__std_waitid" @1287
    1266     "__std_wait3" @1288
    1267     "__std_wait4" @1289
    1268     "__std_getopt_long_only" @1290
    1269 
     238    "___ftime" @256
     239    "___get_buf" @257
     240    "___get_page" @258
     241    "___gr_match_entry" @259
     242    "___gr_parse_entry" @260
     243    "___hash_open" @261
     244    "___ibitmap" @262
     245    "___imphandle" @263
     246    "___init" @264
     247    "___init_app" @265
     248    "___init_dll" @266
     249    "___ioctl1" @267
     250    "___ioctl2" @268
     251    "___isctype" @269
     252    "___isfinite" @270
     253    "___isfinitef" @271
     254    "___isfinitel" @272
     255    "___isnan" @273
     256    "___isnanf" @274
     257    "___isnanl" @275
     258    "___isnormal" @276
     259    "___isnormalf" @277
     260    "___isnormall" @278
     261    "___istype" @279
     262    "___lazyimp_resolver" @280
     263    "___lazyimp_resolver2" @281
     264    "___lazyldr_libuni_resolver" @282
     265    "___lazyldr_uconv_resolver" @283
     266    "___libc_Back_fibDumpAll" @284
     267    "___libc_Back_fsDirChangeRoot" @285
     268    "___libc_Back_fsDirCreate" @286
     269    "___libc_Back_fsDirCurrentGet" @287
     270    "___libc_Back_fsDirCurrentSet" @288
     271    "___libc_Back_fsDirRemove" @289
     272    "___libc_Back_fsDriveDefaultGet" @290
     273    "___libc_Back_fsDriveDefaultSet" @291
     274    "___libc_Back_fsFileStat" @292
     275    "___libc_Back_fsFileStatFH" @293
     276    "___libc_Back_fsPathResolve" @294
     277    "___libc_Back_fsStat" @295
     278    "___libc_Back_fsStatFH" @296
     279    "___libc_Back_fsStats" @297
     280    "___libc_Back_fsSymlinkCreate" @298
     281    "___libc_Back_fsSymlinkRead" @299
     282    "___libc_Back_fsSymlinkStat" @300
     283    "___libc_Back_fsSync" @301
     284    "___libc_Back_ioFHToPath" @302
     285    "___libc_Back_ioFileOpen" @303
     286    "___libc_Back_ioFileSizeSet" @304
     287    "___libc_Back_ioSeek" @305
     288    "___libc_Back_ldrClose" @306
     289    "___libc_Back_ldrOpen" @307
     290    "___libc_Back_ldrSymbol" @308
     291    "___libc_Back_miscLoadAvg" @309
     292    "___libc_Back_mmanProtect" @310
     293    "___libc_Back_processGetEffGid" @311
     294    "___libc_Back_processGetEffUid" @312
     295    "___libc_Back_processGetGid" @313
     296    "___libc_Back_processGetUid" @314
     297    "___libc_Back_processSetGid" @315
     298    "___libc_Back_processSetGidAll" @316
     299    "___libc_Back_processSetUid" @317
     300    "___libc_Back_processSetUidAll" @318
     301    "___libc_Back_processWait" @319
     302    "___libc_Back_signalAction" @320
     303    "___libc_Back_signalInterrupt" @321
     304    "___libc_Back_signalMask" @322
     305    "___libc_Back_signalPending" @323
     306    "___libc_Back_signalQueue" @324
     307    "___libc_Back_signalRaise" @325
     308    "___libc_Back_signalSendPGrp" @326
     309    "___libc_Back_signalSendPid" @327
     310    "___libc_Back_signalStack" @328
     311    "___libc_Back_signalSuspend" @329
     312    "___libc_Back_signalTimer" @330
     313    "___libc_Back_signalWait" @331
     314    "___libc_Back_threadCleanup" @332
     315    "___libc_Back_threadEnd" @333
     316    "___libc_Back_threadInit" @334
     317    "___libc_Back_threadStartup" @335
     318    "___libc_FH" @336
     319    "___libc_FHAllocate" @337
     320    "___libc_FHClose" @338
     321    "___libc_FHEnsureHandles" @339
     322    "___libc_FHEx" @340
     323    "___libc_FHMoreHandles" @341
     324    "___libc_ForkDefaultModuleCallback" @342
     325    "___libc_ForkRegisterModule" @343
     326    "___libc_GLocaleCtypeDefault" @344
     327    "___libc_HasHighMem" @345
     328    "___libc_HeapEndVoting" @346
     329    "___libc_HeapGetResult" @347
     330    "___libc_HeapVote" @348
     331    "___libc_HimemDefaultAlloc" @349
     332    "___libc_HimemDefaultRelease" @350
     333    "___libc_LogAssert" @351
     334    "___libc_LogDumpHex" @352
     335    "___libc_LogEnter" @353
     336    "___libc_LogGroupInit" @354
     337    "___libc_LogInit" @355
     338    "___libc_LogLeave" @356
     339    "___libc_LogMsg" @357
     340    "___libc_LogRaw" @358
     341    "___libc_OS2ErrorPop" @359
     342    "___libc_OS2ErrorPush" @360
     343    "___libc_OS2ErrorSet" @361
     344    "___libc_PathRewrite" @362
     345    "___libc_PathRewriteAdd" @363
     346    "___libc_PathRewriteRemove" @364
     347    "___libc_SpmCheck" @365
     348    "___libc_StrictMemoryR" @366
     349    "___libc_StrictMemoryRW" @367
     350    "___libc_StrictStringR" @368
     351    "___libc_TLSAlloc" @369
     352    "___libc_TLSDestructor" @370
     353    "___libc_TLSFree" @371
     354    "___libc_TLSGet" @372
     355    "___libc_TLSGetDestructor" @373
     356    "___libc_TLSSet" @374
     357    "___libc_TcpipAllocFH43" @375
     358    "___libc_TcpipAllocFH44" @376
     359    "___libc_TcpipAllocFHEx43" @377
     360    "___libc_TcpipAllocFHEx44" @378
     361    "___libc_Tcpipbsdselect43" @379
     362    "___libc_Tcpipbsdselect44" @380
     363    "___libc_ThreadRegisterTermCallback" @381
     364    "___libc_Timebomb" @382
     365    "___libc_TranslateCodepage" @383
     366    "___log2" @384
     367    "___mempcpy" @385
     368    "___nsdefaultsrc" @386
     369    "___ovfl_delete" @387
     370    "___ovfl_get" @388
     371    "___ovfl_put" @389
     372    "___pipe" @390
     373    "___posix_spawn_file_actions_realloc" @391
     374    "___put_page" @392
     375    "___pw_match_entry" @393
     376    "___pw_parse_entry" @394
     377    "___pw_scan" @395
     378    "___read" @396
     379    "___read_kbd" @397
     380    "___rec_close" @398
     381    "___rec_delete" @399
     382    "___rec_dleaf" @400
     383    "___rec_fd" @401
     384    "___rec_fmap" @402
     385    "___rec_fpipe" @403
     386    "___rec_get" @404
     387    "___rec_iput" @405
     388    "___rec_open" @406
     389    "___rec_put" @407
     390    "___rec_ret" @408
     391    "___rec_search" @409
     392    "___rec_seq" @410
     393    "___rec_sync" @411
     394    "___rec_vmap" @412
     395    "___rec_vpipe" @413
     396    "___reclaim_buf" @414
     397    "___remove_zeros" @415
     398    "___select" @416
     399    "___settime" @417
     400    "___signbit" @418
     401    "___signbitf" @419
     402    "___signbitl" @420
     403    "___sigpause_bsd" @421
     404    "___small_atod" @422
     405    "___small_dtoa" @423
     406    "___smutex_request_internal" @424
     407    "___spawni" @425
     408    "___spawnve" @426
     409    "___split_page" @427
     410    "___stream_abort" @428
     411    "___strndup" @429
     412    "___strnlen" @430
     413    "___strverscmp" @431
     414    "___swchar" @432
     415    "___threadid" @433
     416    "___tolower" @434
     417    "___toupper" @435
     418    "___ttyname" @436
     419    "___ulimit" @437
     420    "___unwind2" @438
     421    "___utimes" @439
     422    "___wait" @440
     423    "___waitpid" @441
     424    "___write" @442
     425    "__abspath" @443
     426    "__assert" @444
     427    "__atfork_callback" @445
     428    "__beginthread" @446
     429    "__bi_add_bb" @447
     430    "__bi_cmp_bb" @448
     431    "__bi_cmp_pow2" @449
     432    "__bi_div_add_back" @450
     433    "__bi_div_estimate" @451
     434    "__bi_div_rem_bb" @452
     435    "__bi_div_rem_bw" @453
     436    "__bi_div_rem_pow2" @454
     437    "__bi_div_subtract" @455
     438    "__bi_fls" @456
     439    "__bi_hdiv_rem_b" @457
     440    "__bi_mul_bb" @458
     441    "__bi_mul_bw" @459
     442    "__bi_pow5" @460
     443    "__bi_set_b" @461
     444    "__bi_set_d" @462
     445    "__bi_set_w" @463
     446    "__bi_shl_b" @464
     447    "__bi_shl_w" @465
     448    "__bi_shr_b" @466
     449    "__bi_sub_mul_bw" @467
     450    "__bi_wdiv_rem_pow2" @468
     451    "__chdir2" @469
     452    "__chdrive" @470
     453    "__clear87" @471
     454    "__closestream" @472
     455    "__compute_dst_table" @473
     456    "__const_HALF" @474
     457    "__const_M_ONE" @475
     458    "__const_NAN" @476
     459    "__const_ONE" @477
     460    "__const_TWO" @478
     461    "__const_ZERO" @479
     462    "__control87" @480
     463    "__core" @481
     464    "__crlf" @482
     465    "__day" @483
     466    "__defext" @484
     467    "__dorand48" @485
     468    "__dt_free" @486
     469    "__dt_read" @487
     470    "__dt_sort" @488
     471    "__dt_split" @489
     472    "__ea_free" @490
     473    "__ea_get" @491
     474    "__ea_put" @492
     475    "__ea_remove" @493
     476    "__ea_set_errno" @494
     477    "__ea_write" @495
     478    "__ead_add" @496
     479    "__ead_clear" @497
     480    "__ead_copy" @498
     481    "__ead_count" @499
     482    "__ead_create" @500
     483    "__ead_delete" @501
     484    "__ead_destroy" @502
     485    "__ead_enum" @503
     486    "__ead_fea2list_size" @504
     487    "__ead_fea2list_to_fealist" @505
     488    "__ead_fealist_to_fea2list" @506
     489    "__ead_find" @507
     490    "__ead_get_fea2list" @508
     491    "__ead_get_flags" @509
     492    "__ead_get_name" @510
     493    "__ead_get_value" @511
     494    "__ead_make_index" @512
     495    "__ead_name_len" @513
     496    "__ead_read" @514
     497    "__ead_replace" @515
     498    "__ead_size_buffer" @516
     499    "__ead_sort" @517
     500    "__ead_use_fea2list" @518
     501    "__ead_value_size" @519
     502    "__ead_write" @520
     503    "__emx_getopt" @521
     504    "__emxload_connect" @522
     505    "__emxload_disconnect" @523
     506    "__emxload_do_connect" @524
     507    "__emxload_do_disconnect" @525
     508    "__emxload_do_receive" @526
     509    "__emxload_do_request" @527
     510    "__emxload_do_wait" @528
     511    "__emxload_env" @529
     512    "__emxload_list_get" @530
     513    "__emxload_list_start" @531
     514    "__emxload_prog" @532
     515    "__emxload_request" @533
     516    "__emxload_stop" @534
     517    "__emxload_this" @535
     518    "__emxload_unload" @536
     519    "__endbuf1" @537
     520    "__endthread" @538
     521    "__envargs" @539
     522    "__err" @540
     523    "__errno" @541
     524    "__errno_fun" @542
     525    "__execname" @543
     526    "__exit" @544
     527    "__exit_streams" @545
     528    "__fbuf" @546
     529    "__fcloseall" @547
     530    "__fflush_nolock" @548
     531    "__filesys" @549
     532    "__fill" @550
     533    "__flush" @551
     534    "__flushstream" @552
     535    "__fmutex_abort" @553
     536    "__fmutex_checked_close" @554
     537    "__fmutex_checked_create" @555
     538    "__fmutex_checked_create2" @556
     539    "__fmutex_checked_open" @557
     540    "__fmutex_close" @558
     541    "__fmutex_create" @559
     542    "__fmutex_create2" @560
     543    "__fmutex_dummy" @561
     544    "__fmutex_open" @562
     545    "__fnexplode" @563
     546    "__fnexplodefree" @564
     547    "__fngetdrive" @565
     548    "__fnisabs" @566
     549    "__fnisrel" @567
     550    "__fnlwr" @568
     551    "__fnlwr2" @569
     552    "__fnslashify" @570
     553    "__fpreset" @571
     554    "__fseek_hdr" @572
     555    "__fseek_nolock" @573
     556    "__fsetmode" @574
     557    "__fsopen" @575
     558    "__ftell_nolock" @576
     559    "__fullpath" @577
     560    "__fwrite_nolock" @578
     561    "__fxam" @579
     562    "__fxaml" @580
     563    "__getcwd1" @581
     564    "__getcwd2" @582
     565    "__getcwdux" @583
     566    "__getdcwd" @584
     567    "__getdrive" @585
     568    "__getext" @586
     569    "__getext2" @587
     570    "__getname" @588
     571    "__getpass1" @589
     572    "__getpass2" @590
     573    "__getprogname" @591
     574    "__gettid" @592
     575    "__getvol" @593
     576    "__gmt2loc" @594
     577    "__hcalloc" @595
     578    "__heap_walk" @596
     579    "__heapchk" @597
     580    "__heapmin" @598
     581    "__heapset" @599
     582    "__hinitheap" @600
     583    "__hmalloc" @601
     584    "__hrealloc" @602
     585    "__imphandle" @603
     586    "__init_streams" @604
     587    "__input" @605
     588    "__int86" @606
     589    "__isterm" @607
     590    "__lcalloc" @608
     591    "__libc_16to32" @609
     592    "__libc_32to16" @610
     593    "__libc_Back_exceptionHandler" @611
     594    "__libc_thunk1" @612
     595    "__linitheap" @613
     596    "__lmalloc" @614
     597    "__loc2gmt" @615
     598    "__lrealloc" @616
     599    "__makepath" @617
     600    "__memcount" @618
     601    "__memdif" @619
     602    "__memrchr" @620
     603    "__memswap" @621
     604    "__mfclose" @622
     605    "__mfopen" @623
     606    "__mheap" @624
     607    "__mktime" @625
     608    "__month_day_leap" @626
     609    "__month_day_non_leap" @627
     610    "__msize" @628
     611    "__newstream" @629
     612    "__nsdbtaddsrc" @630
     613    "__nsdbtput" @631
     614    "__nsdispatch" @632
     615    "__openstream" @633
     616    "__os2_bad" @634
     617    "__output" @635
     618    "__path" @636
     619    "__read_kbd" @637
     620    "__realrealpath" @638
     621    "__remext" @639
     622    "__response" @640
     623    "__rfnlwr" @641
     624    "__rmtmp" @642
     625    "__scrsize" @643
     626    "__searchenv" @644
     627    "__seek_hdr" @645
     628    "__sfnlwr" @646
     629    "__signal_os2" @647
     630    "__signal_sysv" @648
     631    "__sleep2" @649
     632    "__splitargs" @650
     633    "__splitpath" @651
     634    "__status87" @652
     635    "__std_abort" @653
     636    "__std_abs" @654
     637    "__std_access" @655
     638    "__std_acos" @656
     639    "__std_acosl" @657
     640    "__std_alarm" @658
     641    "__std_asctime" @659
     642    "__std_asctime_r" @660
     643    "__std_asin" @661
     644    "__std_asinl" @662
     645    "__std_atan" @663
     646    "__std_atan2" @664
     647    "__std_atan2l" @665
     648    "__std_atanl" @666
     649    "__std_atexit" @667
     650    "__std_atof" @668
     651    "__std_atofl" @669
     652    "__std_atoi" @670
     653    "__std_atol" @671
     654    "__std_atoll" @672
     655    "__std_basename" @673
     656    "__std_bcmp" @674
     657    "__std_bcopy" @675
     658    "__std_brk" @676
     659    "__std_bsd_signal" @677
     660    "__std_bsearch" @678
     661    "__std_bzero" @679
     662    "__std_calloc" @680
     663    "__std_canonicalize_file_name" @681
     664    "__std_cbrt" @682
     665    "__std_cbrtl" @683
     666    "__std_ceil" @684
     667    "__std_ceill" @685
     668    "__std_cfgetispeed" @686
     669    "__std_cfgetospeed" @687
     670    "__std_cfsetispeed" @688
     671    "__std_cfsetospeed" @689
     672    "__std_cfsetspeed" @690
     673    "__std_chdir" @691
     674    "__std_chmod" @692
     675    "__std_chown" @693
     676    "__std_chroot" @694
     677    "__std_chsize" @695
     678    "__std_clearerr" @696
     679    "__std_clock" @697
     680    "__std_close" @698
     681    "__std_closedir" @699
     682    "__std_copysign" @700
     683    "__std_copysignf" @701
     684    "__std_copysignl" @702
     685    "__std_cos" @703
     686    "__std_cosh" @704
     687    "__std_coshl" @705
     688    "__std_cosl" @706
     689    "__std_creat" @707
     690    "__std_ctime" @708
     691    "__std_ctime_r" @709
     692    "__std_cuserid" @710
     693    "__std_difftime" @711
     694    "__std_dirname" @712
     695    "__std_div" @713
     696    "__std_dlclose" @714
     697    "__std_dlerror" @715
     698    "__std_dlopen" @716
     699    "__std_dlsym" @717
     700    "__std_drand48" @718
     701    "__std_dup" @719
     702    "__std_dup2" @720
     703    "__std_eaccess" @721
     704    "__std_endpwent" @722
     705    "__std_eof" @723
     706    "__std_erand48" @724
     707    "__std_execl" @725
     708    "__std_execle" @726
     709    "__std_execlp" @727
     710    "__std_execlpe" @728
     711    "__std_execv" @729
     712    "__std_execve" @730
     713    "__std_execvp" @731
     714    "__std_execvpe" @732
     715    "__std_exit" @733
     716    "__std_exp" @734
     717    "__std_expand" @735
     718    "__std_expl" @736
     719    "__std_fabs" @737
     720    "__std_fabsl" @738
     721    "__std_fchown" @739
     722    "__std_fclose" @740
     723    "__std_fcntl" @741
     724    "__std_fdopen" @742
     725    "__std_feof" @743
     726    "__std_ferror" @744
     727    "__std_fflush" @745
     728    "__std_ffs" @746
     729    "__std_fgetc" @747
     730    "__std_fgetchar" @748
     731    "__std_fgetpos" @749
     732    "__std_fgets" @750
     733    "__std_filelength" @751
     734    "__std_fileno" @752
     735    "__std_flock" @753
     736    "__std_floor" @754
     737    "__std_floorl" @755
     738    "__std_flushall" @756
     739    "__std_fmod" @757
     740    "__std_fmodl" @758
     741    "__std_fnmatch" @759
     742    "__std_fopen" @760
     743    "__std_fork" @761
     744    "__std_fpathconf" @762
     745    "__std_fprintf" @763
     746    "__std_fputc" @764
     747    "__std_fputchar" @765
     748    "__std_fputs" @766
     749    "__std_fread" @767
     750    "__std_free" @768
     751    "__std_freopen" @769
     752    "__std_frexp" @770
     753    "__std_frexpl" @771
     754    "__std_fscanf" @772
     755    "__std_fseek" @773
     756    "__std_fseeko" @774
     757    "__std_fsetpos" @775
     758    "__std_fstat" @776
     759    "__std_fstatfs" @777
     760    "__std_fstatvfs" @778
     761    "__std_fsync" @779
     762    "__std_ftell" @780
     763    "__std_ftello" @781
     764    "__std_ftime" @782
     765    "__std_ftruncate" @783
     766    "__std_ftw" @784
     767    "__std_fwrite" @785
     768    "__std_gcvt" @786
     769    "__std_getchar" @787
     770    "__std_getcwd" @788
     771    "__std_getdtablesize" @789
     772    "__std_getegid" @790
     773    "__std_getenv" @791
     774    "__std_geteuid" @792
     775    "__std_getfsstat" @793
     776    "__std_getgid" @794
     777    "__std_getgrnam" @795
     778    "__std_getgroups" @796
     779    "__std_getitimer" @797
     780    "__std_getloadavg" @798
     781    "__std_getlogin" @799
     782    "__std_getopt" @800
     783    "__std_getopt_long" @801
     784    "__std_getopt_long_only" @802
     785    "__std_getpagesize" @803
     786    "__std_getpass" @804
     787    "__std_getpgrp" @805
     788    "__std_getpid" @806
     789    "__std_getppid" @807
     790    "__std_getpwent" @808
     791    "__std_getrlimit" @809
     792    "__std_gets" @810
     793    "__std_gettimeofday" @811
     794    "__std_getuid" @812
     795    "__std_getw" @813
     796    "__std_getwd" @814
     797    "__std_glob" @815
     798    "__std_globfree" @816
     799    "__std_gmtime" @817
     800    "__std_gmtime_r" @818
     801    "__std_hcreate" @819
     802    "__std_hdestroy" @820
     803    "__std_hsearch" @821
     804    "__std_hypot" @822
     805    "__std_hypotl" @823
     806    "__std_imaxabs" @824
     807    "__std_imaxdiv" @825
     808    "__std_index" @826
     809    "__std_insque" @827
     810    "__std_ioctl" @828
     811    "__std_isatty" @829
     812    "__std_jrand48" @830
     813    "__std_kill" @831
     814    "__std_killpg" @832
     815    "__std_labs" @833
     816    "__std_lchown" @834
     817    "__std_lcong48" @835
     818    "__std_ldexp" @836
     819    "__std_ldexpl" @837
     820    "__std_ldiv" @838
     821    "__std_lfind" @839
     822    "__std_link" @840
     823    "__std_lltoa" @841
     824    "__std_localeconv" @842
     825    "__std_localtime" @843
     826    "__std_localtime_r" @844
     827    "__std_lockf" @845
     828    "__std_log" @846
     829    "__std_log10" @847
     830    "__std_log10l" @848
     831    "__std_logl" @849
     832    "__std_longjmp" @850
     833    "__std_lrand48" @851
     834    "__std_lsearch" @852
     835    "__std_lseek" @853
     836    "__std_lstat" @854
     837    "__std_ltoa" @855
     838    "__std_malloc" @856
     839    "__std_mblen" @857
     840    "__std_mbstowcs" @858
     841    "__std_mbtowc" @859
     842    "__std_memalign" @860
     843    "__std_memccpy" @861
     844    "__std_memchr" @862
     845    "__std_memcmp" @863
     846    "__std_memcpy" @864
     847    "__std_memicmp" @865
     848    "__std_memmove" @866
     849    "__std_memset" @867
     850    "__std_mkdir" @868
     851    "__std_mknod" @869
     852    "__std_mkstemp" @870
     853    "__std_mktemp" @871
     854    "__std_mktime" @872
     855    "__std_modf" @873
     856    "__std_modfl" @874
     857    "__std_mprotect" @875
     858    "__std_mrand48" @876
     859    "__std_nextafter" @877
     860    "__std_nextafterf" @878
     861    "__std_nextafterl" @879
     862    "__std_nrand48" @880
     863    "__std_open" @881
     864    "__std_opendir" @882
     865    "__std_pathconf" @883
     866    "__std_pause" @884
     867    "__std_pclose" @885
     868    "__std_perror" @886
     869    "__std_pipe" @887
     870    "__std_popen" @888
     871    "__std_posix_memalign" @889
     872    "__std_pow" @890
     873    "__std_powl" @891
     874    "__std_printf" @892
     875    "__std_psignal" @893
     876    "__std_putchar" @894
     877    "__std_putenv" @895
     878    "__std_puts" @896
     879    "__std_putw" @897
     880    "__std_qsort" @898
     881    "__std_qsort_r" @899
     882    "__std_raise" @900
     883    "__std_rand" @901
     884    "__std_read" @902
     885    "__std_readdir" @903
     886    "__std_readdir_r" @904
     887    "__std_readlink" @905
     888    "__std_readv" @906
     889    "__std_realloc" @907
     890    "__std_realpath" @908
     891    "__std_remove" @909
     892    "__std_remque" @910
     893    "__std_rename" @911
     894    "__std_rewind" @912
     895    "__std_rewinddir" @913
     896    "__std_rindex" @914
     897    "__std_rint" @915
     898    "__std_rintl" @916
     899    "__std_rmdir" @917
     900    "__std_sbrk" @918
     901    "__std_scanf" @919
     902    "__std_seed48" @920
     903    "__std_seekdir" @921
     904    "__std_select" @922
     905    "__std_setbuf" @923
     906    "__std_setbuffer" @924
     907    "__std_setegid" @925
     908    "__std_setenv" @926
     909    "__std_seteuid" @927
     910    "__std_setgid" @928
     911    "__std_setgroups" @929
     912    "__std_setitimer" @930
     913    "__std_setjmp" @931
     914    "__std_setlocale" @932
     915    "__std_setmode" @933
     916    "__std_setpassent" @934
     917    "__std_setpgid" @935
     918    "__std_setpwent" @936
     919    "__std_setregid" @937
     920    "__std_setresgid" @938
     921    "__std_setresuid" @939
     922    "__std_setreuid" @940
     923    "__std_setrgid" @941
     924    "__std_setrlimit" @942
     925    "__std_setruid" @943
     926    "__std_setsid" @944
     927    "__std_settimeofday" @945
     928    "__std_setuid" @946
     929    "__std_setvbuf" @947
     930    "__std_sigaction" @948
     931    "__std_sigaddset" @949
     932    "__std_sigaltstack" @950
     933    "__std_sigblock" @951
     934    "__std_sigdelset" @952
     935    "__std_sigemptyset" @953
     936    "__std_sigfillset" @954
     937    "__std_sighold" @955
     938    "__std_sigignore" @956
     939    "__std_siginterrupt" @957
     940    "__std_sigismember" @958
     941    "__std_siglongjmp" @959
     942    "__std_signal" @960
     943    "__std_sigpause" @961
     944    "__std_sigpending" @962
     945    "__std_sigprocmask" @963
     946    "__std_sigqueue" @964
     947    "__std_sigrelse" @965
     948    "__std_sigset" @966
     949    "__std_sigsetjmp" @967
     950    "__std_sigsetmask" @968
     951    "__std_sigsuspend" @969
     952    "__std_sigtimedwait" @970
     953    "__std_sigvec" @971
     954    "__std_sigwait" @972
     955    "__std_sigwaitinfo" @973
     956    "__std_sin" @974
     957    "__std_sinh" @975
     958    "__std_sinhl" @976
     959    "__std_sinl" @977
     960    "__std_sleep" @978
     961    "__std_snprintf" @979
     962    "__std_sopen" @980
     963    "__std_spawnl" @981
     964    "__std_spawnle" @982
     965    "__std_spawnlp" @983
     966    "__std_spawnlpe" @984
     967    "__std_spawnv" @985
     968    "__std_spawnve" @986
     969    "__std_spawnvp" @987
     970    "__std_spawnvpe" @988
     971    "__std_sprintf" @989
     972    "__std_sqrt" @990
     973    "__std_sqrtl" @991
     974    "__std_srand" @992
     975    "__std_srand48" @993
     976    "__std_sscanf" @994
     977    "__std_stat" @995
     978    "__std_statfs" @996
     979    "__std_statvfs" @997
     980    "__std_strcat" @998
     981    "__std_strchr" @999
     982    "__std_strcmp" @1000
     983    "__std_strcoll" @1001
     984    "__std_strcpy" @1002
     985    "__std_strcspn" @1003
     986    "__std_strdup" @1004
     987    "__std_strerror" @1005
     988    "__std_strerror_r" @1006
     989    "__std_strftime" @1007
     990    "__std_stricmp" @1008
     991    "__std_strlen" @1009
     992    "__std_strlwr" @1010
     993    "__std_strncat" @1011
     994    "__std_strncmp" @1012
     995    "__std_strncpy" @1013
     996    "__std_strnicmp" @1014
     997    "__std_strnset" @1015
     998    "__std_strpbrk" @1016
     999    "__std_strptime" @1017
     1000    "__std_strrchr" @1018
     1001    "__std_strrev" @1019
     1002    "__std_strset" @1020
     1003    "__std_strspn" @1021
     1004    "__std_strstr" @1022
     1005    "__std_strtod" @1023
     1006    "__std_strtof" @1024
     1007    "__std_strtoimax" @1025
     1008    "__std_strtok" @1026
     1009    "__std_strtok_r" @1027
     1010    "__std_strtol" @1028
     1011    "__std_strtold" @1029
     1012    "__std_strtoll" @1030
     1013    "__std_strtoul" @1031
     1014    "__std_strtoull" @1032
     1015    "__std_strtoumax" @1033
     1016    "__std_strupr" @1034
     1017    "__std_strxfrm" @1035
     1018    "__std_swab" @1036
     1019    "__std_symlink" @1037
     1020    "__std_sync" @1038
     1021    "__std_sys_errlist" @1039
     1022    "__std_sys_nerr" @1040
     1023    "__std_sysconf" @1041
     1024    "__std_system" @1042
     1025    "__std_tan" @1043
     1026    "__std_tanh" @1044
     1027    "__std_tanhl" @1045
     1028    "__std_tanl" @1046
     1029    "__std_tcdrain" @1047
     1030    "__std_tcflow" @1048
     1031    "__std_tcflush" @1049
     1032    "__std_tcgetattr" @1050
     1033    "__std_tcgetpgrp" @1051
     1034    "__std_tcsendbreak" @1052
     1035    "__std_tcsetattr" @1053
     1036    "__std_tcsetpgrp" @1054
     1037    "__std_tdelete" @1055
     1038    "__std_tell" @1056
     1039    "__std_telldir" @1057
     1040    "__std_tempnam" @1058
     1041    "__std_tfind" @1059
     1042    "__std_time" @1060
     1043    "__std_times" @1061
     1044    "__std_tmpfile" @1062
     1045    "__std_tmpnam" @1063
     1046    "__std_trunc" @1064
     1047    "__std_truncate" @1065
     1048    "__std_truncl" @1066
     1049    "__std_tsearch" @1067
     1050    "__std_ttyname" @1068
     1051    "__std_twalk" @1069
     1052    "__std_tzset" @1070
     1053    "__std_ualarm" @1071
     1054    "__std_ulimit" @1072
     1055    "__std_ulltoa" @1073
     1056    "__std_ultoa" @1074
     1057    "__std_umask" @1075
     1058    "__std_uname" @1076
     1059    "__std_ungetc" @1077
     1060    "__std_unlink" @1078
     1061    "__std_unsetenv" @1079
     1062    "__std_usleep" @1080
     1063    "__std_utime" @1081
     1064    "__std_utimes" @1082
     1065    "__std_valloc" @1083
     1066    "__std_vfprintf" @1084
     1067    "__std_vfscanf" @1085
     1068    "__std_vprintf" @1086
     1069    "__std_vscanf" @1087
     1070    "__std_vsnprintf" @1088
     1071    "__std_vsprintf" @1089
     1072    "__std_vsscanf" @1090
     1073    "__std_wait" @1091
     1074    "__std_wait3" @1092
     1075    "__std_wait4" @1093
     1076    "__std_waitid" @1094
     1077    "__std_waitpid" @1095
     1078    "__std_wcstombs" @1096
     1079    "__std_wctomb" @1097
     1080    "__std_write" @1098
     1081    "__std_writev" @1099
     1082    "__stream_read" @1100
     1083    "__stream_write" @1101
     1084    "__strncpy" @1102
     1085    "__swchar" @1103
     1086    "__sys_dump_heap_objs" @1104
     1087    "__tcalloc" @1105
     1088    "__tfree" @1106
     1089    "__theapmin" @1107
     1090    "__threadstore" @1108
     1091    "__tmalloc" @1109
     1092    "__tmpbuf1" @1110
     1093    "__tmpidx_lock" @1111
     1094    "__tmpidx_unlock" @1112
     1095    "__tmpidxnam" @1113
     1096    "__trealloc" @1114
     1097    "__trslash" @1115
     1098    "__uaddmem" @1116
     1099    "__ucalloc" @1117
     1100    "__uclose" @1118
     1101    "__ucreate" @1119
     1102    "__ucreate2" @1120
     1103    "__udefault" @1121
     1104    "__udestroy" @1122
     1105    "__uflags" @1123
     1106    "__uheap_type" @1124
     1107    "__uheap_walk" @1125
     1108    "__uheap_walk2" @1126
     1109    "__uheapchk" @1127
     1110    "__uheapmin" @1128
     1111    "__uheapset" @1129
     1112    "__uldiv" @1130
     1113    "__um_addmem_nolock" @1131
     1114    "__um_alloc_no_lock" @1132
     1115    "__um_crumb_free_maybe_lock" @1133
     1116    "__um_default_alloc" @1134
     1117    "__um_default_expand" @1135
     1118    "__um_default_release" @1136
     1119    "__um_default_shrink" @1137
     1120    "__um_find_bucket" @1138
     1121    "__um_free_maybe_lock" @1139
     1122    "__um_init_default_regular_heap" @1140
     1123    "__um_init_default_tiled_heap" @1141
     1124    "__um_lump_alloc" @1142
     1125    "__um_lump_coalesce_free" @1143
     1126    "__um_lump_free_maybe_lock" @1144
     1127    "__um_lump_link_heap" @1145
     1128    "__um_lump_make_free" @1146
     1129    "__um_lump_unlink_bucket" @1147
     1130    "__um_lump_unlink_heap" @1148
     1131    "__um_realloc" @1149
     1132    "__um_seg_addmem" @1150
     1133    "__um_seg_setmem" @1151
     1134    "__um_walk_error" @1152
     1135    "__um_walk_no_lock" @1153
     1136    "__umalloc" @1154
     1137    "__ungetc_nolock" @1155
     1138    "__uopen" @1156
     1139    "__ustats" @1157
     1140    "__utcalloc" @1158
     1141    "__utdefault" @1159
     1142    "__utmalloc" @1160
     1143    "__vsopen" @1161
     1144    "__warn" @1162
     1145    "__wildcard" @1163
     1146    "__year_day" @1164
     1147    "_argz_delete" @1165
     1148    "_catclose" @1166
     1149    "_catgets" @1167
     1150    "_catopen" @1168
     1151    "_dbm_clearerr" @1169
     1152    "_dbm_close" @1170
     1153    "_dbm_delete" @1171
     1154    "_dbm_dirfno" @1172
     1155    "_dbm_error" @1173
     1156    "_dbm_fetch" @1174
     1157    "_dbm_firstkey" @1175
     1158    "_dbm_nextkey" @1176
     1159    "_dbm_open" @1177
     1160    "_dbm_store" @1178
     1161    "_dbopen" @1179
     1162    "_endgrent" @1180
     1163    "_endnetgrent" @1181
     1164    "_endusershell" @1182
     1165    "_err_set_exit" @1183
     1166    "_err_set_file" @1184
     1167    "_errc" @1185
     1168    "_errx" @1186
     1169    "_getgrent" @1187
     1170    "_getgrent_r" @1188
     1171    "_getgrgid" @1189
     1172    "_getgrgid_r" @1190
     1173    "_getgrnam_r" @1191
     1174    "_getgrouplist" @1192
     1175    "_getmntinfo" @1193
     1176    "_getnetgrent" @1194
     1177    "_getpwent_r" @1195
     1178    "_getpwnam" @1196
     1179    "_getpwnam_r" @1197
     1180    "_getpwuid" @1198
     1181    "_getpwuid_r" @1199
     1182    "_getusershell" @1200
     1183    "_heapsort" @1201
     1184    "_initgroups" @1202
     1185    "_initstate" @1203
     1186    "_innetgr" @1204
     1187    "_isalnum" @1205
     1188    "_isalpha" @1206
     1189    "_isascii" @1207
     1190    "_isblank" @1208
     1191    "_iscntrl" @1209
     1192    "_isdigit" @1210
     1193    "_isgraph" @1211
     1194    "_ishexnumber" @1212
     1195    "_islower" @1213
     1196    "_isnumber" @1214
     1197    "_isprint" @1215
     1198    "_ispunct" @1216
     1199    "_isspace" @1217
     1200    "_isupper" @1218
     1201    "_isxdigit" @1219
     1202    "_lchmod" @1220
     1203    "_mergesort" @1221
     1204    "_mpool_close" @1222
     1205    "_mpool_filter" @1223
     1206    "_mpool_get" @1224
     1207    "_mpool_new" @1225
     1208    "_mpool_open" @1226
     1209    "_mpool_put" @1227
     1210    "_mpool_sync" @1228
     1211    "_posix_spawn" @1229
     1212    "_posix_spawn_file_actions_addclose" @1230
     1213    "_posix_spawn_file_actions_adddup2" @1231
     1214    "_posix_spawn_file_actions_addopen" @1232
     1215    "_posix_spawn_file_actions_destroy" @1233
     1216    "_posix_spawn_file_actions_init" @1234
     1217    "_posix_spawnattr_destroy" @1235
     1218    "_posix_spawnattr_getflags" @1236
     1219    "_posix_spawnattr_getpgroup" @1237
     1220    "_posix_spawnattr_getschedparam" @1238
     1221    "_posix_spawnattr_getschedpolicy" @1239
     1222    "_posix_spawnattr_getsigdefault" @1240
     1223    "_posix_spawnattr_getsigmask" @1241
     1224    "_posix_spawnattr_init" @1242
     1225    "_posix_spawnattr_setflags" @1243
     1226    "_posix_spawnattr_setpgroup" @1244
     1227    "_posix_spawnattr_setschedparam" @1245
     1228    "_posix_spawnattr_setschedpolicy" @1246
     1229    "_posix_spawnattr_setsigdefault" @1247
     1230    "_posix_spawnattr_setsigmask" @1248
     1231    "_posix_spawnp" @1249
     1232    "_warnx" @1250
     1233    "_radixsort" @1251
     1234    "_random" @1252
     1235    "_reallocf" @1253
     1236    "_regcomp" @1254
     1237    "_regerror" @1255
     1238    "_regexec" @1256
     1239    "_regfree" @1257
     1240    "_setgrent" @1258
     1241    "_setgroupent" @1259
     1242    "_setnetgrent" @1260
     1243    "_setprogname" @1261
     1244    "_setstate" @1262
     1245    "_setusershell" @1263
     1246    "_sl_add" @1264
     1247    "_sl_find" @1265
     1248    "_sl_free" @1266
     1249    "_sl_init" @1267
     1250    "_sradixsort" @1268
     1251    "_srandom" @1269
     1252    "_srandomdev" @1270
     1253    "_stpcpy" @1271
     1254    "_strcasestr" @1272
     1255    "_strlcat" @1273
     1256    "_strlcpy" @1274
     1257    "_strmode" @1275
     1258    "_strnstr" @1276
     1259    "_strsep" @1277
     1260    "_strsignal" @1278
     1261    "_sys_nsig" @1279
     1262    "_sys_siglist" @1280
     1263    "_sys_signame" @1281
     1264    "_toascii" @1282
     1265    "_tolower" @1283
     1266    "_toupper" @1284
     1267    "_verr" @1285
     1268    "_verrc" @1286
     1269    "_verrx" @1287
     1270    "_vwarn" @1288
     1271    "_vwarnc" @1289
     1272    "_vwarnx" @1290
     1273    "_warnc" @1291
     1274    ; new stuff
  • trunk/src/emx/src/lib/libc.smak

    • Property cvs2svn:cvs-rev changed from 1.53 to 1.54
    r1660 r1661  
    7474        $.omf/src/lib/sys/__initdll.obj \
    7575        $.omf/src/lib/malloc/_heapvoting.obj \
     76
    7677        $.omf/src/lib/process/fmutex.obj \
    7778        $.omf/src/lib/sys/DosCreateEventSemEx.obj \
  • trunk/src/emx/src/lib/malloc/ucreate2.c

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1660 r1661  
    8080
    8181  /* Initialize the mutex semaphore. */
    82   if (_fmutex_create (&h->fsem, (type & _HEAP_SHARED) ? _FMC_SHARED : 0) != 0)
     82  if (_fmutex_create) != 0)
    8383    return NULL;
    8484
  • trunk/src/emx/src/lib/process/fmutex.c

    • Property cvs2svn:cvs-rev changed from 1.7 to 1.8
    r1660 r1661  
    55#define INCL_DOSPROCESS
    66#define INCL_DOSERRORS
     7
    78#define INCL_FSMACROS
    89#define INCL_EXAPIS
    910#include <os2.h>
    1011#include <stdlib.h>
     12
    1113#include <sys/builtin.h>
    1214#include <sys/fmutex.h>
    1315#include <sys/smutex.h>
     16
    1417#define __LIBC_LOG_GROUP __LIBC_LOG_GRP_MUTEX
    1518#include <InnoTekLIBC/logstrict.h>
    1619
     20
     21
     22
     23
     24
    1725
    1826/* These functions are available even in single-thread libraries. */
     
    2230{
    2331    LIBCLOG_ENTER("sem=%p flags=%#x\n", (void *)sem, flags);
     32
     33
     34
     35
     36
     37
     38
     39
    2440    unsigned rc;
    2541
     42
     43
    2644    sem->fs         = _FMS_AVAILABLE;
    2745    sem->flags      = flags;
    2846    sem->padding[0] = 'f';
    29     sem->padding[1] = 'm';
     47    sem->padding[0] = 'm';
     48    sem->pszDesc    = pszDesc;
    3049    rc = DosCreateEventSemEx(NULL, (PHEV)&sem->hev,
    3150                             (flags & _FMC_SHARED) ? DC_SEM_SHARED : 0,
    3251                             FALSE);
    33 
    3452    LIBCLOG_RETURN_UINT(rc);
    3553}
     
    3856unsigned _fmutex_open(_fmutex *sem)
    3957{
    40     LIBCLOG_ENTER("sem=%p\n", (void *)sem);
     58    LIBCLOG_ENTER("sem=%p);
    4159    unsigned rc = DosOpenEventSemEx(NULL, (PHEV)&sem->hev);
    4260    LIBCLOG_RETURN_UINT(rc);
     
    4664unsigned _fmutex_close(_fmutex *sem)
    4765{
    48     LIBCLOG_ENTER("sem=%p\n", (void *)sem);
     66    LIBCLOG_ENTER("sem=%p);
    4967    unsigned rc = DosCloseEventSemEx(sem->hev);
    5068    LIBCLOG_RETURN_UINT(rc);
     
    5472unsigned __fmutex_request_internal(_fmutex *sem, unsigned flags, signed char fs)
    5573{
    56     LIBCLOG_ENTER("sem=%p flags=%#x fs=%#x\n", (void *)sem, flags, (int)fs);
     74    LIBCLOG_ENTER("sem=%p, flags, (int)fs);
    5775    int     rc;
    58     PTIB    pTib;
    59     PPIB    pPib;
    6076
    6177    if (fs == _FMS_UNINIT)
     
    7086        {
    7187            if (__cxchg(&sem->fs, _FMS_OWNED_HARD) == _FMS_AVAILABLE)
     88
     89
    7290                LIBCLOG_RETURN_UINT(0);
     91
    7392        }
    7493        LIBCLOG_RETURN_UINT(ERROR_MUTEX_OWNED);
     
    85104            LIBCLOG_RETURN_UINT(rc);
    86105        if (__cxchg(&sem->fs, _FMS_OWNED_HARD) == _FMS_AVAILABLE)
     106
     107
    87108            LIBCLOG_RETURN_UINT(0);
     109
     110
     111
     112
     113
     114
     115
    88116        FS_SAVE_LOAD();
    89117
    90         do
     118       
    91119        {
    92120            rc = DosWaitEventSem(sem->hev, sem->flags & _FMC_SHARED ? SEM_INDEFINITE_WAIT : 3000);
     
    101129                if (!(flags & _FMR_IGNINT))
    102130                    break;
    103                 DosGetInfoBlocks(&pTib, &pPib);
    104                 if (pPib->pib_flstatus & (0x40/*dying*/ | 0x04/*exiting all*/ | 0x02/*Exiting Thread 1*/ | 0x01/* ExitList */))
     131                if (fibIsInExit())
    105132                    break;
    106133                rc = ERROR_TIMEOUT;
    107134            }
    108             if (rc == ERROR_TIMEOUT && !(sem->flags & _FMC_SHARED))
    109             {
    110                 /*
    111                  * Deadlock detection - if this is the only thread of the
    112                  * process we should just kill our selves.
    113                  * ASSUME thread ids are reused and upper thread limit or 4k.
    114                  */
    115                 int iThread;
    116                 DosGetInfoBlocks(&pTib, &pPib);
    117                 for (iThread = 1; iThread < 4096; iThread++)
    118                 {
    119                     if (iThread != pTib->tib_ptib2->tib2_ultid
    120                         && !DosVerifyPidTid(pPib->pib_ulpid, iThread))
    121                         break;
    122                 }
    123                 if (iThread >= 4096)
    124                 { /* No other threads! */
    125                     ULONG ul;
    126                     DosWrite((HFILE)2/*stderr*/, "\r\n!!!deadlock!!!\r\r", 18, &ul);
    127                     __asm__ __volatile__("movl $0xdead10cc, %%eax; movl $0xdead10cc, %%edx; movl %0, %%ecx; int $3" : : "m" (sem) : "%eax", "%edx", "%ecx");
    128                     rc = ERROR_SEM_OWNER_DIED;
    129                     break;
    130                 }
    131             }
    132         } while (rc == ERROR_TIMEOUT);
     135            if (rc != ERROR_TIMEOUT)
     136                break;
     137            /*
     138             * Deadlock detection - check if owner is around.
     139             */
     140            unsigned Owner = sem->Owner;
     141            if (!Owner)
     142                break;
     143            rc = DosVerifyPidTid(Owner & 0xffff, Owner >> 16);
     144            if (rc)
     145            {
     146                __fmutex_deadlock(sem, "Owner died!");
     147                rc = ERROR_SEM_OWNER_DIED;
     148                break;
     149            }
     150        }
    133151        FS_RESTORE();
    134152        if (rc != 0)
     
    137155}
    138156
     157
     158
     159
     160
     161
     162
     163
     164
     165
     166
     167
     168
     169
     170
     171
     172
     173
     174
     175
     176
     177
     178
     179
     180
     181
     182
     183
     184
     185
     186
     187
     188
     189
     190
     191
     192
     193
     194
     195
     196
     197
     198
     199
     200
     201
     202
     203
     204
     205
     206
     207
     208
     209
     210
     211
     212
     213
     214
     215
     216
     217
     218
     219
     220
     221
     222
     223
     224
     225
     226
     227
     228
     229
     230
     231
     232
     233
     234
     235
     236
     237
     238
     239
     240
     241
     242
     243
     244
     245
     246
     247
     248
     249
     250
     251
     252
     253
     254
     255
     256
     257
     258
     259
     260
     261
     262
     263
     264
     265
     266
     267
     268
     269
     270
     271
     272
     273
     274
     275
     276
     277
     278
     279
     280
     281
     282
     283
     284
     285
     286
     287
     288
     289
     290
     291
     292
     293
     294
    139295
    140296unsigned __fmutex_release_internal(_fmutex *sem)
    141297{
    142     LIBCLOG_ENTER("sem=%p\n", (void *)sem);
     298    LIBCLOG_ENTER("sem=%p);
    143299    unsigned rc;
    144300    FS_VAR();
     
    204360{
    205361    LIBCLOG_ENTER("sem=%p\n", (void *)sem);
    206     sem->fs  = _FMS_AVAILABLE;
    207362    sem->hev = 0;
     363
     364
     365
     366
    208367    LIBCLOG_RETURN_VOID();
    209368}
     369
  • trunk/src/emx/src/lib/process/fmutex2.c

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1660 r1661  
    22
    33#include "libc-alias.h"
     4
    45#include <stdlib.h>
     6
    57#include <sys/builtin.h>
    68#include <sys/fmutex.h>
     
    1719    {
    1820        LIBC_ASSERT_FAILED();
    19         abort();
     21        );
    2022    }
    2123    LIBCLOG_RETURN_VOID();
     
    2931    {
    3032        LIBC_ASSERT_FAILED();
    31         abort();
     33        _fmutex_abort(NULL, "checked create");
     34    }
     35    LIBCLOG_RETURN_VOID();
     36}
     37
     38void _fmutex_checked_create2(_fmutex *sem, unsigned flags, const char *pszDesc)
     39{
     40    LIBCLOG_ENTER("sem=%p flags=%#x pszDesc=%s\n", sem, flags, pszDesc);
     41    if (_fmutex_create2(sem, flags, pszDesc) != 0)
     42    {
     43        LIBC_ASSERT_FAILED();
     44        _fmutex_abort(NULL, "checked create2");
    3245    }
    3346    LIBCLOG_RETURN_VOID();
     
    4154    {
    4255        LIBC_ASSERT_FAILED();
    43         abort();
     56        );
    4457    }
    4558    LIBCLOG_RETURN_VOID();
    4659}
     60
     61
     62
     63
     64
     65
     66
     67
     68
     69
     70
     71
     72
     73
     74
     75
     76
     77
     78
     79
  • trunk/src/emx/src/lib/sys/DosEx.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    725725
    726726    /*
    727      * Figure out the curren tid.
     727     * Figure out the curren tid.
    728728     */
    729729    FS_SAVE_LOAD();
  • trunk/src/emx/src/lib/sys/__init.c

    • Property cvs2svn:cvs-rev changed from 1.19 to 1.20
    r1660 r1661  
    2929#include <InnoTekLIBC/sharedpm.h>
    3030#include <InnoTekLIBC/backend.h>
     31
    3132#define __LIBC_LOG_GROUP    __LIBC_LOG_GRP_INITTERM
    3233#include <InnoTekLIBC/logstrict.h>
     
    177178    } * pStackFrame;
    178179    int       rc;
    179     PTIB      ptib;
    180     PPIB      ppib;
    181180    int       cb;
    182181
     
    189188
    190189    __libc_HeapEndVoting();
    191 
    192 
    193     /*
    194      * Get ptib and ppib again, in case __init() has already been called for a DLL.
    195      */
    196     /** @todo replace by fast info block code. */
    197     rc = DosGetInfoBlocks(&ptib, &ppib);
    198     if (rc != 0)
    199         goto failure;
    200190
    201191    /*
     
    205195     *    Redo the parsing, but setup argv now.
    206196     */
    207     cb = parse_args(ppib->pib_pchcmd, NULL, NULL);
     197    cb = parse_args(, NULL, NULL);
    208198    cb += (argc + 1) * sizeof (char *) + sizeof (struct stackframe);
    209199    cb = (cb + 15) & ~15;
     
    215205    pStackFrame->argc = argc;
    216206    pStackFrame->argv = &pStackFrame->apszArg[0];
    217     parse_args(ppib->pib_pchcmd, pStackFrame->argv, (char*)&pStackFrame->argv[argc + 1]);
     207    parse_args(, pStackFrame->argv, (char*)&pStackFrame->argv[argc + 1]);
    218208    pStackFrame->argv[argc] = NULL;
    219209
  • trunk/src/emx/src/lib/sys/__initdll.c

    • Property cvs2svn:cvs-rev changed from 1.19 to 1.20
    r1660 r1661  
    3939#include <InnoTekLIBC/libc.h>
    4040#include <InnoTekLIBC/backend.h>
     41
    4142#define __LIBC_LOG_GROUP    __LIBC_LOG_GRP_INITTERM
    4243#include <InnoTekLIBC/logstrict.h>
     
    9394    ULONG               aul[2];
    9495    int                 rc;
    95     PTIB                ptib;
    96     PPIB                ppib;
    9796    __LIBC_PSPMPROCESS  pSelf;
    9897
     
    113112        return 0;
    114113    fInitialized = 1;
     114
     115
     116
     117
     118
     119
     120
    115121
    116122    /*
     
    136142     * and ppib.
    137143     */
    138     /** @todo This must be replaced by the fast info block code from Odin/kLib. */
    139     rc = DosGetInfoBlocks(&ptib, &ppib);
    140     if (rc != 0)
    141         return -1;
    142     _sys_pid = ppib->pib_ulpid;
    143     _sys_ppid = ppib->pib_ulppid;
     144    _sys_pid = fibGetPid();
     145    _sys_ppid = fibGetPPid();
    144146
    145147    /*
    146148     * Initialize the heap semaphores.
    147149     */
    148     if (_fmutex_create(&_sys_heap_fmutex, 0) != 0)
    149         return -1;
    150     if (_fmutex_create(&_sys_gmtxHimem, 0) != 0)
    151         return -1;
    152     if (_fmutex_create(&__libc_gmtxExec, 0) != 0)
     150    if (_fmutex_create) != 0)
     151        return -1;
     152    if (_fmutex_create) != 0)
     153        return -1;
     154    if (_fmutex_create) != 0)
    153155        return -1;
    154156
     
    166168     * Setup environment (org_environ and _STD(environ))
    167169     */
    168     rc = _sys_init_environ(ppib->pib_pchenv);
     170    rc = _sys_init_environ();
    169171    if (rc)
    170172    {
     
    215217     * Get current time for clock() for use as process startup time.
    216218     */
    217     _sys_get_clock(&_sys_clock0_ms);
     219    _sys_);
    218220    return 0;
    219221}
     
    226228void _sys_get_clock(unsigned long *pms)
    227229{
    228     ULONG val_ms;
    229     FS_VAR();
    230 
    231     FS_SAVE_LOAD();
    232     DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &val_ms, sizeof(val_ms));
    233     FS_RESTORE();
    234     *pms = val_ms;
     230    *pms = fibGetMsCount();
    235231}
    236232
     
    298294            _sys_pid = pForkHandle->pidChild;
    299295            _sys_ppid = pForkHandle->pidParent;
     296
     297
    300298            rc = 0;
    301299            break;
  • trunk/src/emx/src/lib/sys/b_processWait.c

    • Property cvs2svn:cvs-rev changed from 1.4 to 1.5
    r1660 r1661  
    4848#include <InnoTekLIBC/sharedpm.h>
    4949#include <InnoTekLIBC/backend.h>
     50
    5051#define __LIBC_LOG_GROUP __LIBC_LOG_GRP_BACK_PROCESS
    5152#include <InnoTekLIBC/logstrict.h>
     
    758759    FS_VAR();
    759760    FS_SAVE_LOAD();
    760     PPIB        pPib;
    761     PTIB        pTib;
    762     DosGetInfoBlocks(&pTib, &pPib);
    763761    int rc = waitSemRequest(0);
    764762    if (rc)
     
    920918         */
    921919        if (    cIterations >= 1
    922             &&  (pPib->pib_flstatus & (0x40/*dying*/ | 0x04/*exiting all*/ | 0x02/*Exiting Thread 1*/ | 0x01/*ExitList */))
    923             )
    924             LIBCLOG_RETURN_MSG(-EDEADLK, "%d (-EDEADLK) pib_flstatus=%#lx\n", -EDEADLK, pPib->pib_flstatus);
     920            &&  fibIsInExit())
     921            LIBCLOG_RETURN_MSG(-EDEADLK, "%d (-EDEADLK) pib_flstatus=%#x\n", -EDEADLK, (unsigned)fibGetProcessStatus());
    925922        rc = DosWaitEventSem(ghevWait, 30*1000);
    926923        if (rc == ERROR_INTERRUPT)
  • trunk/src/emx/src/lib/sys/b_threadInit.c

    • Property cvs2svn:cvs-rev changed from 1.7 to 1.8
    r1660 r1661  
    2929*******************************************************************************/
    3030#include "libc-alias.h"
     31
     32
    3133#include <os2emx.h>
    3234#include <sys/signal.h>
     
    4345    pThrd->b.sys.fd.cFiles = 0;
    4446
    45     /*
    46      * Gain exclusive access to the signal stuff.
    47      */
    48     int rc = __libc_back_signalSemRequest();
     47    if (pParentThrd && pParentThrd->tid)
     48    {
     49        /*
     50         * We don't mess with the signal semaphore here because that *will*
     51         * cause deadlocks. So to protect ourselves against signals
     52         * we'll simply enter a must complete section while accessing the
     53         * variables. This naturally assumes that WE are the parent!
     54         */
     55        FS_VAR_SAVE_LOAD();
     56        ULONG ulNesting = 0;
     57        DosEnterMustComplete(&ulNesting);
    4958
    50     /*
    51      * Copy signal stuff.
    52      */
    53     if (pParentThrd)
    54     {
     59        /*
     60         * Copy signal stuff.
     61         */
    5562        pThrd->SigSetBlocked    = pParentThrd->SigSetBlocked;
    5663        if (pParentThrd->fSigSetBlockedOld)
     
    5966            pThrd->fSigSetBlockedOld    = pParentThrd->fSigSetBlockedOld;
    6067        }
     68
     69
     70
     71
     72
     73
    6174    }
    62 
    63     /*
    64      * Release semaphore.
    65      */
    66     if (!rc)
    67         __libc_back_signalSemRelease();
    6875}
    6976
  • trunk/src/emx/src/lib/sys/execname.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    88#include <string.h>
    99#include <emx/syscalls.h>
     10
    1011#include "syscalls.h"
    1112
     
    1314{
    1415  ULONG rc;
    15   PTIB ptib;
    16   PPIB ppib;
    1716  FS_VAR();
    1817
     
    2120
    2221  FS_SAVE_LOAD();
    23   rc = DosGetInfoBlocks (&ptib, &ppib);
    24   if (rc != 0)
    25     {
    26       FS_RESTORE();
    27       *dst = 0;
    28       return -1;
    29     }
    30 
    31   rc = DosQueryModuleName (ppib->pib_hmte, size, dst);
     22  rc = DosQueryModuleName (fibGetExeHandle(), size, dst);
    3223  FS_RESTORE();
    3324  if (rc != 0)
  • trunk/src/emx/src/lib/sys/filehandles.c

    • Property cvs2svn:cvs-rev changed from 1.15 to 1.16
    r1660 r1661  
    119119     * Init the mutex which should've been a read write lock.
    120120     */
    121     rc = _fmutex_create(&gmtx, 0);
     121    rc = _fmutex_create);
    122122    if (rc)
    123123        return rc;
  • trunk/src/emx/src/lib/sys/fs.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    211211     * Create the mutex.
    212212     */
    213     int rc = _fmutex_create(&__libc_gmtxFS, 0);
     213    int rc = _fmutex_create);
    214214    if (rc)
    215215        LIBCLOG_RETURN_INT(-1);
  • trunk/src/emx/src/lib/sys/libcfork.c

    • Property cvs2svn:cvs-rev changed from 1.10 to 1.11
    r1660 r1661  
    4747#include <InnoTekLIBC/fork.h>
    4848#include <InnoTekLIBC/sharedpm.h>
     49
    4950#define __LIBC_LOG_GROUP    __LIBC_LOG_GRP_FORK
    5051#include <InnoTekLIBC/logstrict.h>
     
    779780    LIBCLOG_ENTER("pForkHandle=%p ppid=%p\n", (void *)pForkHandle, (void *)ppid);
    780781    __LIBC_PSPMPROCESS  pProcessChild;
    781     PTIB                pTib;
    782     PPIB                pPib;
    783782    char                szPgm[CCHMAXPATH];
    784783    int                 rc;
     
    807806     */
    808807    pForkHandle->enmStage = __LIBC_FORK_STAGE_EXEC;
    809     DosGetInfoBlocks(&pTib, &pPib);
    810     rc = DosQueryModuleName(pPib->pib_hmte, sizeof(szPgm), &szPgm[0]);
     808    rc = DosQueryModuleName(fibGetExeHandle(), sizeof(szPgm), &szPgm[0]);
    811809    if (!rc)
    812810    {
     
    814812        RESULTCODES rsc = {0,0};
    815813        #if 1
    816         rc = DosExecPgm(szErr, sizeof(szErr), EXEC_ASYNCRESULT, (PCSZ)pPib->pib_pchcmd, NULL, &rsc, (PCSZ)&szPgm[0]);
     814        rc = DosExecPgm(szErr, sizeof(szErr), EXEC_ASYNCRESULT, (PCSZ), NULL, &rsc, (PCSZ)&szPgm[0]);
    817815        #else /* debugging checks */
    818816        rc = DosExecPgm(szErr, sizeof(szErr), EXEC_ASYNCRESULT, (PCSZ)"forking\0forking\0", NULL, &rsc, (PCSZ)&szPgm[0]);
     
    842840        else
    843841        {
    844             LIBC_ASSERTM_FAILED("DosExecPgm(,,,%s,,,%s..) failed with rc=%d, szErr=%s\n", szPgm, pPib->pib_pchcmd, rc, szErr);
     842            LIBC_ASSERTM_FAILED("DosExecPgm(,,,%s,,,%s..) failed with rc=%d, szErr=%s\n", szPgm, , rc, szErr);
    845843            rc = -__libc_native2errno(rc);
    846844        }
     
    848846    else
    849847    {
    850         LIBC_ASSERTM_FAILED("DosQueryModuleName(%lx,,) failed with rc=%d\n", pPib->pib_hmte, rc);
     848        LIBC_ASSERTM_FAILED("DosQueryModuleName(%lx,,) failed with rc=%d\n", , rc);
    851849        rc = -__libc_native2errno(rc);
    852850    }
  • trunk/src/emx/src/lib/sys/signals.c

    • Property cvs2svn:cvs-rev changed from 1.16 to 1.17
    r1660 r1661  
    8282#include <InnoTekLIBC/fork.h>
    8383#include <InnoTekLIBC/backend.h>
     84
    8485#define __LIBC_LOG_GROUP __LIBC_LOG_GRP_BACK_SIGNAL
    8586#include <InnoTekLIBC/logstrict.h>
     
    701702    LIBCLOG_ENTER("\n");
    702703    int     rc;
    703     PPIB    pPib;
    704     PTIB    pTib;
    705704    ULONG   cNesting;
    706705    FS_VAR();
     
    710709    {
    711710        HMTX    hmtx = ghmtxSignals;
    712         rc = DosRequestMutexSem(hmtx, SEM_INDEFINITE_WAIT);
     711        rc = DosRequestMutexSem(hmtx, );
    713712        if (!rc)
    714713            break;
    715         if (rc == ERROR_INTERRUPT)
     714        if (rc == ERROR_INTERRUPT)
    716715        {
    717716            /*
     
    723722             * lead to bad deadlocks.
    724723             */
    725             DosGetInfoBlocks(&pTib, &pPib);
    726             if (pPib->pib_flstatus & (0x40/*dying*/ | 0x04/*exiting all*/ | 0x02/*Exiting Thread 1*/ | 0x01/* ExitList */))
     724            if (fibIsInExit())
    727725            {
    728726                /* we're terminating, don't give a shit about signals now, just hurry up and die! */
  • trunk/src/emx/src/lib/sys/timebomb.c

    • Property cvs2svn:cvs-rev changed from 1.5 to 1.6
    r1660 r1661  
    3333
    3434#ifdef TIMEBOMB
    35 
    3635_CRT_INIT1(__libc_Timebomb)
     36
    3737
    3838void __libc_Timebomb(void)
     
    6565}
    6666
    67 #endif
Note: See TracChangeset for help on using the changeset viewer.