home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / DIR.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-27  |  4.6 KB  |  168 lines

  1. /*  dir.h
  2.  
  3.     Defines structures, macros, and functions for dealing with
  4.     directories and pathnames.
  5.  
  6. */
  7.  
  8. /* $Copyright: 1987$ */
  9. /* $Revision:   8.7  $ */
  10.  
  11. #if !defined(__DIR_H)
  12. #define __DIR_H
  13.  
  14. #if !defined(___DEFS_H)
  15. #include <_defs.h>
  16. #endif
  17.  
  18. #if !defined(___TCHAR_H)
  19. #include <tchar.h>
  20. #endif
  21.  
  22.  
  23. #if !defined(RC_INVOKED)
  24.  
  25. #if defined(__STDC__)
  26. #pragma warn -nak
  27. #endif
  28.  
  29. #endif  /* !RC_INVOKED */
  30.  
  31.  
  32. #ifndef __cplusplus
  33. #if !defined(_WCHAR_T) && !defined(_WCHAR_T_DEFINED)
  34. #define _WCHAR_T
  35. #define _WCHAR_T_DEFINED  /* For WINDOWS.H */
  36. typedef unsigned short wchar_t;
  37. #endif
  38. #endif
  39.  
  40. #define WILDCARDS 0x01
  41. #define EXTENSION 0x02
  42. #define FILENAME  0x04
  43. #define DIRECTORY 0x08
  44. #define DRIVE     0x10
  45.  
  46. #define MAXDRIVE  3
  47.  
  48. #if !defined(__FLAT__)
  49.  
  50. #ifndef _FFBLK_DEF
  51. #define _FFBLK_DEF
  52. struct  ffblk   {
  53.     char        ff_reserved[21];
  54.     char        ff_attrib;
  55.     unsigned    ff_ftime;
  56.     unsigned    ff_fdate;
  57.     long        ff_fsize;
  58.     char        ff_name[13];
  59. };
  60. #endif
  61.  
  62. #define MAXPATH   80
  63. #define MAXDIR    66
  64. #define MAXFILE   9
  65. #define MAXEXT    5
  66.  
  67. #else  /* defined __FLAT__ */
  68.  
  69. #if !defined(RC_INVOKED)
  70. #pragma pack(push, 1)
  71. #endif
  72.  
  73. #ifndef _FFBLK_DEF
  74. #define _FFBLK_DEF
  75. struct  ffblk   {
  76.     long            ff_reserved;
  77.     long            ff_fsize;
  78.     unsigned long   ff_attrib;
  79.     unsigned short  ff_ftime;
  80.     unsigned short  ff_fdate;
  81.     char            ff_name[256];
  82. };
  83. struct  _wffblk   {
  84.     long            ff_reserved;
  85.     long            ff_fsize;
  86.     unsigned long   ff_attrib;
  87.     unsigned short  ff_ftime;
  88.     unsigned short  ff_fdate;
  89.     wchar_t         ff_name[256];
  90. };
  91. #endif
  92.  
  93. #define MAXPATH   260
  94. #define MAXDIR    256
  95. #define MAXFILE   256
  96. #define MAXEXT    256
  97.  
  98. #if !defined(RC_INVOKED)
  99. #pragma pack(pop)       /* restore default packing */
  100. #endif
  101.  
  102. #endif  /* __FLAT__  */
  103.  
  104. #ifdef __cplusplus
  105. extern "C" {
  106. #endif
  107.  
  108. int         _RTLENTRYF _EXPFUNC32   chdir( const char _FAR *__path );
  109. int         _RTLENTRYF _EXPFUNC     findfirst( const char _FAR *__path,
  110.                                     struct ffblk _FAR *__ffblk,
  111.                                     int __attrib );
  112. int         _RTLENTRYF _EXPFUNC     findnext( struct ffblk _FAR *__ffblk );
  113.  
  114. void        _RTLENTRYF _EXPFUNC     fnmerge( char _FAR *__path,
  115.                                     const char _FAR *__drive,
  116.                                     const char _FAR *__dir,
  117.                                     const char _FAR *__name,
  118.                                     const char _FAR *__ext );
  119. int         _RTLENTRYF _EXPFUNC     fnsplit(const char _FAR *__path,
  120.                                     char _FAR *__drive,
  121.                                     char _FAR *__dir,
  122.                                     char _FAR *__name,
  123.                                     char _FAR *__ext );
  124. int         _RTLENTRY  _EXPFUNC32   getcurdir( int __drive, char _FAR *__directory );
  125. char _FAR * _RTLENTRY  _EXPFUNC     getcwd( char _FAR *__buf, int __buflen );
  126. int         _RTLENTRY  _EXPFUNC32   getdisk( void );
  127. int         _RTLENTRYF _EXPFUNC32   mkdir( const char _FAR *__path );
  128. char _FAR * _RTLENTRYF _EXPFUNC     mktemp( char _FAR *__template );
  129. int         _RTLENTRY  _EXPFUNC32   rmdir( const char _FAR *__path );
  130. char _FAR * _RTLENTRYF _EXPFUNC32   searchpath( const char _FAR *__file );
  131. int         _RTLENTRY  _EXPFUNC32   setdisk( int __drive );
  132.  
  133. #ifdef __FLAT__
  134. int         _RTLENTRYF _EXPFUNC32   _wchdir( const wchar_t *__path );
  135. int         _RTLENTRYF _EXPFUNC32   _wmkdir( const wchar_t *__path );
  136. int         _RTLENTRY  _EXPFUNC32   _wrmdir( const wchar_t *__path );
  137. wchar_t   * _RTLENTRYF _EXPFUNC     _wmktemp( wchar_t *__template );
  138. int         _RTLENTRYF _EXPFUNC     _wfindfirst( const wchar_t *__path,
  139.                                     struct _wffblk *__ffblk,
  140.                                     int __attrib );
  141. int         _RTLENTRYF _EXPFUNC     _wfindnext( struct _wffblk *__ffblk );
  142. int         _RTLENTRYF _EXPFUNC     _wfnsplit(const wchar_t *__path,
  143.                                     wchar_t *__drive,
  144.                                     wchar_t *__dir,
  145.                                     wchar_t *__name,
  146.                                     wchar_t *__ext );
  147. wchar_t   * _RTLENTRY  _EXPFUNC     _wgetcwd( wchar_t *__buf, int __buflen );
  148. int         _RTLENTRY  _EXPFUNC     _wgetcurdir( int __drive, wchar_t *__directory );
  149. #endif
  150.  
  151. #ifdef __cplusplus
  152. }
  153. #endif
  154.  
  155.  
  156. #if !defined(RC_INVOKED)
  157.  
  158. #if defined(__STDC__)
  159. #pragma warn .nak
  160. #endif
  161.  
  162. #endif  /* !RC_INVOKED */
  163.  
  164.  
  165. #endif  /* __DIR_H */
  166.  
  167.  
  168.