home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 January / PCWorld_2000-01_cd.bin / Software / Servis / Devc / _SETUP.4 / Group3 / dir.h < prev    next >
C/C++ Source or Header  |  1998-12-24  |  3KB  |  110 lines

  1. /*
  2.  * dir.h
  3.  *
  4.  * Functions for working with directories and path names.
  5.  *
  6.  * This file is part of the Mingw32 package.
  7.  *
  8.  * Contributors:
  9.  *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp>
  10.  *
  11.  *  THIS SOFTWARE IS NOT COPYRIGHTED
  12.  *
  13.  *  This source code is offered for use in the public domain. You may
  14.  *  use, modify or distribute it freely.
  15.  *
  16.  *  This code is distributed in the hope that it will be useful but
  17.  *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
  18.  *  DISCLAMED. This includes but is not limited to warranties of
  19.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  20.  *
  21.  * $Revision: 2.2 $
  22.  * $Author: colin $
  23.  * $Date: 1998/01/26 04:45:56 $
  24.  *
  25.  */
  26.  
  27. #ifndef __STRICT_ANSI__
  28.  
  29. #ifndef _DIR_H_
  30. #define    _DIR_H_
  31.  
  32. #include <stdio.h>    /* To get FILENAME_MAX... ugly. */
  33. #include <sys/types.h>    /* To get time_t. */
  34.  
  35. /*
  36.  * Attributes of files as returned by _findfirst et al.
  37.  */
  38. #define    _A_NORMAL    0x00000000
  39. #define    _A_RDONLY    0x00000001
  40. #define    _A_HIDDEN    0x00000002
  41. #define    _A_SYSTEM    0x00000004
  42. #define    _A_VOLID    0x00000008
  43. #define    _A_SUBDIR    0x00000010
  44. #define    _A_ARCH        0x00000020
  45.  
  46.  
  47. #ifndef RC_INVOKED
  48.  
  49. #ifndef    _FSIZE_T_DEFINED
  50. typedef    unsigned long    _fsize_t;
  51. #define _FSIZE_T_DEFINED
  52. #endif
  53.  
  54. /*
  55.  * The following structure is filled in by _findfirst or _findnext when
  56.  * they succeed in finding a match.
  57.  */
  58. struct _finddata_t
  59. {
  60.     unsigned    attrib;        /* Attributes, see constants above. */
  61.     time_t        time_create;
  62.     time_t        time_access;    /* always midnight local time */
  63.     time_t        time_write;
  64.     _fsize_t    size;
  65.     char        name[FILENAME_MAX];    /* may include spaces. */
  66. };
  67.  
  68. #ifdef    __cplusplus
  69. extern "C" {
  70. #endif
  71.  
  72. /*
  73.  * Functions for searching for files. _findfirst returns -1 if no match
  74.  * is found. Otherwise it returns a handle to be used in _findnext and
  75.  * _findclose calls. _findnext also returns -1 if no match could be found,
  76.  * and 0 if a match was found. Call _findclose when you are finished.
  77.  */
  78. int    _findfirst (const char* szFilespec, struct _finddata_t* find);
  79. int    _findnext (int nHandle, struct _finddata_t* find);
  80. int    _findclose (int nHandle);
  81.  
  82. int    _chdir (const char* szPath);
  83. char*    _getcwd (char* caBuffer, int nBufferSize);
  84. int    _mkdir (const char* szPath);
  85. char*    _mktemp (char* szTemplate);
  86. int    _rmdir (const char* szPath);
  87.  
  88.  
  89. #ifndef _NO_OLDNAMES
  90.  
  91. int    chdir (const char* szPath);
  92. char*    getcwd (char* caBuffer, int nBufferSize);
  93. int    mkdir (const char* szPath);
  94. char*    mktemp (char* szTemplate);
  95. int    rmdir (const char* szPath);
  96.  
  97. #endif /* Not _NO_OLDNAMES */
  98.  
  99.  
  100. #ifdef    __cplusplus
  101. }
  102. #endif
  103.  
  104. #endif    /* Not RC_INVOKED */
  105.  
  106. #endif    /* Not _DIR_H_ */
  107.  
  108. #endif    /* Not __STRICT_ANSI__ */
  109.  
  110.