home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
os2prgc.zip
/
comm.h
< prev
next >
Wrap
Text File
|
1995-03-06
|
3KB
|
72 lines
/*****************************************************************************
COMM.H -- Sample code for handling a comm port, character I/O based.
Copyright (C) 1993,94,95 by Craig Morrison, All Rights Reserved.
You may use this code in your own projects, regardless of renumeration.
All I ask is that you prominently display the above copyright notice.
Should you need assistance, I can be contacted at the following addresses:
Fidonet: Craig Morrison, 1:201/60@fidonet.org
Internet: cam@wpc.cioe.com
Post: Craig Morrison
1316 Ferry St.
Lafayette, IN 47901-1533
USA
NOTES:
You'll notice the complete lack of any references to run-time
library functions. This was done on purpose so that *I* could
control what happens when a thread gets killed. This package
contains just about everything you'll need to do comm port/file
I/O, string manipulation and ordinal number conversions.
*****************************************************************************/
#define SINGLE_LINE_BOX 0
#define DOUBLE_LINE_BOX 1
#define DOUBLE_TOP_BOX 2
#define DOUBLE_SIDE_BOX 3
#define NO_IBMCHAR_BOX 4
#define SPACE_BOX 5
typedef struct _MODEDATA {
USHORT cb;
UCHAR fbType;
UCHAR color;
USHORT col;
USHORT row;
USHORT hres;
USHORT vres;
} MODEDATA;
typedef MODEDATA FAR16PTR PMODEDATA;
BOOL CarrierDetect(HFILE port);
VOID ReadPortData(PVOID p);
INT CharFromPort(HFILE port);
void comPrint(char *s, HFILE port);
BOOL GetNString(PSZ s, INT l, HFILE port);
VOID comGotoXY(HFILE port, PSZ x, PSZ y);
VOID comClrEol(HFILE port);
VOID comCursorRight(HFILE port, PSZ cbMove);
VOID comCursorLeft(HFILE port, PSZ cbMove);
VOID comCursorUp(HFILE port, PSZ cbMove);
VOID comCursorDown(HFILE port, PSZ cbMove);
VOID comSaveCursorPos(HFILE port);
VOID comRestoreCursorPos(HFILE port);
VOID comClearScreen(HFILE port);
VOID comSetAttributes(HFILE port, PSZ attr, PSZ fg, PSZ bg);
VOID DisplayBox(HFILE port, INT x, INT y, INT cx, INT cy, INT bType,
BOOL filled);
ULONG vidGetConsoleXY(VOID);
USHORT vidGetConsoleMode(VOID);
USHORT vidSetConsoleMode(USHORT modeIndex);
VOID vidStrAtWAttr(INT x, INT y, PSZ s, CHAR attr);
VOID vidStrAt(INT x, INT y, PSZ s);
VOID vidStr(PSZ s);
VOID vidSetCursorPos(USHORT col, USHORT row);
ULONG vidGetCursorPos(VOID);
ULONG kbdGetKey(USHORT ioWait);