200 lines
4.3 KiB
C
200 lines
4.3 KiB
C
|
/* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */
|
||
|
#if __SC__ || __RCC__
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
#ifndef __IO_H
|
||
|
#define __IO_H 1
|
||
|
|
||
|
#if __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
/* Define _CRTAPI1 (for compatibility with the NT SDK) */
|
||
|
#ifndef _CRTAPI1
|
||
|
#define _CRTAPI1 __cdecl
|
||
|
#endif
|
||
|
|
||
|
/* Define _CRTAPI2 (for compatibility with the NT SDK) */
|
||
|
#ifndef _CRTAPI2
|
||
|
#define _CRTAPI2 __cdecl
|
||
|
#endif
|
||
|
|
||
|
/* Define CRTIMP */
|
||
|
#ifndef _CRTIMP
|
||
|
#if defined(_WIN32) && defined(_DLL)
|
||
|
#define _CRTIMP __declspec(dllimport)
|
||
|
#else
|
||
|
#define _CRTIMP
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#if __OS2__ && __INTSIZE == 4
|
||
|
#define __CLIB __stdcall
|
||
|
#else
|
||
|
#define __CLIB __cdecl
|
||
|
#endif
|
||
|
|
||
|
#ifndef __STDC__
|
||
|
#if !defined(_WCHAR_T_DEFINED)
|
||
|
typedef unsigned short wchar_t;
|
||
|
#define _WCHAR_T_DEFINED 1
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
_CRTIMP int __CLIB read(int,void *,unsigned);
|
||
|
_CRTIMP int __CLIB write(int,const void *,unsigned);
|
||
|
#define _read read
|
||
|
#define _write write
|
||
|
|
||
|
#if __INTSIZE == 2
|
||
|
int __CLIB _readx(int,void *,unsigned,unsigned);
|
||
|
int __CLIB _writex(int,void *,unsigned,unsigned);
|
||
|
#endif
|
||
|
|
||
|
#if M_UNIX || M_XENIX
|
||
|
char __CLIB *ttyname(int filedes);
|
||
|
int __CLIB rdchk(int filedes);
|
||
|
int __cdecl ioctl(int filedes, int cmd,...);
|
||
|
long __cdecl ulimit(int,long);
|
||
|
#else
|
||
|
int __cdecl dos_open(const char *,int);
|
||
|
int __cdecl sopen(const char *, int, int, ...);
|
||
|
int __CLIB setmode(int,int);
|
||
|
int __cdecl _umask(int mask);
|
||
|
int __CLIB chmod(const char *,int);
|
||
|
#define _setmode setmode
|
||
|
#define _sopen sopen
|
||
|
#define umode _umode
|
||
|
#define umask _umask
|
||
|
#endif
|
||
|
|
||
|
struct ftime
|
||
|
{
|
||
|
unsigned ft_tsec : 5;
|
||
|
unsigned ft_min : 6;
|
||
|
unsigned ft_hour : 5;
|
||
|
unsigned ft_day : 5;
|
||
|
unsigned ft_month : 4;
|
||
|
unsigned ft_year : 7;
|
||
|
};
|
||
|
|
||
|
struct _finddata_t
|
||
|
{
|
||
|
unsigned attrib;
|
||
|
long time_create;
|
||
|
long time_access;
|
||
|
long time_write;
|
||
|
unsigned long size;
|
||
|
char name[260];
|
||
|
};
|
||
|
|
||
|
#define _A_NORMAL 0x00
|
||
|
#define _A_RDONLY 0x01
|
||
|
#define _A_HIDDEN 0x02
|
||
|
#define _A_SYSTEM 0x04
|
||
|
#define _A_VOLID 0x08
|
||
|
#define _A_SUBDIR 0x10
|
||
|
#define _A_ARCH 0x20
|
||
|
|
||
|
_CRTIMP int __cdecl _findfirst(const char *, struct _finddata_t *);
|
||
|
_CRTIMP int __cdecl _findnext(int, struct _finddata_t *);
|
||
|
_CRTIMP int __cdecl _findclose(int);
|
||
|
|
||
|
#ifndef __NT__
|
||
|
#ifndef DOS386
|
||
|
int __CLIB getftime(int FHdl, struct ftime *FtPtr);
|
||
|
int __CLIB setftime(int handle, struct ftime *ptr);
|
||
|
int __CLIB lock(int FHdl, long Offset, long Size);
|
||
|
int __CLIB unlock(int handle, long offset, long length);
|
||
|
#endif /* DOS386 */
|
||
|
#endif
|
||
|
|
||
|
int __cdecl creatnew(const char *, int);
|
||
|
int __cdecl creattemp(char *, int);
|
||
|
int __cdecl open(const char *,int,...);
|
||
|
int __CLIB creat(const char *,int);
|
||
|
int __CLIB close(int);
|
||
|
int __CLIB locking(int, int, long);
|
||
|
int __CLIB _commit(int);
|
||
|
int __CLIB eof(int handle);
|
||
|
int __CLIB rename(const char *, const char *);
|
||
|
#define _open open
|
||
|
#define _close close
|
||
|
#define _creat creat
|
||
|
#define _locking locking
|
||
|
#define _eof eof
|
||
|
|
||
|
#ifdef __NT__
|
||
|
long __CLIB _get_osfhandle(int);
|
||
|
int __CLIB _open_osfhandle(long,int);
|
||
|
#endif
|
||
|
|
||
|
int __CLIB unlink(const char *);
|
||
|
#define _unlink unlink
|
||
|
|
||
|
int __CLIB remove(const char *);
|
||
|
int __CLIB chsize(int, long);
|
||
|
#define _chsize chsize
|
||
|
|
||
|
#define _chmod chmod
|
||
|
|
||
|
int __CLIB dup(int);
|
||
|
int __CLIB _dup(int);
|
||
|
int __CLIB dup2(int, int);
|
||
|
char * __CLIB mktemp(char *);
|
||
|
#define _mktemp mktemp
|
||
|
#define _dup2 dup2
|
||
|
|
||
|
int __CLIB access(const char *,int);
|
||
|
#define _access access
|
||
|
|
||
|
#define F_OK 0
|
||
|
#define X_OK 1
|
||
|
#define W_OK 2
|
||
|
#define R_OK 4
|
||
|
|
||
|
long __CLIB lseek(int,long,int);
|
||
|
#define _lseek lseek
|
||
|
#define SEEK_SET 0
|
||
|
#define SEEK_CUR 1
|
||
|
#define SEEK_END 2
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
inline long tell( int handle ) { return _lseek( handle, 0L, SEEK_CUR ); }
|
||
|
#else
|
||
|
#define tell( handle ) _lseek( handle, 0L, SEEK_CUR )
|
||
|
#endif
|
||
|
#define _tell tell
|
||
|
|
||
|
long __CLIB filesize(const char *);
|
||
|
long __CLIB filelength(int);
|
||
|
int __CLIB isatty(int);
|
||
|
#define _filelength filelength
|
||
|
#define _isatty isatty
|
||
|
|
||
|
unsigned short __CLIB getDS(void);
|
||
|
|
||
|
#ifndef __STDC__
|
||
|
#define getDS() ((unsigned short)__emit__(0x8C,0xD8))
|
||
|
#endif
|
||
|
|
||
|
#ifdef __NT__
|
||
|
#ifndef __STDC__
|
||
|
int __CLIB _wsopen(const wchar_t *, int, int, ...);
|
||
|
int __CLIB _wchmod(const wchar_t *, int);
|
||
|
int __CLIB _wopen(const wchar_t *,int,...);
|
||
|
int __CLIB _wcreat(const wchar_t *,int);
|
||
|
int __CLIB _wrename(const wchar_t *, const wchar_t *);
|
||
|
int __CLIB _wunlink(const wchar_t *);
|
||
|
wchar_t * __CLIB _wmktemp(wchar_t *);
|
||
|
int __CLIB _waccess(const wchar_t *, int);
|
||
|
#endif
|
||
|
#endif
|
||
|
|
||
|
#if __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
#endif
|