source: trunk/libs/newlib/src/newlib/libc/sys/rdos/rdos.h @ 444

Last change on this file since 444 was 444, checked in by satin@…, 6 years ago

add newlib,libalmos-mkh, restructure shared_syscalls.h and mini-libc

File size: 15.2 KB
Line 
1
2#ifndef _RDOS_H
3#define _RDOS_H
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9//#undef WIN32
10
11#define FILE_ATTRIBUTE_READONLY         0x1
12#define FILE_ATTRIBUTE_HIDDEN           0x2
13#define FILE_ATTRIBUTE_SYSTEM           0x4
14#define FILE_ATTRIBUTE_DIRECTORY        0x10
15#define FILE_ATTRIBUTE_ARCHIVE          0x20
16#define FILE_ATTRIBUTE_NORMAL           0x80
17
18#define LGOP_NULL  0
19#define LGOP_NONE  1
20#define LGOP_OR  2
21#define LGOP_AND  3
22#define LGOP_XOR  4
23#define LGOP_INVERT  5
24#define LGOP_INVERT_OR  6
25#define LGOP_INVERT_AND  7
26#define LGOP_INVERT_XOR  8
27#define LGOP_ADD  9
28#define LGOP_SUBTRACT  10
29#define LGOP_MULTIPLY  11
30
31#define getred(pgc)       (((pgc)>>16)&0xFF)
32#define getgreen(pgc)     (((pgc)>>8)&0xFF)
33#define getblue(pgc)      ((pgc)&0xFF)
34#define mkcolor(r,g,b)    (((r)<<16)|((g)<<8)|(b))
35
36typedef struct ThreadState
37{
38         short int ID;
39         char Name[32];
40         unsigned long MsbTime;
41         unsigned long LsbTime;
42         char List[32];
43         long Offset;
44         short int Sel;
45} ThreadState;
46
47#ifdef __GNUC__
48#define __stdcall
49#else
50#if (sizeof(int) == 2)
51#define __stdcall
52#endif
53#endif
54
55short int __stdcall RdosSwapShort(short int val);
56long __stdcall RdosSwapLong(long val);
57
58void __stdcall RdosSetTextMode();
59int __stdcall RdosSetVideoMode(int *BitsPerPixel, int *xres, int *yres, int *linesize, void **buffer);
60void __stdcall RdosSetClipRect(int handle, int xmin, int ymin, int xmax, int ymax);
61void __stdcall RdosClearClipRect(int handle);
62void __stdcall RdosSetDrawColor(int handle, int color);
63void __stdcall RdosSetLGOP(int handle, int lgop);
64void __stdcall RdosSetHollowStyle(int handle);
65void __stdcall RdosSetFilledStyle(int handle);
66int __stdcall RdosOpenFont(int height);
67void __stdcall RdosCloseFont(int font);
68void __stdcall RdosGetStringMetrics(int font, const char *str, int *width, int *height);
69void __stdcall RdosSetFont(int handle, int font);
70int __stdcall RdosGetPixel(int handle, int x, int y);
71void __stdcall RdosSetPixel(int handle, int x, int y);
72void __stdcall RdosBlit(int SrcHandle, int DestHandle, int width, int height,
73                                int SrcX, int SrcY, int DestX, int DestY);
74void __stdcall RdosDrawMask(int handle, void *mask, int RowSize, int width, int height,
75                                int SrcX, int SrcY, int DestX, int DestY); 
76void __stdcall RdosDrawLine(int handle, int x1, int y1, int x2, int y2);
77void __stdcall RdosDrawString(int handle, int x, int y, const char *str);
78void __stdcall RdosDrawRect(int handle, int x, int y, int width, int height);
79void __stdcall RdosDrawEllipse(int handle, int x, int y, int width, int height);
80int __stdcall RdosCreateBitmap(int BitsPerPixel, int width, int height);
81int __stdcall RdosDuplicateBitmapHandle(int handle);
82void __stdcall RdosCloseBitmap(int handle);
83int __stdcall RdosCreateStringBitmap(int font, const char *str);
84void __stdcall RdosGetBitmapInfo(int handle, int *BitPerPixel, int *width, int *height,
85                                           int *linesize, void **buffer);
86
87int __stdcall RdosCreateSprite(int DestHandle, int BitmapHandle, int MaskHandle, int lgop); 
88void __stdcall RdosCloseSprite(int handle);
89void __stdcall RdosShowSprite(int handle);
90void __stdcall RdosHideSprite(int handle);
91void __stdcall RdosMoveSprite(int handle, int x, int y);
92
93void __stdcall RdosSetForeColor(int color);
94void __stdcall RdosSetBackColor(int color);
95int __stdcall RdosGetMemSize(void *ptr);
96void *__stdcall RdosAllocateMem(int Size);
97void __stdcall RdosFreeMem(void *ptr);
98int __stdcall RdosAppDebug();
99
100int __stdcall RdosOpenCom(int ID, long BaudRate, char Parity, char DataBits, char StopBits, int SendBufSize, int RecBufSize); 
101void __stdcall RdosCloseCom(int Handle);
102void __stdcall RdosFlushCom(int Handle);
103char __stdcall RdosReadCom(int Handle);
104int __stdcall RdosWriteCom(int Handle, char Val);
105void __stdcall RdosEnableCts(int Handle);
106void __stdcall RdosDisableCts(int Handle);
107void __stdcall RdosEnableAutoRts(int Handle);
108void __stdcall RdosDisableAutoRts(int Handle);
109void __stdcall RdosSetDtr(int Handle);
110void __stdcall RdosResetDtr(int Handle);
111void __stdcall RdosSetRts(int Handle);
112void __stdcall RdosResetRts(int Handle);
113int __stdcall RdosGetReceiveBufferSpace(int Handle);
114int __stdcall RdosGetSendBufferSpace(int Handle);
115void __stdcall RdosWaitForSendCompletedCom(int Handle);
116
117int __stdcall RdosOpenFile(const char *FileName, char Access);
118int __stdcall RdosCreateFile(const char *FileName, int Attrib);
119void __stdcall RdosCloseFile(int Handle);
120int __stdcall RdosIsDevice(int Handle);
121int __stdcall RdosDuplFile(int Handle);
122long __stdcall RdosGetFileSize(int Handle);
123void __stdcall RdosSetFileSize(int Handle, long Size);
124long __stdcall RdosGetFilePos(int Handle);
125void __stdcall RdosSetFilePos(int Handle, long Pos);
126int __stdcall RdosReadFile(int Handle, void *Buf, int Size);
127int __stdcall RdosWriteFile(int Handle, const void *Buf, int Size);
128void __stdcall RdosGetFileTime(int Handle, unsigned long *MsbTime, unsigned long *LsbTime);
129void __stdcall RdosSetFileTime(int Handle, unsigned long MsbTime, unsigned long LsbTime);
130
131int __stdcall RdosCreateMapping(int Size);
132int __stdcall RdosCreateNamedMapping(const char *Name, int Size); 
133int __stdcall RdosCreateNamedFileMapping(const char *Name, int Size, int FileHandle);
134int __stdcall RdosOpenNamedMapping(const char *Name);
135void __stdcall RdosSyncMapping(int Handle);
136void __stdcall RdosCloseMapping(int Handle);
137void __stdcall RdosMapView(int Handle, int Offset, void *Base, int Size);
138void __stdcall RdosUnmapView(int Handle);
139
140int __stdcall RdosSetCurDrive(int Drive);
141int __stdcall RdosGetCurDrive();
142int __stdcall RdosSetCurDir(const char *PathName);
143int __stdcall RdosGetCurDir(int Drive, char *PathName);
144int __stdcall RdosMakeDir(const char *PathName);
145int __stdcall RdosRemoveDir(const char *PathName);
146int __stdcall RdosRenameFile(const char *ToName, const char *FromName);
147int __stdcall RdosDeleteFile(const char *PathName);
148int __stdcall RdosGetFileAttribute(const char *PathName, int *Attribute);
149int __stdcall RdosSetFileAttribute(const char *PathName, int Attribute);
150int __stdcall RdosOpenDir(const char *PathName);
151void __stdcall RdosCloseDir(int Handle);
152int __stdcall RdosReadDir(int Handle, int EntryNr, int MaxNameSize, char *PathName, long *FileSize, int *Attribute, unsigned long *MsbTime, unsigned long *LsbTime);
153
154int __stdcall RdosGetThreadState(int ThreadNr, ThreadState *State);
155int __stdcall RdosSuspendThread(int ThreadNr);
156
157void __stdcall RdosCpuReset();
158void __stdcall RdosGetVersion(int *Major, int *Minor, int *Release);
159void __stdcall RdosCreateThread(void (*Start)(void *Param), const char *Name, void *Param, int StackSize);
160void __stdcall RdosTerminateThread();
161int __stdcall RdosGetThreadHandle();
162int __stdcall RdosExec(const char *prog, const char *param);
163int __stdcall RdosSpawn(const char *prog, const char *param, const char *startdir);
164void __stdcall RdosWaitMilli(int ms);
165void __stdcall RdosGetTics(unsigned long *msb, unsigned long *lsb);
166void __stdcall RdosTicsToRecord(unsigned long msb, unsigned long lsb, int *year, int *month, int *day, int *hour, int *min, int *sec, int *milli);
167void __stdcall RdosRecordToTics(unsigned long *msb, unsigned long *lsb, int year, int month, int day, int hour, int min, int sec, int milli);
168int __stdcall RdosDayOfWeek(int year, int month, int day);
169void __stdcall RdosGetSysTime(int *year, int *month, int *day, int *hour, int *min, int *sec, int *milli);
170void __stdcall RdosGetTime(int *year, int *month, int *day, int *hour, int *min, int *sec, int *milli);
171void __stdcall RdosSetTime(int year, int month, int day, int hour, int min, int sec, int milli);
172void __stdcall RdosAddTics(unsigned long *msb, unsigned long *lsb, long tics);
173void __stdcall RdosAddMilli(unsigned long *msb, unsigned long *lsb, long ms);
174void __stdcall RdosAddSec(unsigned long *msb, unsigned long *lsb, long sec);
175void __stdcall RdosAddMin(unsigned long *msb, unsigned long *lsb, long min);
176void __stdcall RdosAddHour(unsigned long *msb, unsigned long *lsb, long hour);
177void __stdcall RdosAddDay(unsigned long *msb, unsigned long *lsb, long day);
178int __stdcall RdosSyncTime(long IP);
179
180void __stdcall RdosDecodeMsbTics(unsigned long msb, int *days, int *hours);
181void __stdcall RdosDecodeLsbTics(unsigned long lsb, int *min, int *sec, int *milli, int *micro); 
182
183int __stdcall RdosCreateSection();
184void __stdcall RdosDeleteSection(int Handle);
185void __stdcall RdosEnterSection(int Handle);
186void __stdcall RdosLeaveSection(int Handle);
187
188int __stdcall RdosCreateWait();
189void __stdcall RdosCloseWait(int Handle);
190void * __stdcall RdosCheckWait(int Handle);
191void * __stdcall RdosWaitForever(int Handle);
192void * __stdcall RdosWaitTimeout(int Handle, int MillSec);
193void __stdcall RdosStopWait(int Handle);
194void __stdcall RdosRemoveWait(int Handle, void *ID);
195void __stdcall RdosAddWaitForKeyboard(int Handle, void *ID);
196void __stdcall RdosAddWaitForMouse(int Handle, void *ID);
197void __stdcall RdosAddWaitForCom(int Handle, int ComHandle, void *ID);
198void __stdcall RdosAddWaitForAdc(int Handle, int AdcHandle, void *ID);
199
200int __stdcall RdosCreateSignal();
201void __stdcall RdosResetSignal(int Handle);
202int __stdcall RdosIsSignalled(int Handle);
203void __stdcall RdosSetSignal(int Handle);
204void __stdcall RdosFreeSignal(int Handle);
205void __stdcall RdosAddWaitForSignal(int Handle, int SignalHandle, void *ID);
206
207long __stdcall RdosGetIp();
208int __stdcall RdosNameToIp(const char *HostName);
209int __stdcall RdosIpToName(int Ip, char *HostName, int MaxSize);
210
211int __stdcall RdosCreateTcpListen(int Port, int MaxConnections, int BufferSize);
212int __stdcall RdosGetTcpListen(int Handle);
213void __stdcall RdosCloseTcpListen(int Handle);
214void __stdcall RdosAddWaitForTcpListen(int Handle, int ConHandle, void *ID);
215
216int __stdcall RdosOpenTcpConnection(int RemoteIp, int LocalPort, int RemotePort, int Timeout, int BufferSize);
217int __stdcall RdosWaitForTcpConnection(int Handle, long Timeout);
218void __stdcall RdosAddWaitForTcpConnection(int Handle, int ConHandle, void *ID);
219void __stdcall RdosCloseTcpConnection(int Handle);
220void __stdcall RdosDeleteTcpConnection(int Handle);
221void __stdcall RdosAbortTcpConnection(int Handle);
222void __stdcall RdosPushTcpConnection(int Handle);
223int __stdcall RdosIsTcpConnectionClosed(int Handle);
224long __stdcall RdosGetRemoteTcpConnectionIP(int Handle);
225int __stdcall RdosGetRemoteTcpConnectionPort(int Handle);
226int __stdcall RdosGetLocalTcpConnectionPort(int Handle);
227int __stdcall RdosReadTcpConnection(int Handle, void *Buf, int Size);
228int __stdcall RdosWriteTcpConnection(int Handle, const void *Buf, int Size);
229int __stdcall RdosPollTcpConnection(int Handle);
230
231int __stdcall RdosGetLocalMailslot(const char *Name);
232int __stdcall RdosGetRemoteMailslot(long Ip, const char *Name);
233void __stdcall RdosFreeMailslot(int Handle);
234int __stdcall RdosSendMailslot(int Handle, const void *Msg, int Size, void *ReplyBuf, int MaxReplySize);
235
236void __stdcall RdosDefineMailslot(const char *Name, int MaxSize);
237int __stdcall RdosReceiveMailslot(void *Msg);
238void __stdcall RdosReplyMailslot(const void *Msg, int Size);
239
240void __stdcall RdosSetFocus(char FocusKey);
241char __stdcall RdosGetFocus();
242
243void __stdcall RdosClearKeyboard();
244int __stdcall RdosPollKeyboard();
245int __stdcall RdosReadKeyboard();
246int __stdcall RdosGetKeyboardState();
247int __stdcall RdosPutKeyboard(int KeyCode, int VirtualKey, int ScanCode);
248int __stdcall RdosPeekKeyEvent(int *ExtKey, int *KeyState, int *VirtualKey, int *ScanCode);
249int __stdcall RdosReadKeyEvent(int *ExtKey, int *KeyState, int *VirtualKey, int *ScanCode);
250
251void __stdcall RdosHideMouse();
252void __stdcall RdosShowMouse();
253void __stdcall RdosGetMousePosition(int *x, int *y);
254void __stdcall RdosSetMousePosition(int x, int y);
255void __stdcall RdosSetMouseWindow(int StartX, int StartY, int EndX, int EndY);
256void __stdcall RdosSetMouseMickey(int x, int y);
257int __stdcall RdosGetLeftButton();
258int __stdcall RdosGetRightButton();
259void __stdcall RdosGetLeftButtonPressPosition(int *x, int *y);
260void __stdcall RdosGetRightButtonPressPosition(int *x, int *y);
261void __stdcall RdosGetLeftButtonReleasePosition(int *x, int *y);
262void __stdcall RdosGetRightButtonReleasePosition(int *x, int *y);
263
264void __stdcall RdosGetCursorPosition(int *Row, int *Col);
265void __stdcall RdosSetCursorPosition(int Row, int Col);
266void __stdcall RdosWriteChar(char ch);
267void __stdcall RdosWriteSizeString(const char *Buf, int Size);
268void __stdcall RdosWriteString(const char *Buf);
269int __stdcall RdosReadLine(char *Buf, int MaxSize);
270
271int __stdcall RdosPing(long Node, long Timeout);
272
273int __stdcall RdosGetIdeDisc(int UnitNr);
274int __stdcall RdosGetFloppyDisc(int UnitNr);
275
276int __stdcall RdosSetDiscInfo(int DiscNr, int SectorSize, long Sectors, int BiosSectorsPerCyl, int BiosHeads);
277int __stdcall RdosGetDiscInfo(int DiscNr, int *SectorSize, long *Sectors, int *BiosSectorsPerCyl, int *BiosHeads);
278int __stdcall RdosReadDisc(int DiscNr, long Sector, char *Buf, int Size);
279int __stdcall RdosWriteDisc(int DiscNr, long Sector, const char *Buf, int Size);
280
281void __stdcall RdosGetRdfsInfo(void *CryptTab, void *KeyTab, void *ExtentSizeTab);
282void __stdcall RdosDemandLoadDrive(int DriveNr);
283int __stdcall RdosFormatDrive(int DiscNr, long StartSector, int Size, const char *FsName);
284
285int __stdcall RdosAllocateFixedDrive(int DriveNr);
286int __stdcall RdosAllocateStaticDrive();
287int __stdcall RdosAllocateDynamicDrive();
288
289int __stdcall RdosGetDriveInfo(int DriveNr, long *FreeUnits, int *BytesPerUnit, long *TotalUnits);
290int __stdcall RdosGetDriveDiscParam(int DriveNr, int *DiscNr, long *StartSector, long *TotalSectors);
291
292int __stdcall RdosCreateFileDrive(int Drive, long Size, const char *FsName, const char *FileName);
293int __stdcall RdosOpenFileDrive(int Drive, const char *FileName);
294
295int __stdcall RdosGetModuleHandle();
296const char * __stdcall RdosGetExeName();
297int __stdcall RdosLoadDll(const char *Name);
298void __stdcall RdosFreeDll(int handle);
299int __stdcall RdosReadResource(int handle, int ID, char *Buf, int Size);
300int __stdcall RdosReadBinaryResource(int handle, int ID, char *Buf, int Size);
301
302int __stdcall RdosOpenAdc(int channel);
303void __stdcall RdosCloseAdc(int handle);
304void __stdcall RdosDefineAdcTime(int handle, unsigned long msg, unsigned long lsb);
305long __stdcall RdosReadAdc(int handle);
306
307int __stdcall RdosReadSerialLines(int device, int *val);
308int __stdcall RdosToggleSerialLine(int device, int line);
309int __stdcall RdosReadSerialVal(int device, int line, int *val);
310int __stdcall RdosWriteSerialVal(int device, int line, int val);
311int __stdcall RdosReadSerialRaw(int device, int line, int *val);
312int __stdcall RdosWriteSerialRaw(int device, int line, int val);
313
314int __stdcall RdosOpenSysEnv();
315int __stdcall RdosOpenProcessEnv();
316void __stdcall RdosCloseEnv(int handle);
317void __stdcall RdosAddEnvVar(int handle, const char *var, const char *value);
318void __stdcall RdosDeleteEnvVar(int handle, const char *var);
319int __stdcall RdosFindEnvVar(int handle, const char *var, char *value);
320void __stdcall RdosGetEnvData(int handle, char *buf);
321void __stdcall RdosSetEnvData(int handle, const char *buf);
322
323int __stdcall RdosOpenSysIni();
324void __stdcall RdosCloseIni(int handle);
325int __stdcall RdosGotoIniSection(int handle, const char *name);
326int __stdcall RdosRemoveIniSection(int handle);
327int __stdcall RdosReadIni(int handle, const char *var, char *str, int maxsize);
328int __stdcall RdosWriteIni(int handle, const char *var, const char *str);
329int __stdcall RdosDeleteIni(int handle, const char *var);
330
331void __stdcall RdosEnableStatusLED();
332void __stdcall RdosDisableStatusLED();
333
334void __stdcall RdosStartWatchdog(int timeout);
335void __stdcall RdosKickWatchdog();
336
337#ifdef __cplusplus
338}
339#endif
340
341#endif
342
343
344
Note: See TracBrowser for help on using the repository browser.