This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/dm/include/io.h

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