home *** CD-ROM | disk | FTP | other *** search
- #if !defined(__COMWIN_H__)
- #define __COMWIN_H__
-
- #if defined(__cplusplus)
- extern "C" {
- #endif
-
- #include <windows.h>
-
- /* Prototype */
-
- LONG FAR PASCAL Puts(LPSTR lpStr);
- LPSTR FAR PASCAL Gets(LPSTR lpStr);
- LONG FAR PASCAL Fputs(LPSTR lpStr, LPSTR lpInfo);
- LPSTR FAR PASCAL Fgets(LPSTR lpStr, LONG lSize, LPSTR lpInfo);
- LONG FAR PASCAL System(LPSTR lpCmd);
- BOOL FAR PASCAL CallCommand(FARPROC FAR *lpfnIO, LPSTR lpCmd, LPLONG lpInfo);
- LONG FAR PASCAL Getch(void);
- LONG FAR PASCAL Inkey(void);
- LONG FAR PASCAL Fwrite(LPVOID lpData, LONG lSize, LONG lCnt, LPSTR lpInfo);
- LONG FAR PASCAL Fread(LPVOID lpData, LONG lSize, LONG lCnt, LPSTR lpInfo);
-
- LONG FAR PASCAL GetComWinLong(LONG lID, LONG lValue);
- int FAR PASCAL MakeArgument(HINSTANCE hInstance,
- LPSTR lpCmdName,
- LPSTR lpCmdParam,
- LPINT lpArgv,
- LPSTR lpArgs,
- int nSize);
- LONG FAR PASCAL cwPutenv(LPSTR lpEnv);
- LPSTR FAR PASCAL cwGetenv(LPSTR lpEnv);
- LONG FAR CDECL cwFprintf(LPSTR lpInfo, LPSTR lpFormat, ...);
-
- LONG FAR PASCAL cwPuts(LPSTR lpStr);
- LPSTR FAR PASCAL cwGets(LPSTR lpStr);
- LONG FAR PASCAL cwFputs(LPSTR lpStr, LPSTR lpInfo);
- LPSTR FAR PASCAL cwFgets(LPSTR lpStr, LONG lSize, LPSTR lpInfo);
- LONG FAR PASCAL cwSystem(LPSTR lpCmd);
- LONG FAR PASCAL cwGetch(void);
- LONG FAR PASCAL cwInkey(void);
- LONG FAR PASCAL cwFwrite(LPVOID lpData, LONG lSize, LONG lCnt, LPSTR lpInfo);
- LONG FAR PASCAL cwFread(LPVOID lpData, LONG lSize, LONG lCnt, LPSTR lpInfo);
-
- typedef LONG (FAR PASCAL *PUTS)(LPSTR);
- typedef LPSTR (FAR PASCAL *GETS)(LPSTR);
- typedef LONG (FAR PASCAL *FPUTS)(LPSTR, LPSTR);
- typedef LPSTR (FAR PASCAL *FGETS)(LPSTR, LONG, LPSTR);
- typedef LONG (FAR PASCAL *SYSTEM)(LPSTR);
- typedef BOOL (FAR PASCAL *CALLCOMMAND)(FARPROC FAR *, LPSTR, LPLONG);
- typedef LONG (FAR PASCAL *GETCH)(void);
- typedef LONG (FAR PASCAL *INKEY)(void);
- typedef LONG (FAR PASCAL *FWRITE)(LPVOID, LONG, LONG, LPSTR);
- typedef LONG (FAR PASCAL *FREAD)(LPVOID, LONG, LONG, LPSTR);
-
- #if defined(WIN32)
-
- LONG FAR PASCAL cwFputsW(LPWSTR lpwStr, LPSTR lpInfo);
- LPWSTR FAR PASCAL cwFgetsW(LPWSTR lpwStr, LONG lSize, LPSTR lpInfo);
-
- typedef LONG (FAR PASCAL *FPUTSW)(LPWSTR, LPSTR);
- typedef LPWSTR (FAR PASCAL *FGETSW)(LPWSTR, LONG, LPSTR);
-
- #endif
-
- #define CW_GETVER 0
- #define CW_GETENV 1
- #define CW_GETHWND 2
- #define CW_GETMSG 3
-
- /* Message */
- #define CW_M_EXEC 0xFFFFFFFF
- #define CW_M_HELP 0x00000000
- #define CW_M_CONSOLE_INFO 0x00010001
- #define CW_M_ISATTY 0x00010002
- #define CW_M_UNICODE_ENTRY 0x00010003
- #define CW_M_USER_FIRST 0x10000000
- #define CW_M_USER_LAST 0x7FFFFFFF
- /*
- 0x00000001 - 0x0000FFFF reserved
- 0x00010002 - 0x0FFFFFFF system reserved
- 0x10000000 - 0x7FFFFFFF user area
- 0x80000000 - 0xFFFFFFFE reserved
- */
-
- /* Mode */
- #define CW_MODE_CLEAR 0
- #define CW_MODE_INIT 1
- #define CW_MODE_SET 2
- #define CW_MODE_GET 3
-
- /* Message Structure */
- typedef struct CW_S_CONSOLE_INFO
- CW_S_CONSOLE_INFO,
- FAR *LP_CW_S_CONSOLE_INFO;
-
- struct CW_S_CONSOLE_INFO {
- LONG lMessage; // Message Number (= CW_M_CONSOLE_INFO)
- LONG lSize; // Structure size (= sizeof(CW_S_CONSOLE_INFO))
- LONG lMode; // Calling mode (= CW_MODE_XXXX)
- LONG lFuncMax; // Max Function Count ( >= 6)
- LONG lBufMax; // Max Buffer Size ( for Gets API etc)
- DWORD hwnd; // Window Handle of Console
- LONG lColumns; // Columns of Console
- LONG lLines; // Lines of Console
- LONG lWidth; // Width of Console
- LONG lHeight; // Height of Console
- };
-
- typedef struct CW_S_ISATTY
- CW_S_ISATTY,
- FAR *LP_CW_S_ISATTY;
-
- struct CW_S_ISATTY {
- LONG lMessage; // Message Number (= CW_M_ISATTY)
- LONG lSize; // Structure Size (= sizeof(CW_S_ISATTY))
- LONG lMode; // Calling Mode (= CW_MODE_GET)
- LONG lStdIn; // TRUE, if StdIn is atty.
- LONG lStdOut; // TRUE, if StdOut is atty.
- LONG lStdErrIn; // TRUE, if StdErrIn is atty.
- LONG lStdErrOut; // TRUE, if StdErrOut is atty.
- };
-
- /* Message Structure */
- typedef struct CW_S_UNICODE_ENTRY
- CW_S_UNICODE_ENTRY,
- FAR *LP_CW_S_UNICODE_ENTRY;
-
- struct CW_S_UNICODE_ENTRY {
- LONG lMessage; // Message Number (= CW_M_UNICODE_ENTRY)
- LONG lSize; // Structure size (= sizeof(CW_S_UNICODE_ENTRY))
- LONG lMode; // Calling mode (= CW_MODE_XXXX)
- LONG lFuncMax; // Max Function Count ( >= 6)
- LONG lBufMax; // Max Buffer Size ( Not used)
- };
-
- #if defined(__cplusplus)
- }
- #endif
-
- #endif /* __COMWIN_H__ */
-