Annotation of ntddk/src/print/lib/libproto.h, revision 1.1.1.1

1.1       root        1: /******************** Function Prototypes file ***************************
                      2:  *  libproto.h
                      3:  *      Function prototypes for NT printer drivers library.  Also includes
                      4:  *      a brief description of the function.
                      5:  *
                      6:  *  11:04 on Wed 14 Nov 1990    -by-    Lindsay Harris   [lindsayh]
                      7:  *
                      8:  * Copyright (C) Microsoft Corporation,  1990 - 1992
                      9:  *
                     10:  ************************************************************************/
                     11: 
                     12: /*
                     13:  *   Until there is proper error logging:-
                     14:  *      WinSetError( "String" );
                     15:  *   The String appears on the debug terminal.  A \n is appended.
                     16:  */
                     17: void  WinSetError( LPSTR );
                     18: 
                     19: /*
                     20:  *   Function to add a copy of a string to a heap.  Returns address of copy
                     21:  *  of string (if successful) or 0 if memory cannot be allocated.
                     22:  */
                     23: 
                     24: LPSTR   StrToHeap( HANDLE, LPSTR );
                     25: PWSTR   StrToWHeap( HANDLE, LPSTR );            /* Expand to Wide too! */
                     26: PWSTR   WstrToHeap( HANDLE, PWSTR );            /* WIDE version */
                     27: 
                     28: /*
                     29:  *   Convert an ascii style string to WCHAR format, appending it to the
                     30:  *  end of the wchar passed in.  Returns value of first parameter.
                     31:  */
                     32: 
                     33: PWSTR  strcat2WChar( PWSTR, LPSTR );
                     34: 
                     35: 
                     36: /*
                     37:  *   Convert an ascii style string to WCHAR format, copying it to the
                     38:  *  wchar passed in.  Returns value of first parameter.
                     39:  */
                     40: 
                     41: PWSTR  strcpy2WChar( PWSTR, LPSTR );
                     42: 
                     43: 
                     44: /*
                     45:  *   The WCHAR world's equivalent of strlen():  returns the number of WCHARs
                     46:  *  in the string passed in.
                     47:  */
                     48: 
                     49: int  wchlen( PWSTR );
                     50: 
                     51: /*
                     52:  *   Concatenate a PWSTR to another.  Returns address of destination.
                     53:  */
                     54: 
                     55: PWSTR wchcat( PWSTR, PWSTR );
                     56: 
                     57: /*
                     58:  *   Copy a PWSTR to another.  Returns address of destination.
                     59:  */
                     60: 
                     61: PWSTR wchcpy( PWSTR, PWSTR );
                     62: 
                     63: 
                     64: /*
                     65:  *   Break into the debugger - Ye olde RIP.
                     66:  */
                     67: VOID DoRip( LPSTR );
                     68: 
                     69: /*
                     70:  *   Some system function prototypes have vanished - replace them here.
                     71:  */
                     72: 
                     73: void  DbgPrint( char *, ... );
                     74: void  DbgBreakPoint( void );
                     75: 
                     76: 
                     77: 
                     78: 
                     79: PVOID MapFile(PWSTR);
                     80: 
                     81: #ifdef FIREWALLS
                     82: #define RIP(x) DoRip((PSZ) x)
                     83: #else
                     84: #define RIP(x)
                     85: #endif
                     86: 
                     87: /*
                     88:  *   A simplified write function.  Returns TRUE if the WriteFile()
                     89:  * call returns TRUE and the number of bytes written equals the
                     90:  * number requested.
                     91:  *
                     92:  *  bWrite( file_handle,  address_of_data,  number_of_bytes );
                     93:  */
                     94: 
                     95: BOOL   bWrite( HANDLE, void  *, int );
                     96: 
                     97: /*
                     98:  *  Function to copy the contents of one file to another.  The files
                     99:  * are referenced via file handles.  No positioning is done - that is
                    100:  * up to the user.
                    101:  *  The second form also allows a byte count to limit the amount of data
                    102:  * copied.
                    103:  */
                    104: 
                    105: 
                    106: long  lFICopy( HANDLE, HANDLE );
                    107: long  lFInCopy( HANDLE, HANDLE, long );
                    108: 
                    109: 
                    110: /*
                    111:  *   Spooler interaction functions.  These allow drivers to call the
                    112:  * spooler directly,  without going through engine stub functions.
                    113:  */
                    114: 
                    115: BOOL  bSplGetFormW( HANDLE, PWSTR, DWORD, BYTE *, DWORD, DWORD * );
                    116: 
                    117: 
                    118: DWORD dwSplGetPrinterDataW( HANDLE, PWSTR, BYTE *, DWORD, DWORD * );
                    119: 
                    120: 
                    121: BOOL  bSplWrite( HANDLE, ULONG,  VOID  * );
                    122: 
                    123: 
                    124: 
                    125: /*  Function needed to allow the driver to reach the spooler */
                    126: 
                    127: BOOL   bImpersonateClient( void );
                    128: 
                    129: 
                    130: /************************** HACK ***************************************
                    131:  *   The following function is only required until the DEVMODE contains
                    132:  *   a form name rather than an index.  And even then it might be required.
                    133:  *
                    134:  ***********************************************************************/
                    135: 
                    136: char  *_IndexToName( int );

unix.superglobalmegacorp.com

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