Changeset 278 for trunk/include


Ignore:
Timestamp:
Jul 6, 1999, 5:48:48 PM (26 years ago)
Author:
phaller
Message:

Add: HandleManager support for kernel objects, various fixes

Location:
trunk/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/HandleManager.h

    r271 r278  
    1 /* $Id: HandleManager.h,v 1.3 1999-07-05 09:58:13 phaller Exp $ */
     1/* $Id: HandleManager.h,v 1.4 1999-07-06 15:48:44 phaller Exp $ */
    22
    33/*
     
    126126#endif
    127127
    128 HFILE HMCreateFile(LPCSTR lpFileName,
    129                    DWORD  dwDesiredAccess,
    130                    DWORD  dwShareMode,
    131                    LPSECURITY_ATTRIBUTES lpSecurityAttributes,
    132                    DWORD  dwCreationDisposition,
    133                    DWORD  dwFlagsAndAttributes,
    134                    HANDLE hTemplateFile);
    135 
    136 HANDLE HMOpenFile(LPCSTR    lpFileName,
    137                   OFSTRUCT* pOFStruct,
    138                   UINT      fuMode);
    139 
    140 BOOL HMCloseHandle(HANDLE hObject);
    141 
    142 BOOL HMReadFile(HANDLE       hFile,
    143                 LPVOID       lpBuffer,
    144                 DWORD        nNumberOfBytesToRead,
    145                 LPDWORD      lpNumberOfBytesRead,
    146                 LPOVERLAPPED lpOverlapped);
    147 
    148 BOOL HMWriteFile(HANDLE       hFile,
    149                  LPCVOID      lpBuffer,
    150                  DWORD        nNumberOfBytesToWrite,
    151                  LPDWORD      lpNumberOfBytesWritten,
    152                  LPOVERLAPPED lpOverlapped);
    153 
    154 DWORD HMGetFileType(HANDLE hFile);
    155 
    156 DWORD   HMDeviceRequest (HANDLE hFile,
    157                          ULONG  ulRequestCode,
    158                          ULONG  arg1,
    159                          ULONG  arg2,
    160                          ULONG  arg3,
    161                          ULONG  arg4);
    162 
    163 DWORD HMGetFileInformationByHandle (HANDLE                     hFile,
    164                                     BY_HANDLE_FILE_INFORMATION *pHFI);
    165 
    166 BOOL HMSetEndOfFile (HANDLE hFile);
    167 
    168 BOOL HMSetFileTime (HANDLE         hFile,
    169                     const FILETIME *pFT1,
    170                     const FILETIME *pFT2,
    171                     const FILETIME *pFT3);
    172 
    173 DWORD HMGetFileSize (HANDLE hFile,
    174                      PDWORD pSize);
    175 
    176 DWORD HMSetFilePointer (HANDLE hFile,
    177                         LONG   lDistanceToMove,
    178                         PLONG  lpDistanceToMoveHigh,
    179                         DWORD  dwMoveMethod);
    180 
    181 BOOL HMLockFile (HFILE         hFile,
    182                  DWORD         arg2,
    183                  DWORD         arg3,
    184                  DWORD         arg4,
    185                  DWORD         arg5);
    186 
    187 DWORD HMLockFileEx(HANDLE        hFile,
    188                    DWORD         dwFlags,
    189                    DWORD         dwReserved,
    190                    DWORD         nNumberOfBytesToLockLow,
    191                    DWORD         nNumberOfBytesToLockHigh,
    192                    LPOVERLAPPED  lpOverlapped);
    193 
    194 BOOL HMUnlockFile (HFILE         hFile,
    195                    DWORD         arg2,
    196                    DWORD         arg3,
    197                    DWORD         arg4,
    198                    DWORD         arg5);
    199 
    200 BOOL HMUnlockFileEx(HANDLE        hFile,
    201                     DWORD         dwFlags,
    202                     DWORD         dwReserved,
    203                     DWORD         nNumberOfBytesToLockLow,
    204                     DWORD         nNumberOfBytesToLockHigh,
    205                     LPOVERLAPPED  lpOverlapped);
     128HANDLE HMCreateEvent                (LPSECURITY_ATTRIBUTES      lpsa,
     129                                     BOOL                       bManualReset,
     130                                     BOOL                       bInitialState,
     131                                     LPCSTR                     lpName);
     132
     133HANDLE HMCreateMutex                (LPSECURITY_ATTRIBUTES      lpsa,
     134                                     BOOL                       bInitialOwner,
     135                                     LPCSTR                     lpName);
     136
     137HANDLE HMCreateFile                 (LPCSTR                     lpFileName,
     138                                     DWORD                      dwDesiredAccess,
     139                                     DWORD                      dwShareMode,
     140                                     LPSECURITY_ATTRIBUTES      lpSecurityAttributes,
     141                                     DWORD                      dwCreationDisposition,
     142                                     DWORD                      dwFlagsAndAttributes,
     143                                     HANDLE                     hTemplateFile);
     144
     145HANDLE HMOpenFile                   (LPCSTR                     lpFileName,
     146                                     OFSTRUCT*                  pOFStruct,
     147                                     UINT                       fuMode);
     148
     149HANDLE HMOpenEvent                  (DWORD                      fdwAccess,
     150                                     BOOL                       fInherit,
     151                                     LPCSTR                     lpName);
     152
     153HANDLE HMOpenMutex                  (DWORD                      fdwAccess,
     154                                     BOOL                       fInherit,
     155                                     LPCSTR                    lpName);
     156
     157BOOL   HMCloseHandle                (HANDLE                     hObject);
     158
     159BOOL   HMReadFile                   (HANDLE                     hFile,
     160                                     LPVOID                     lpBuffer,
     161                                     DWORD                      nNumberOfBytesToRead,
     162                                     LPDWORD                    lpNumberOfBytesRead,
     163                                     LPOVERLAPPED               lpOverlapped);
     164
     165BOOL   HMWriteFile                  (HANDLE                     hFile,
     166                                     LPCVOID                    lpBuffer,
     167                                     DWORD                      nNumberOfBytesToWrite,
     168                                     LPDWORD                    lpNumberOfBytesWritten,
     169                                     LPOVERLAPPED               lpOverlapped);
     170
     171DWORD  HMGetFileType                (HANDLE                     hFile);
     172
     173DWORD  HMDeviceRequest              (HANDLE                     hFile,
     174                                     ULONG                      ulRequestCode,
     175                                     ULONG                      arg1,
     176                                     ULONG                      arg2,
     177                                     ULONG                      arg3,
     178                                     ULONG                      arg4);
     179
     180BOOL   HMGetFileInformationByHandle (HANDLE                     hFile,
     181                                     BY_HANDLE_FILE_INFORMATION *pHFI);
     182
     183BOOL   HMSetEndOfFile               (HANDLE                     hFile);
     184
     185BOOL   HMSetFileTime                (HANDLE                     hFile,
     186                                     const FILETIME             *pFT1,
     187                                     const FILETIME             *pFT2,
     188                                     const FILETIME             *pFT3);
     189
     190DWORD  HMGetFileSize                (HANDLE                     hFile,
     191                                     PDWORD                     pSize);
     192
     193DWORD  HMSetFilePointer             (HANDLE                     hFile,
     194                                     LONG                       lDistanceToMove,
     195                                     PLONG                      lpDistanceToMoveHigh,
     196                                     DWORD                      dwMoveMethod);
     197
     198BOOL   HMLockFile                   (HFILE                      hFile,
     199                                     DWORD                      dwFileOffsetLow,
     200                                     DWORD                      dwFileOffsetHigh,
     201                                     DWORD                      nNumberOfBytesToLockLow,
     202                                     DWORD                      nNumberOfBytesToLockHigh);
     203
     204BOOL   HMLockFileEx                 (HANDLE                     hFile,
     205                                     DWORD                      dwFlags,
     206                                     DWORD                      dwReserved,
     207                                     DWORD                      nNumberOfBytesToLockLow,
     208                                     DWORD                      nNumberOfBytesToLockHigh,
     209                                     LPOVERLAPPED               lpOverlapped);
     210
     211BOOL   HMUnlockFile                 (HANDLE                     hFile,
     212                                     DWORD                      dwFileOffsetLow,
     213                                     DWORD                      dwFileOffsetHigh,
     214                                     DWORD                      cbUnlockLow,
     215                                     DWORD                      cbUnlockHigh);
     216
     217BOOL   HMUnlockFileEx               (HANDLE                     hFile,
     218                                     DWORD                      dwFlags,
     219                                     DWORD                      dwReserved,
     220                                     DWORD                      nNumberOfBytesToLockLow,
     221                                     DWORD                      nNumberOfBytesToLockHigh,
     222                                     LPOVERLAPPED               lpOverlapped);
     223
     224DWORD  HMWaitForSingleObject        (HANDLE                     hObject,
     225                                     DWORD                      dwTimeout);
     226
     227DWORD  HMWaitForSingleObjectEx      (HANDLE                     hObject,
     228                                     DWORD                      dwTimeout,
     229                                     BOOL                       fAlertable);
     230
     231DWORD  HMWaitForMultipleObjects     (DWORD                      cObjects,
     232                                     HANDLE                    *lphObjects,
     233                                     BOOL                       fWaitAll,
     234                                     DWORD                      dwTimeout);
     235
     236DWORD  HMWaitForMultipleObjectsEx   (DWORD                      cObjects,
     237                                     HANDLE                    *lphObjects,
     238                                     BOOL                       fWaitAll,
     239                                     DWORD                      dwTimeout,
     240                                     BOOL                       fAlertable);
     241
     242BOOL   HMFlushFileBuffers           (HANDLE                     hObject);
     243
     244BOOL   HMGetOverlappedResult        (HANDLE                     hObject,
     245                                     LPOVERLAPPED               lpOverlapped,
     246                                     LPDWORD                    lpNumberOfBytesTransferred,
     247                                     BOOL                       bWait);
     248
     249BOOL   HMReleaseMutex               (HANDLE                     hObject);
     250
     251BOOL   HMSetEvent                   (HANDLE                     hEvent);
     252
     253BOOL   HMPulseEvent                 (HANDLE                     hEvent);
     254
     255BOOL   HMResetEvent                 (HANDLE                     hEvent);
     256
     257HANDLE HMCreateSemaphore            (LPSECURITY_ATTRIBUTES      lpsa,
     258                                     LONG                       lInitialCount,
     259                                     LONG                       lMaximumCount,
     260                                     LPCSTR                     lpszSemaphoreName);
     261
     262HANDLE HMOpenSemaphore              (DWORD                      fdwAccess,
     263                                     BOOL                       fInheritHandle,
     264                                     LPCSTR                     lpszSemaphoreName);
     265
     266BOOL   HMReleaseSemaphore           (HANDLE                     hSemaphore,
     267                                     LONG                       cReleaseCount,
     268                                     LPLONG                     lpPreviousCount);
    206269
    207270
  • trunk/include/win/winbase.h

    r4 r278  
    1 /* $Id: winbase.h,v 1.1 1999-05-24 20:19:21 ktk Exp $ */
     1/* $Id: winbase.h,v 1.2 1999-07-06 15:48:44 phaller Exp $ */
    22
    33#ifndef __WINE_WINBASE_H
     
    321321
    322322/* Purge functions for Comm Port */
    323 #define PURGE_TXABORT       0x0001  /* Kill the pending/current writes to the 
     323#define PURGE_TXABORT       0x0001  /* Kill the pending/current writes to the
    324324                                       comm port */
    325 #define PURGE_RXABORT       0x0002  /*Kill the pending/current reads to 
     325#define PURGE_RXABORT       0x0002  /*Kill the pending/current reads to
    326326                                     the comm port */
    327327#define PURGE_TXCLEAR       0x0004  /* Kill the transmit queue if there*/
     
    398398
    399399
    400 #define LMEM_FIXED          0   
     400#define LMEM_FIXED          0
    401401#define LMEM_MOVEABLE       0x0002
    402402#define LMEM_NOCOMPACT      0x0010
     
    867867            BYTE        BaseMid;
    868868            BYTE        Flags1;/*Declare as bytes to avoid alignment problems */
    869             BYTE        Flags2; 
     869            BYTE        Flags2;
    870870            BYTE        BaseHi;
    871871        } Bytes;
    872         struct {           
     872        struct {       
    873873            unsigned    BaseMid         : 8;
    874874            unsigned    Type            : 5;
     
    935935 * WINAPI instead of CALLBACK in the windows headers.
    936936 */
    937 typedef DWORD (* WINAPI LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, 
     937typedef DWORD (* WINAPI LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
    938938                                           LARGE_INTEGER, DWORD, DWORD, HANDLE,
    939939                                           HANDLE, LPVOID);
     
    997997
    998998#define STATUS_SUCCESS                   0x00000000
    999 #define STATUS_WAIT_0                    0x00000000   
    1000 #define STATUS_ABANDONED_WAIT_0          0x00000080   
    1001 #define STATUS_USER_APC                  0x000000C0   
    1002 #define STATUS_TIMEOUT                   0x00000102   
    1003 #define STATUS_PENDING                   0x00000103   
    1004 #define STATUS_GUARD_PAGE_VIOLATION      0x80000001   
    1005 #define STATUS_DATATYPE_MISALIGNMENT     0x80000002   
    1006 #define STATUS_BREAKPOINT                0x80000003   
    1007 #define STATUS_SINGLE_STEP               0x80000004   
     999#define STATUS_WAIT_0                    0x00000000
     1000#define STATUS_ABANDONED_WAIT_0          0x00000080
     1001#define STATUS_USER_APC                  0x000000C0
     1002#define STATUS_TIMEOUT                   0x00000102
     1003#define STATUS_PENDING                   0x00000103
     1004#define STATUS_GUARD_PAGE_VIOLATION      0x80000001
     1005#define STATUS_DATATYPE_MISALIGNMENT     0x80000002
     1006#define STATUS_BREAKPOINT                0x80000003
     1007#define STATUS_SINGLE_STEP               0x80000004
    10081008#define STATUS_BUFFER_OVERFLOW           0x80000005
    1009 #define STATUS_ACCESS_VIOLATION          0xC0000005   
    1010 #define STATUS_IN_PAGE_ERROR             0xC0000006   
     1009#define STATUS_ACCESS_VIOLATION          0xC0000005
     1010#define STATUS_IN_PAGE_ERROR             0xC0000006
    10111011#define STATUS_INVALID_PARAMETER         0xC000000D
    1012 #define STATUS_NO_MEMORY                 0xC0000017   
    1013 #define STATUS_ILLEGAL_INSTRUCTION       0xC000001D   
     1012#define STATUS_NO_MEMORY                 0xC0000017
     1013#define STATUS_ILLEGAL_INSTRUCTION       0xC000001D
    10141014#define STATUS_BUFFER_TOO_SMALL          0xC0000023
    1015 #define STATUS_NONCONTINUABLE_EXCEPTION  0xC0000025   
    1016 #define STATUS_INVALID_DISPOSITION       0xC0000026   
     1015#define STATUS_NONCONTINUABLE_EXCEPTION  0xC0000025
     1016#define STATUS_INVALID_DISPOSITION       0xC0000026
    10171017#define STATUS_UNKNOWN_REVISION          0xC0000058
    10181018#define STATUS_INVALID_SECURITY_DESCR    0xC0000079
    1019 #define STATUS_ARRAY_BOUNDS_EXCEEDED     0xC000008C   
    1020 #define STATUS_FLOAT_DENORMAL_OPERAND    0xC000008D   
    1021 #define STATUS_FLOAT_DIVIDE_BY_ZERO      0xC000008E   
    1022 #define STATUS_FLOAT_INEXACT_RESULT      0xC000008F   
    1023 #define STATUS_FLOAT_INVALID_OPERATION   0xC0000090   
    1024 #define STATUS_FLOAT_OVERFLOW            0xC0000091   
    1025 #define STATUS_FLOAT_STACK_CHECK         0xC0000092   
    1026 #define STATUS_FLOAT_UNDERFLOW           0xC0000093   
    1027 #define STATUS_INTEGER_DIVIDE_BY_ZERO    0xC0000094   
    1028 #define STATUS_INTEGER_OVERFLOW          0xC0000095   
    1029 #define STATUS_PRIVILEGED_INSTRUCTION    0xC0000096   
     1019#define STATUS_ARRAY_BOUNDS_EXCEEDED     0xC000008C
     1020#define STATUS_FLOAT_DENORMAL_OPERAND    0xC000008D
     1021#define STATUS_FLOAT_DIVIDE_BY_ZERO      0xC000008E
     1022#define STATUS_FLOAT_INEXACT_RESULT      0xC000008F
     1023#define STATUS_FLOAT_INVALID_OPERATION   0xC0000090
     1024#define STATUS_FLOAT_OVERFLOW            0xC0000091
     1025#define STATUS_FLOAT_STACK_CHECK         0xC0000092
     1026#define STATUS_FLOAT_UNDERFLOW           0xC0000093
     1027#define STATUS_INTEGER_DIVIDE_BY_ZERO    0xC0000094
     1028#define STATUS_INTEGER_OVERFLOW          0xC0000095
     1029#define STATUS_PRIVILEGED_INSTRUCTION    0xC0000096
    10301030#define STATUS_INVALID_PARAMETER_2       0xC00000F0
    1031 #define STATUS_STACK_OVERFLOW            0xC00000FD   
    1032 #define STATUS_CONTROL_C_EXIT            0xC000013A   
     1031#define STATUS_STACK_OVERFLOW            0xC00000FD
     1032#define STATUS_CONTROL_C_EXIT            0xC000013A
    10331033
    10341034#define DUPLICATE_CLOSE_SOURCE          0x00000001
     
    10491049#define THREAD_PRIORITY_IDLE            THREAD_BASE_PRIORITY_IDLE
    10501050
    1051 typedef struct 
     1051typedef struct
    10521052{
    10531053  int type;
    10541054} wine_exception;
    10551055
    1056 typedef struct 
     1056typedef struct
    10571057{
    10581058  int pad[39];
     
    12281228        DWORD   WriteTotalTimeoutConstant;
    12291229} COMMTIMEOUTS,*LPCOMMTIMEOUTS;
    1230  
     1230
    12311231typedef struct _COMMCONFIG {
    12321232    DWORD dwSize;
     
    12571257BOOL      WINAPI TransmitCommChar(INT,CHAR);
    12581258
    1259  
     1259
    12601260/*DWORD WINAPI GetVersion( void );*/
    12611261BOOL16 WINAPI GetVersionEx16(OSVERSIONINFO16*);
     
    12781278BOOL    WINAPI TerminateProcess(HANDLE,DWORD);
    12791279BOOL    WINAPI TerminateThread(HANDLE,DWORD);
    1280 BOOL    WINAPI GetExitCodeThread(HANDLE,LPDWORD); 
     1280BOOL    WINAPI GetExitCodeThread(HANDLE,LPDWORD);
    12811281
    12821282/* GetBinaryType return values.
     
    13121312HANDLE    WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
    13131313HANDLE    WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
    1314 #define     CreateEvent WINELIB_NAME_AW(CreateEvent)
    13151314HFILE     WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,
    13161315                                 DWORD,DWORD,HANDLE);
     
    14771476HANDLE    WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
    14781477HANDLE    WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
    1479 #define     OpenEvent WINELIB_NAME_AW(OpenEvent)
    14801478HANDLE    WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
    14811479HANDLE    WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
    1482 #define     OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
    14831480HANDLE    WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
    14841481HANDLE    WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
    1485 #define     OpenMutex WINELIB_NAME_AW(OpenMutex)
    14861482HANDLE    WINAPI OpenProcess(DWORD,BOOL,DWORD);
    14871483HANDLE    WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
    14881484HANDLE    WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
    1489 #define     OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
    14901485BOOL      WINAPI PulseEvent(HANDLE);
    14911486BOOL      WINAPI PurgeComm(HANDLE,DWORD);
    14921487DWORD       WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
    14931488DWORD       WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
    1494 #define     QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
    14951489BOOL      WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
    14961490BOOL      WINAPI ReadConsoleA(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
    14971491BOOL      WINAPI ReadConsoleW(HANDLE,LPVOID,DWORD,LPDWORD,LPVOID);
    1498 #define     ReadConsole WINELIB_NAME_AW(ReadConsole)
    14991492BOOL      WINAPI ReadConsoleOutputCharacterA(HANDLE,LPSTR,DWORD,
    15001493                                                 COORD,LPDWORD);
    1501 #define     ReadConsoleOutputCharacter WINELIB_NAME_AW(ReadConsoleOutputCharacter)
    15021494BOOL      WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
    15031495BOOL      WINAPI ReleaseMutex(HANDLE);
  • trunk/include/win/windef.h

    r13 r278  
    1 /* $Id: windef.h,v 1.2 1999-05-31 17:04:19 phaller Exp $ */
     1/* $Id: windef.h,v 1.3 1999-07-06 15:48:44 phaller Exp $ */
    22
    33/*
     
    9797#endif
    9898
    99 #ifndef pascal 
     99#ifndef pascal
    100100  #define pascal      __stdcall
    101101#endif
     
    468468/* Macros to access unaligned or wrong-endian WORDs and DWORDs. */
    469469/* Note: These macros are semantically broken, at least for wrc.  wrc
    470    spits out data in the platform's current binary format, *not* in 
     470   spits out data in the platform's current binary format, *not* in
    471471   little-endian format.  These macros are used throughout the resource
    472    code to load and store data to the resources.  Since it is unlikely 
    473    that we'll ever be dealing with little-endian resource data, the 
    474    byte-swapping nature of these macros has been disabled.  Rather than 
     472   code to load and store data to the resources.  Since it is unlikely
     473   that we'll ever be dealing with little-endian resource data, the
     474   byte-swapping nature of these macros has been disabled.  Rather than
    475475   remove the use of these macros from the resource loading code, the
    476    macros have simply been disabled.  In the future, someone may want 
     476   macros have simply been disabled.  In the future, someone may want
    477477   to reactivate these macros for other purposes.  In that case, the
    478    resource code will have to be modified to use different macros. */ 
     478   resource code will have to be modified to use different macros. */
    479479
    480480#if 1
     
    618618{
    619619    LONG left;
    620     LONG top; 
     620    LONG top;
    621621    LONG right;
    622622    LONG bottom;
Note: See TracChangeset for help on using the changeset viewer.