Synesis Software

Main Page   Modules   Alphabetical List   Compound List   File List   Compound Members   File Members  

/include/unistd.h

Go to the documentation of this file.
00001 /* 
00002  * File:    unistd.h
00003  *
00004  * Purpose: Declaration of the .
00005  *
00006  * Created: 1st November 2003
00007  * Updated: 21st September 2005
00008  *
00009  * Home:    http://synesis.com.au/software/
00010  *
00011  * Copyright (c) 2003-2005, Matthew Wilson and Synesis Software
00012  * All rights reserved.
00013  *
00014  * Redistribution and use in source and binary forms, with or without
00015  * modification, are permitted provided that the following conditions are met:
00016  *
00017  * - Redistributions of source code must retain the above copyright notice, this
00018  *   list of conditions and the following disclaimer.
00019  * - Redistributions in binary form must reproduce the above copyright notice,
00020  *   this list of conditions and the following disclaimer in the documentation
00021  *   and/or other materials provided with the distribution.
00022  * - Neither the names of Matthew Wilson and Synesis Software nor the names of
00023  *   any contributors may be used to endorse or promote products derived from
00024  *   this software without specific prior written permission.
00025  *
00026  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00027  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00028  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00029  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00030  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00031  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00032  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00033  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00034  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00035  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00036  * POSSIBILITY OF SUCH DAMAGE.
00037  *
00038  * 
00039 
00040 
00046 #ifndef SYNSOFT_UNIXEM_INCL_H_UNISTD
00047 #define SYNSOFT_UNIXEM_INCL_H_UNISTD
00048 
00049 #ifndef UNIXEM_DOCUMENTATION_SKIP_SECTION
00050 # define SYNSOFT_UNIXEM_VER_H_UNISTD_MAJOR      2
00051 # define SYNSOFT_UNIXEM_VER_H_UNISTD_MINOR      3
00052 # define SYNSOFT_UNIXEM_VER_H_UNISTD_REVISION   4
00053 # define SYNSOFT_UNIXEM_VER_H_UNISTD_EDIT       26
00054 #endif /* !UNIXEM_DOCUMENTATION_SKIP_SECTION */
00055 
00056 /* 
00057  * Includes
00058  */
00059 
00060 #include <stddef.h>     /* for size_t */
00061 #include <sys/types.h>  /* for mode_t */
00062 
00063 /* 
00064 
00075 /* 
00076 
00077 #ifndef _WIN32
00078 # error This file is only currently defined for compilation on Win32 systems
00079 #endif /* _WIN32 */
00080 
00081 /* 
00082  * Constants and definitions
00083  */
00084 
00085 //#ifndef PATH_MAX
00086 //# define PATH_MAX   (260)   /*!< \brief The maximum number of characters (including null terminator) in a directory entry name */
00087 //#endif /* !PATH_MAX */
00088 
00089 enum
00090 {
00091         _PC_LINK_MAX                    
00092 #define _PC_LINK_MAX            _PC_LINK_MAX
00093     ,   _PC_MAX_CANON                   
00094 #define _PC_MAX_CANON           _PC_MAX_CANON
00095     ,   _PC_MAX_INPUT                   
00096 #define _PC_MAX_INPUT           _PC_MAX_INPUT
00097     ,   _PC_NAME_MAX                    
00098 #define _PC_NAME_MAX            _PC_NAME_MAX
00099     ,   _PC_PATH_MAX                    
00100 #define _PC_PATH_MAX            _PC_PATH_MAX
00101  
00102     ,   _PC_PIPE_BUF                    
00103 #define _PC_PIPE_BUF            _PC_PIPE_BUF
00104     ,   _PC_CHOWN_RESTRICTED            
00105 #define _PC_CHOWN_RESTRICTED    _PC_CHOWN_RESTRICTED
00106     ,   _PC_NO_TRUNC                    
00107 #define _PC_NO_TRUNC            _PC_NO_TRUNC
00108     ,   _PC_VDISABLE                    
00109 #define _PC_VDISABLE            _PC_VDISABLE
00110     ,   _PC_AIX_DISK_PARTITION          
00113 #define _PC_AIX_DISK_PARTITION    _PC_AIX_DISK_PARTITION
00114     ,   _PC_AIX_DISK_SIZE               
00119 #define _PC_AIX_DISK_SIZE           _PC_AIX_DISK_SIZE
00120     ,   _PC_FILESIZEBITS                
00121 #define _PC_FILESIZEBITS            _PC_FILESIZEBITS
00122     ,   _PC_SYNC_IO                     
00123 #define _PC_SYNC_IO                 _PC_SYNC_IO
00124 };
00125 
00126 /* 
00127  * API functions
00128  */
00129 
00130 #ifdef __cplusplus
00131 extern "C" {
00132 #endif /* __cplusplus */
00133 
00146 int link(const char *originalFile, const char *linkName);
00147 
00148 
00155 int unlink(const char *path);
00156 
00165 int chdir(const char *dirName);
00166 
00176 char *getcwd(char *buffer, size_t max_len);
00177 
00178 #if !defined(__MWERKS__)
00179 
00189 int mkdir(const char *dirName, unsigned mode);
00190 
00191 #endif /* !__MWERKS__ */
00192 
00200 int rmdir(const char *dirName);
00201 
00207 int close(int handle);
00208 
00215 /* int pipe(int handles[2]); */
00216 
00219 int getpagesize(void);
00220 
00223 long pathconf(char const *path, int name);
00224 
00225 
00233 char *realpath(char const *path, char resolvedPath[]);
00234 
00235 #ifdef __cplusplus
00236 } /* extern "C" */
00237 #endif /* __cplusplus */
00238 
00239 /* 
00240 
00243 /* 
00244 
00245 #endif /* SYNSOFT_UNIXEM_INCL_H_UNISTD */
00246 
00247 /* 

UNIX Emulation for Win32 Libraries documentation © Synesis Software Pty Ltd, 2002-2005