Annotation of mstools/h/wincon.h, revision 1.1.1.2

1.1       root        1: /*++ BUILD Version: 0002    // Increment this if a change has global effects
                      2: 
                      3: Copyright (c) 1989  Microsoft Corporation
                      4: 
                      5: Module Name:
                      6: 
1.1.1.2 ! root        7:     wincon.x
1.1       root        8: 
                      9: Abstract:
                     10: 
                     11:     This module contains the public data structures, data types,
                     12:     and procedures exported by the NT console subsystem.
                     13: 
                     14: Created:
                     15: 
                     16:     26-Oct-1990
                     17: 
                     18: Revision History:
                     19: 
                     20: --*/
                     21: 
                     22: #ifndef _WINCON_
                     23: #define _WINCON_
                     24: 
                     25: typedef struct _COORD {
                     26:     SHORT X;
                     27:     SHORT Y;
                     28: } COORD, *PCOORD;
                     29: 
                     30: typedef struct _SMALL_RECT {
                     31:     SHORT Left;
                     32:     SHORT Top;
                     33:     SHORT Right;
                     34:     SHORT Bottom;
                     35: } SMALL_RECT, *PSMALL_RECT;
                     36: 
                     37: typedef struct _KEY_EVENT_RECORD {
                     38:     BOOL bKeyDown;
                     39:     WORD wRepeatCount;
                     40:     WORD wVirtualKeyCode;
                     41:     WORD wVirtualScanCode;
                     42:     union {
                     43:         WCHAR UnicodeChar;
                     44:         CHAR   AsciiChar;
                     45:     } uChar;
                     46:     DWORD dwControlKeyState;
                     47: } KEY_EVENT_RECORD, *PKEY_EVENT_RECORD;
                     48: 
                     49: //
                     50: // ControlKeyState flags
                     51: //
                     52: 
                     53: #define RIGHT_ALT_PRESSED     0x0001 // the right alt key is pressed.
                     54: #define LEFT_ALT_PRESSED      0x0002 // the left alt key is pressed.
                     55: #define RIGHT_CTRL_PRESSED    0x0004 // the right ctrl key is pressed.
                     56: #define LEFT_CTRL_PRESSED     0x0008 // the left ctrl key is pressed.
                     57: #define SHIFT_PRESSED         0x0010 // the shift key is pressed.
                     58: #define NUMLOCK_ON            0x0020 // the numlock light is on.
                     59: #define SCROLLLOCK_ON         0x0040 // the scrolllock light is on.
                     60: #define CAPSLOCK_ON           0x0080 // the capslock light is on.
                     61: #define ENHANCED_KEY          0x0100 // the key is enhanced.
                     62: 
                     63: typedef struct _MOUSE_EVENT_RECORD {
                     64:     COORD dwMousePosition;
                     65:     DWORD dwButtonState;
                     66:     DWORD dwControlKeyState;
                     67:     DWORD dwEventFlags;
                     68: } MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD;
                     69: 
                     70: //
                     71: // ButtonState flags
                     72: //
                     73: 
                     74: #define FROM_LEFT_1ST_BUTTON_PRESSED    0x0001
                     75: #define RIGHTMOST_BUTTON_PRESSED        0x0002
                     76: #define FROM_LEFT_2ND_BUTTON_PRESSED    0x0004
                     77: #define FROM_LEFT_3RD_BUTTON_PRESSED    0x0008
                     78: #define FROM_LEFT_4TH_BUTTON_PRESSED    0x0010
                     79: 
                     80: //
                     81: // EventFlags
                     82: //
                     83: 
                     84: #define MOUSE_MOVED   0x0001
                     85: #define DOUBLE_CLICK  0x0002
                     86: 
                     87: typedef struct _WINDOW_BUFFER_SIZE_RECORD {
                     88:     COORD dwSize;
                     89: } WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD;
                     90: 
1.1.1.2 ! root       91: typedef struct _MENU_EVENT_RECORD {
        !            92:     UINT dwCommandId;
        !            93: } MENU_EVENT_RECORD, *PMENU_EVENT_RECORD;
        !            94: 
        !            95: typedef struct _FOCUS_EVENT_RECORD {
        !            96:     BOOL bSetFocus;
        !            97: } FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD;
        !            98: 
1.1       root       99: typedef struct _INPUT_RECORD {
                    100:     WORD EventType;
                    101:     union {
                    102:         KEY_EVENT_RECORD KeyEvent;
                    103:         MOUSE_EVENT_RECORD MouseEvent;
                    104:         WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
1.1.1.2 ! root      105:         MENU_EVENT_RECORD MenuEvent;
        !           106:         FOCUS_EVENT_RECORD FocusEvent;
1.1       root      107:     } Event;
                    108: } INPUT_RECORD, *PINPUT_RECORD;
                    109: 
                    110: //
                    111: //  EventType flags:
                    112: //
                    113: 
                    114: #define KEY_EVENT         0x0001 // Event contains key event record
                    115: #define MOUSE_EVENT       0x0002 // Event contains mouse event record
                    116: #define WINDOW_BUFFER_SIZE_EVENT 0x0004 // Event contains window change event record
1.1.1.2 ! root      117: #define MENU_EVENT 0x0008 // Event contains menu event record
        !           118: #define FOCUS_EVENT 0x0010 // event contains focus change
1.1       root      119: 
                    120: typedef struct _CHAR_INFO {
                    121:     union {
                    122:         WCHAR UnicodeChar;
                    123:         CHAR   AsciiChar;
                    124:     } Char;
                    125:     WORD Attributes;
                    126: } CHAR_INFO, *PCHAR_INFO;
                    127: 
                    128: //
                    129: // Attributes flags:
                    130: //
                    131: 
                    132: #define FOREGROUND_BLUE      0x0001 // text color contains blue.
                    133: #define FOREGROUND_GREEN     0x0002 // text color contains green.
                    134: #define FOREGROUND_RED       0x0004 // text color contains red.
                    135: #define FOREGROUND_INTENSITY 0x0008 // text color is intensified.
                    136: #define BACKGROUND_BLUE      0x0010 // background color contains blue.
                    137: #define BACKGROUND_GREEN     0x0020 // background color contains green.
                    138: #define BACKGROUND_RED       0x0040 // background color contains red.
                    139: #define BACKGROUND_INTENSITY 0x0080 // background color is intensified.
                    140: 
                    141: 
                    142: typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
                    143:     COORD dwSize;
                    144:     COORD dwCursorPosition;
                    145:     WORD  wAttributes;
                    146:     SMALL_RECT srWindow;
                    147:     COORD dwMaximumWindowSize;
                    148: } CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO;
                    149: 
                    150: typedef struct _CONSOLE_CURSOR_INFO {
                    151:     DWORD  dwSize;
                    152:     BOOL   bVisible;
                    153: } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
                    154: 
                    155: //
                    156: // typedef for ctrl-c handler routines
                    157: //
                    158: 
                    159: typedef
                    160: BOOL
                    161: (*PHANDLER_ROUTINE)(
1.1.1.2 ! root      162:     DWORD CtrlType
1.1       root      163:     );
                    164: 
                    165: #define CTRL_C_EVENT 0
                    166: #define CTRL_BREAK_EVENT 1
1.1.1.2 ! root      167: #define CTRL_CLOSE_EVENT 2
1.1       root      168: 
                    169: //
                    170: //  Input Mode flags:
                    171: //
                    172: 
                    173: #define ENABLE_PROCESSED_INPUT 0x0001
                    174: #define ENABLE_LINE_INPUT      0x0002
                    175: #define ENABLE_ECHO_INPUT      0x0004
                    176: #define ENABLE_WINDOW_INPUT    0x0008
                    177: #define ENABLE_MOUSE_INPUT     0x0010
                    178: 
                    179: //
                    180: // Output Mode flags:
                    181: //
                    182: 
                    183: #define ENABLE_PROCESSED_OUTPUT  0x0001
                    184: #define ENABLE_WRAP_AT_EOL_OUTPUT  0x0002
                    185: 
                    186: //
                    187: // direct API definitions.
                    188: //
                    189: 
                    190: BOOL
                    191: APIENTRY
1.1.1.2 ! root      192: PeekConsoleInputA(
        !           193:     HANDLE hConsoleInput,
        !           194:     PINPUT_RECORD lpBuffer,
        !           195:     DWORD nLength,
        !           196:     LPDWORD lpNumberOfEventsRead
        !           197:     );
        !           198: BOOL
        !           199: APIENTRY
        !           200: PeekConsoleInputW(
1.1       root      201:     HANDLE hConsoleInput,
                    202:     PINPUT_RECORD lpBuffer,
                    203:     DWORD nLength,
                    204:     LPDWORD lpNumberOfEventsRead
                    205:     );
1.1.1.2 ! root      206: #ifdef UNICODE
        !           207: #define PeekConsoleInput PeekConsoleInputW
        !           208: #else
        !           209: #define PeekConsoleInput PeekConsoleInputA
        !           210: #endif // !UNICODE
1.1       root      211: 
                    212: BOOL
                    213: APIENTRY
1.1.1.2 ! root      214: ReadConsoleInputA(
1.1       root      215:     HANDLE hConsoleInput,
                    216:     PINPUT_RECORD lpBuffer,
                    217:     DWORD nLength,
                    218:     LPDWORD lpNumberOfEventsRead
                    219:     );
1.1.1.2 ! root      220: BOOL
        !           221: APIENTRY
        !           222: ReadConsoleInputW(
        !           223:     HANDLE hConsoleInput,
        !           224:     PINPUT_RECORD lpBuffer,
        !           225:     DWORD nLength,
        !           226:     LPDWORD lpNumberOfEventsRead
        !           227:     );
        !           228: #ifdef UNICODE
        !           229: #define ReadConsoleInput ReadConsoleInputW
        !           230: #else
        !           231: #define ReadConsoleInput ReadConsoleInputA
        !           232: #endif // !UNICODE
1.1       root      233: 
                    234: BOOL
                    235: APIENTRY
1.1.1.2 ! root      236: WriteConsoleInputA(
1.1       root      237:     HANDLE hConsoleInput,
                    238:     PINPUT_RECORD lpBuffer,
                    239:     DWORD nLength,
                    240:     LPDWORD lpNumberOfEventsWritten
                    241:     );
1.1.1.2 ! root      242: BOOL
        !           243: APIENTRY
        !           244: WriteConsoleInputW(
        !           245:     HANDLE hConsoleInput,
        !           246:     PINPUT_RECORD lpBuffer,
        !           247:     DWORD nLength,
        !           248:     LPDWORD lpNumberOfEventsWritten
        !           249:     );
        !           250: #ifdef UNICODE
        !           251: #define WriteConsoleInput WriteConsoleInputW
        !           252: #else
        !           253: #define WriteConsoleInput WriteConsoleInputA
        !           254: #endif // !UNICODE
1.1       root      255: 
                    256: BOOL
                    257: APIENTRY
1.1.1.2 ! root      258: ReadConsoleOutputA(
1.1       root      259:     HANDLE hConsoleOutput,
                    260:     PCHAR_INFO lpBuffer,
                    261:     COORD dwBufferSize,
                    262:     COORD dwBufferCoord,
                    263:     PSMALL_RECT lpReadRegion
                    264:     );
1.1.1.2 ! root      265: BOOL
        !           266: APIENTRY
        !           267: ReadConsoleOutputW(
        !           268:     HANDLE hConsoleOutput,
        !           269:     PCHAR_INFO lpBuffer,
        !           270:     COORD dwBufferSize,
        !           271:     COORD dwBufferCoord,
        !           272:     PSMALL_RECT lpReadRegion
        !           273:     );
        !           274: #ifdef UNICODE
        !           275: #define ReadConsoleOutput ReadConsoleOutputW
        !           276: #else
        !           277: #define ReadConsoleOutput ReadConsoleOutputA
        !           278: #endif // !UNICODE
1.1       root      279: 
                    280: BOOL
                    281: APIENTRY
1.1.1.2 ! root      282: WriteConsoleOutputA(
        !           283:     HANDLE hConsoleOutput,
        !           284:     PCHAR_INFO lpBuffer,
        !           285:     COORD dwBufferSize,
        !           286:     COORD dwBufferCoord,
        !           287:     PSMALL_RECT lpWriteRegion
        !           288:     );
        !           289: BOOL
        !           290: APIENTRY
        !           291: WriteConsoleOutputW(
1.1       root      292:     HANDLE hConsoleOutput,
                    293:     PCHAR_INFO lpBuffer,
                    294:     COORD dwBufferSize,
                    295:     COORD dwBufferCoord,
                    296:     PSMALL_RECT lpWriteRegion
                    297:     );
1.1.1.2 ! root      298: #ifdef UNICODE
        !           299: #define WriteConsoleOutput WriteConsoleOutputW
        !           300: #else
        !           301: #define WriteConsoleOutput WriteConsoleOutputA
        !           302: #endif // !UNICODE
1.1       root      303: 
                    304: BOOL
                    305: APIENTRY
1.1.1.2 ! root      306: ReadConsoleOutputCharacterA(
1.1       root      307:     HANDLE hConsoleOutput,
                    308:     LPSTR lpCharacter,
                    309:     DWORD nLength,
                    310:     COORD dwReadCoord,
                    311:     LPDWORD lpNumberOfCharsRead
                    312:     );
1.1.1.2 ! root      313: BOOL
        !           314: APIENTRY
        !           315: ReadConsoleOutputCharacterW(
        !           316:     HANDLE hConsoleOutput,
        !           317:     LPWSTR lpCharacter,
        !           318:     DWORD nLength,
        !           319:     COORD dwReadCoord,
        !           320:     LPDWORD lpNumberOfCharsRead
        !           321:     );
        !           322: #ifdef UNICODE
        !           323: #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
        !           324: #else
        !           325: #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
        !           326: #endif // !UNICODE
1.1       root      327: 
                    328: BOOL
                    329: APIENTRY
                    330: ReadConsoleOutputAttribute(
                    331:     HANDLE hConsoleOutput,
                    332:     LPWORD lpAttribute,
                    333:     DWORD nLength,
                    334:     COORD dwReadCoord,
                    335:     LPDWORD lpNumberOfAttrsRead
                    336:     );
                    337: 
                    338: BOOL
                    339: APIENTRY
1.1.1.2 ! root      340: WriteConsoleOutputCharacterA(
1.1       root      341:     HANDLE hConsoleOutput,
                    342:     LPSTR lpCharacter,
                    343:     DWORD nLength,
                    344:     COORD dwWriteCoord,
                    345:     LPDWORD lpNumberOfCharsWritten
                    346:     );
1.1.1.2 ! root      347: BOOL
        !           348: APIENTRY
        !           349: WriteConsoleOutputCharacterW(
        !           350:     HANDLE hConsoleOutput,
        !           351:     LPWSTR lpCharacter,
        !           352:     DWORD nLength,
        !           353:     COORD dwWriteCoord,
        !           354:     LPDWORD lpNumberOfCharsWritten
        !           355:     );
        !           356: #ifdef UNICODE
        !           357: #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
        !           358: #else
        !           359: #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
        !           360: #endif // !UNICODE
1.1       root      361: 
                    362: BOOL
                    363: APIENTRY
                    364: WriteConsoleOutputAttribute(
                    365:     HANDLE hConsoleOutput,
                    366:     LPWORD lpAttribute,
                    367:     DWORD nLength,
                    368:     COORD dwWriteCoord,
                    369:     LPDWORD lpNumberOfAttrsWritten
                    370:     );
                    371: 
                    372: BOOL
                    373: APIENTRY
1.1.1.2 ! root      374: FillConsoleOutputCharacterA(
        !           375:     HANDLE hConsoleOutput,
        !           376:     CHAR  cCharacter,
        !           377:     DWORD  nLength,
        !           378:     COORD  dwWriteCoord,
        !           379:     LPDWORD lpNumberOfCharsWritten
        !           380:     );
        !           381: BOOL
        !           382: APIENTRY
        !           383: FillConsoleOutputCharacterW(
1.1       root      384:     HANDLE hConsoleOutput,
1.1.1.2 ! root      385:     WCHAR  cCharacter,
1.1       root      386:     DWORD  nLength,
                    387:     COORD  dwWriteCoord,
                    388:     LPDWORD lpNumberOfCharsWritten
                    389:     );
1.1.1.2 ! root      390: #ifdef UNICODE
        !           391: #define FillConsoleOutputCharacter FillConsoleOutputCharacterW
        !           392: #else
        !           393: #define FillConsoleOutputCharacter FillConsoleOutputCharacterA
        !           394: #endif // !UNICODE
1.1       root      395: 
                    396: BOOL
                    397: APIENTRY
                    398: FillConsoleOutputAttribute(
                    399:     HANDLE hConsoleOutput,
                    400:     WORD   wAttribute,
                    401:     DWORD  nLength,
                    402:     COORD  dwWriteCoord,
                    403:     LPDWORD lpNumberOfAttrsWritten
                    404:     );
                    405: 
                    406: BOOL
                    407: APIENTRY
                    408: GetConsoleMode(
                    409:     HANDLE hConsoleHandle,
                    410:     LPDWORD lpMode
                    411:     );
                    412: 
                    413: BOOL
                    414: APIENTRY
                    415: GetNumberOfConsoleInputEvents(
                    416:     HANDLE hConsoleInput,
                    417:     LPDWORD lpNumberOfEvents
                    418:     );
                    419: 
                    420: BOOL
                    421: APIENTRY
                    422: GetConsoleScreenBufferInfo(
                    423:     HANDLE hConsoleOutput,
                    424:     PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
                    425:     );
                    426: 
                    427: COORD
                    428: APIENTRY
                    429: GetLargestConsoleWindowSize(
                    430:     HANDLE hConsoleOutput
                    431:     );
                    432: 
                    433: BOOL
                    434: APIENTRY
                    435: GetConsoleCursorInfo(
                    436:     HANDLE hConsoleOutput,
                    437:     PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
                    438:     );
                    439: 
                    440: BOOL
                    441: APIENTRY
                    442: GetNumberOfConsoleMouseButtons(
                    443:     LPDWORD lpNumberOfMouseButtons
                    444:     );
                    445: 
                    446: BOOL
                    447: APIENTRY
                    448: SetConsoleMode(
                    449:     HANDLE hConsoleHandle,
                    450:     DWORD dwMode
                    451:     );
                    452: 
                    453: BOOL
                    454: APIENTRY
                    455: SetConsoleActiveScreenBuffer(
                    456:     HANDLE hConsoleOutput
                    457:     );
                    458: 
                    459: BOOL
                    460: APIENTRY
                    461: FlushConsoleInputBuffer(
                    462:     HANDLE hConsoleInput
                    463:     );
                    464: 
                    465: BOOL
                    466: APIENTRY
                    467: SetConsoleScreenBufferSize(
                    468:     HANDLE hConsoleOutput,
                    469:     COORD dwSize
                    470:     );
                    471: 
                    472: BOOL
                    473: APIENTRY
                    474: SetConsoleCursorPosition(
                    475:     HANDLE hConsoleOutput,
                    476:     COORD dwCursorPosition
                    477:     );
                    478: 
                    479: BOOL
                    480: APIENTRY
                    481: SetConsoleCursorInfo(
                    482:     HANDLE hConsoleOutput,
                    483:     PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
                    484:     );
                    485: 
                    486: BOOL
                    487: APIENTRY
1.1.1.2 ! root      488: ScrollConsoleScreenBufferA(
        !           489:     HANDLE hConsoleOutput,
        !           490:     PSMALL_RECT lpScrollRectangle,
        !           491:     PSMALL_RECT lpClipRectangle,
        !           492:     COORD dwDestinationOrigin,
        !           493:     PCHAR_INFO lpFill
        !           494:     );
        !           495: BOOL
        !           496: APIENTRY
        !           497: ScrollConsoleScreenBufferW(
1.1       root      498:     HANDLE hConsoleOutput,
                    499:     PSMALL_RECT lpScrollRectangle,
                    500:     PSMALL_RECT lpClipRectangle,
                    501:     COORD dwDestinationOrigin,
                    502:     PCHAR_INFO lpFill
                    503:     );
1.1.1.2 ! root      504: #ifdef UNICODE
        !           505: #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
        !           506: #else
        !           507: #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
        !           508: #endif // !UNICODE
1.1       root      509: 
                    510: BOOL
                    511: APIENTRY
                    512: SetConsoleWindowInfo(
                    513:     HANDLE hConsoleOutput,
                    514:     BOOL bAbsolute,
                    515:     PSMALL_RECT lpConsoleWindow
                    516:     );
                    517: 
                    518: BOOL
                    519: APIENTRY
                    520: SetConsoleTextAttribute(
                    521:     HANDLE hConsoleOutput,
                    522:     WORD wAttributes
                    523:     );
                    524: 
                    525: BOOL
                    526: APIENTRY
                    527: SetConsoleCtrlHandler(
1.1.1.2 ! root      528:     PHANDLER_ROUTINE HandlerRoutine,
        !           529:     BOOL Add
1.1       root      530:     );
1.1.1.2 ! root      531: 
1.1       root      532: BOOL
                    533: APIENTRY
                    534: AllocConsole( VOID );
                    535: 
                    536: BOOL
                    537: APIENTRY
                    538: FreeConsole( VOID );
                    539: 
                    540: 
                    541: DWORD
                    542: APIENTRY
1.1.1.2 ! root      543: GetConsoleTitleA(
1.1       root      544:     LPSTR lpConsoleTitle,
                    545:     DWORD nSize
                    546:     );
1.1.1.2 ! root      547: DWORD
        !           548: APIENTRY
        !           549: GetConsoleTitleW(
        !           550:     LPWSTR lpConsoleTitle,
        !           551:     DWORD nSize
        !           552:     );
        !           553: #ifdef UNICODE
        !           554: #define GetConsoleTitle GetConsoleTitleW
        !           555: #else
        !           556: #define GetConsoleTitle GetConsoleTitleA
        !           557: #endif // !UNICODE
1.1       root      558: 
                    559: BOOL
                    560: APIENTRY
1.1.1.2 ! root      561: SetConsoleTitleA(
1.1       root      562:     LPSTR lpConsoleTitle
                    563:     );
1.1.1.2 ! root      564: BOOL
        !           565: APIENTRY
        !           566: SetConsoleTitleW(
        !           567:     LPWSTR lpConsoleTitle
        !           568:     );
        !           569: #ifdef UNICODE
        !           570: #define SetConsoleTitle SetConsoleTitleW
        !           571: #else
        !           572: #define SetConsoleTitle SetConsoleTitleA
        !           573: #endif // !UNICODE
        !           574: 
        !           575: BOOL
        !           576: ReadConsoleA(
        !           577:     HANDLE hConsoleInput,
        !           578:     LPVOID lpBuffer,
        !           579:     DWORD nNumberOfCharsToRead,
        !           580:     LPDWORD lpNumberOfCharsRead,
        !           581:     LPVOID lpReserved
        !           582:     );
        !           583: BOOL
        !           584: ReadConsoleW(
        !           585:     HANDLE hConsoleInput,
        !           586:     LPVOID lpBuffer,
        !           587:     DWORD nNumberOfCharsToRead,
        !           588:     LPDWORD lpNumberOfCharsRead,
        !           589:     LPVOID lpReserved
        !           590:     );
        !           591: #ifdef UNICODE
        !           592: #define ReadConsole ReadConsoleW
        !           593: #else
        !           594: #define ReadConsole ReadConsoleA
        !           595: #endif // !UNICODE
        !           596: 
        !           597: BOOL
        !           598: WriteConsoleA(
        !           599:     HANDLE hConsoleOutput,
        !           600:     CONST VOID *lpBuffer,
        !           601:     DWORD nNumberOfCharsToWrite,
        !           602:     LPDWORD lpNumberOfCharsWritten,
        !           603:     LPVOID lpReserved
        !           604:     );
        !           605: BOOL
        !           606: WriteConsoleW(
        !           607:     HANDLE hConsoleOutput,
        !           608:     CONST VOID *lpBuffer,
        !           609:     DWORD nNumberOfCharsToWrite,
        !           610:     LPDWORD lpNumberOfCharsWritten,
        !           611:     LPVOID lpReserved
        !           612:     );
        !           613: #ifdef UNICODE
        !           614: #define WriteConsole WriteConsoleW
        !           615: #else
        !           616: #define WriteConsole WriteConsoleA
        !           617: #endif // !UNICODE
1.1       root      618: 
                    619: #define CONSOLE_TEXTMODE_BUFFER  1
                    620: 
                    621: HANDLE
                    622: APIENTRY
                    623: CreateConsoleScreenBuffer(
                    624:     DWORD dwDesiredAccess,
                    625:     DWORD dwShareMode,
                    626:     LPSECURITY_ATTRIBUTES lpSecurityAttributes,
1.1.1.2 ! root      627:     DWORD dwFlags,
        !           628:     PVOID lpScreenBufferData
        !           629:     );
        !           630: 
        !           631: UINT
        !           632: GetConsoleCP( VOID );
        !           633: 
        !           634: BOOL
        !           635: SetConsoleCP(
        !           636:     UINT wCodePageID
        !           637:     );
        !           638: 
        !           639: UINT
        !           640: GetConsoleOutputCP( VOID );
        !           641: 
        !           642: BOOL
        !           643: SetConsoleOutputCP(
        !           644:     UINT wCodePageID
1.1       root      645:     );
                    646: 
                    647: #endif // _WINCON_

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.