home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / EXTRAS / UUCODE / UUPC / TEST / UPC12ES1.ZIP / LIB / uundir.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-06  |  3.4 KB  |  116 lines

  1. #ifndef UUNDIR_H
  2. #define UUNDIR_H
  3.  
  4. #ifdef WIN32
  5. #include <time.h>
  6. #endif
  7.  
  8. /*--------------------------------------------------------------------*/
  9. /*       u u n d i r . h                                              */
  10. /*                                                                    */
  11. /*       UUPC/extended directory search functions                     */
  12. /*--------------------------------------------------------------------*/
  13.  
  14. /*--------------------------------------------------------------------*/
  15. /*       ndir.h for MS-DOS by Samuel Lam <skl@van-bc.UUCP>, June/87   */
  16. /*--------------------------------------------------------------------*/
  17.  
  18. /*--------------------------------------------------------------------*/
  19. /*    Changes Copyright (c) 1989-1993 by Kendra Electronic            */
  20. /*    Wonderworks.                                                    */
  21. /*                                                                    */
  22. /*    All rights reserved except those explicitly granted by the      */
  23. /*    UUPC/extended license agreement.                                */
  24. /*--------------------------------------------------------------------*/
  25.  
  26. /*--------------------------------------------------------------------*/
  27. /*                          RCS Information                           */
  28. /*--------------------------------------------------------------------*/
  29.  
  30. /*
  31.  *    $Id: uundir.h 1.5 1993/11/06 17:57:46 rhg Exp $
  32.  *
  33.  *    Revision history:
  34.  *    $Log: uundir.h $
  35.  *     Revision 1.5  1993/11/06  17:57:46  rhg
  36.  *     Drive Drew nuts by submitting cosmetic changes mixed in with bug fixes
  37.  *
  38.  *     Revision 1.4  1993/10/12  01:22:27  ahd
  39.  *     Normalize comments to PL/I style
  40.  *
  41.  *     Revision 1.3  1993/04/10  21:35:30  dmwatt
  42.  *     Windows/NT fixes
  43.  *
  44.  *     Revision 1.2  1993/04/05  04:38:55  ahd
  45.  *     Add time stamp/size information
  46.  *
  47.  */
  48.  
  49. #define MSDOS_MAXNAMLEN 12
  50.  
  51. #define MAXNAMLEN FILENAME_MAX   /* For OS/2, Win/NT compatability     */
  52.  
  53. struct direct {
  54.    long d_ino;
  55.    time_t d_modified;
  56.    long  d_size;
  57.    short d_reclen;
  58.    short d_namlen;
  59.    char d_name[MAXNAMLEN];
  60. };
  61.  
  62. #ifndef FAMILY_API
  63.  
  64. #if _MSC_VER >= 800
  65. #pragma warning(disable:4214)   /* suppress non-standard bit-field warnings */
  66. #elif _MSC_VER >= 700
  67. #pragma warning(disable:4001)   /* suppress non-standard bit-field warnings */
  68. #endif
  69.  
  70. typedef struct _FTIME           /* ftime */
  71.         {
  72.         unsigned short   twosecs : 5;
  73.         unsigned short   minutes : 6;
  74.         unsigned short   hours   : 5;
  75.         } FTIME;
  76.  
  77. typedef struct _FDATE           /* fdate */
  78.         {
  79.         unsigned short   day     : 5;
  80.         unsigned short   month   : 4;
  81.         unsigned short   year    : 7;
  82.         } FDATE;
  83.  
  84. #if _MSC_VER >= 800
  85. #pragma warning(default:4214)   /* restore non-standard bit-field warnings */
  86. #elif _MSC_VER >= 700
  87. #pragma warning(disable:4001)   /* restore non-standard bit-field warnings */
  88. #endif
  89.  
  90. #endif
  91.  
  92. typedef struct {
  93.    char filereserved[21];
  94.    char fileattr;
  95.    FTIME filetime;
  96.    FDATE filedate;
  97.    long filesize;
  98.    char filename[MSDOS_MAXNAMLEN + 1];
  99. } DTA;
  100.  
  101. typedef struct {
  102.    char dirid[4];
  103.    struct direct dirent;
  104.    DTA dirdta;
  105.    int dirfirst;
  106. } DIR;
  107.  
  108. extern DIR *opendirx(const char *dirname, char *pattern);
  109.  
  110. #define opendir(x) opendirx(x, "*.*")
  111.  
  112. extern struct direct *readdir(DIR *dirp);
  113. extern void closedir(DIR *dirp);
  114.  
  115. #endif
  116.