home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2api / winerror.def < prev    next >
Text File  |  1994-07-05  |  6KB  |  141 lines

  1. DEFINITION MODULE WINERRORS;
  2.  
  3. (************************************************************************
  4.   OS/2 2.x interface for Presentation Manager error handling and codes.
  5.  
  6.   Copyright (c) 1992, 1994 by Juergen Neuhoff
  7. *************************************************************************)
  8.  
  9. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  10. (*$CDECL+    C-style procedures                                         *)
  11. (*$A         default alignment for record fields                        *)
  12.  
  13. IMPORT SYSTEM;
  14. FROM   OS2DEF  IMPORT TYPEPREFIX, ERRORID, HAB;
  15.  
  16. CONST (* Window Manager error codes *)
  17.   PMERR_INVALID_HWND                 = 1001H;
  18.   PMERR_INVALID_HMQ                  = 1002H;
  19.   PMERR_PARAMETER_OUT_OF_RANGE       = 1003H;
  20.   PMERR_WINDOW_LOCK_UNDERFLOW        = 1004H;
  21.   PMERR_WINDOW_LOCK_OVERFLOW         = 1005H;
  22.   PMERR_BAD_WINDOW_LOCK_COUNT        = 1006H;
  23.   PMERR_WINDOW_NOT_LOCKED            = 1007H;
  24.   PMERR_INVALID_SELECTOR             = 1008H;
  25.   PMERR_CALL_FROM_WRONG_THREAD       = 1009H;
  26.   PMERR_RESOURCE_NOT_FOUND           = 100AH;
  27.   PMERR_INVALID_STRING_PARM          = 100BH;
  28.   PMERR_INVALID_HHEAP                = 100CH;
  29.   PMERR_INVALID_HEAP_POINTER         = 100DH;
  30.   PMERR_INVALID_HEAP_SIZE_PARM       = 100EH;
  31.   PMERR_INVALID_HEAP_SIZE            = 100FH;
  32.   PMERR_INVALID_HEAP_SIZE_WORD       = 1010H;
  33.   PMERR_HEAP_OUT_OF_MEMORY           = 1011H;
  34.   PMERR_HEAP_MAX_SIZE_REACHED        = 1012H;
  35.   PMERR_INVALID_HATOMTBL             = 1013H;
  36.   PMERR_INVALID_ATOM                 = 1014H;
  37.   PMERR_INVALID_ATOM_NAME            = 1015H;
  38.   PMERR_INVALID_INTEGER_ATOM         = 1016H;
  39.   PMERR_ATOM_NAME_NOT_FOUND          = 1017H;
  40.   PMERR_QUEUE_TOO_LARGE              = 1018H;
  41.   PMERR_INVALID_FLAG                 = 1019H;
  42.   PMERR_INVALID_HACCEL               = 101AH;
  43.   PMERR_INVALID_HPTR                 = 101BH;
  44.   PMERR_INVALID_HENUM                = 101CH;
  45.   PMERR_INVALID_SRC_CODEPAGE         = 101DH;
  46.   PMERR_INVALID_DST_CODEPAGE         = 101EH;
  47.  
  48. CONST
  49.   (* These are not real error codes, but just used to access special  *)
  50.   (* error message strings used by WinGetErrorInfo to format an error *)
  51.   (* message.                                                         *)
  52.   (* 1022H - 1033H, 1035H, 104BH - 104CH are used elsewhere           *)
  53.   PMERR_UNKNOWN_COMPONENT_ID         = 101FH;
  54.   PMERR_UNKNOWN_ERROR_CODE           = 1020H;
  55.   PMERR_SEVERITY_LEVELS              = 1021H;
  56.   PMERR_INVALID_RESOURCE_FORMAT      = 1034H;
  57.   PMERR_WINDOW_UNLOCK_WAIT           = 1035H;
  58.   PMERR_NO_MSG_QUEUE                 = 1036H;
  59.   PMERR_WIN_DEBUGMSG                 = 1037H;
  60.   PMERR_QUEUE_FULL                   = 1038H;
  61.   PMERR_LIBRARY_LOAD_FAILED          = 1039H;
  62.   PMERR_PROCEDURE_LOAD_FAILED        = 103AH;
  63.   PMERR_LIBRARY_DELETE_FAILED        = 103BH;
  64.   PMERR_PROCEDURE_DELETE_FAILED      = 103CH;
  65.   PMERR_ARRAY_TOO_LARGE              = 103DH;
  66.   PMERR_ARRAY_TOO_SMALL              = 103EH;
  67.   PMERR_DATATYPE_ENTRY_BAD_INDEX     = 103FH;
  68.   PMERR_DATATYPE_ENTRY_CTL_BAD       = 1040H;
  69.   PMERR_DATATYPE_ENTRY_CTL_MISS      = 1041H;
  70.   PMERR_DATATYPE_ENTRY_INVALID       = 1042H;
  71.   PMERR_DATATYPE_ENTRY_NOT_NUM       = 1043H;
  72.   PMERR_DATATYPE_ENTRY_NOT_OFF       = 1044H;
  73.   PMERR_DATATYPE_INVALID             = 1045H;
  74.   PMERR_DATATYPE_NOT_UNIQUE          = 1046H;
  75.   PMERR_DATATYPE_TOO_LONG            = 1047H;
  76.   PMERR_DATATYPE_TOO_SMALL           = 1048H;
  77.   PMERR_DIRECTION_INVALID            = 1049H;
  78.   PMERR_INVALID_HAB                  = 104AH;
  79.   PMERR_INVALID_HSTRUCT              = 104DH;
  80.   PMERR_LENGTH_TOO_SMALL             = 104EH;
  81.   PMERR_MSGID_TOO_SMALL              = 104FH;
  82.   PMERR_NO_HANDLE_ALLOC              = 1050H;
  83.   PMERR_NOT_IN_A_PM_SESSION          = 1051H;
  84.   PMERR_MSG_QUEUE_ALREADY_EXISTS     = 1052H;
  85.   PMERR_OLD_RESOURCE                 = 1055H;
  86.  
  87. CONST
  88.   (* Error codes for debugging support                 *)
  89.   (* 1001H - 1021H, 1034H, 1036H - 1050H are reserved  *)
  90.   WINDBG_HWND_NOT_DESTROYED      = 1022H;
  91.   WINDBG_HPTR_NOT_DESTROYED      = 1023H;
  92.   WINDBG_HACCEL_NOT_DESTROYED    = 1024H;
  93.   WINDBG_HENUM_NOT_DESTROYED     = 1025H;
  94.   WINDBG_VISRGN_SEM_BUSY         = 1026H;
  95.   WINDBG_USER_SEM_BUSY           = 1027H;
  96.   WINDBG_DC_CACHE_BUSY           = 1028H;
  97.   WINDBG_HOOK_STILL_INSTALLED    = 1029H;
  98.   WINDBG_WINDOW_STILL_LOCKED     = 102AH;
  99.   WINDBG_UPDATEPS_ASSERTION_FAIL = 102BH;
  100.   WINDBG_SENDMSG_WITHIN_USER_SEM = 102CH;
  101.   WINDBG_USER_SEM_NOT_ENTERED    = 102DH;
  102.   WINDBG_PROC_NOT_EXPORTED       = 102EH;
  103.   WINDBG_BAD_SENDMSG_HWND        = 102FH;
  104.   WINDBG_ABNORMAL_EXIT           = 1030H;
  105.   WINDBG_INTERNAL_REVISION       = 1031H;
  106.   WINDBG_INITSYSTEM_FAILED       = 1032H;
  107.   WINDBG_HATOMTBL_NOT_DESTROYED  = 1033H;
  108.   WINDBG_WINDOW_UNLOCK_WAIT      = 1035H;
  109.  
  110. TYPE (* Get/Set Error Information Interface declarations *)
  111.   ERRINFO                        = RECORD  (* erri *)
  112.     CASE                           : TYPEPREFIX OF
  113.     | TRUE                         :
  114.       cbFixedErrInfo               : LONGCARD;
  115.       idError                      : ERRORID;
  116.       cDetailLevel                 : LONGCARD;
  117.       offaoffszMsg                 : LONGCARD;
  118.       offBinaryData                : LONGCARD;
  119.     | FALSE                        :
  120.       FixedErrInfoSize             : LONGCARD;
  121.       ErrorId                      : ERRORID;
  122.       DetailLevelCount             : LONGCARD;
  123.       MsgStringsArrayOffset        : LONGCARD;
  124.       BinaryDataOffset             : LONGCARD;
  125.     END;                           END;
  126.   PERRINFO                       = POINTER TO ERRINFO;
  127.  
  128. PROCEDURE WinGetLastError
  129. ( AnchorBlockHandle        : HAB
  130. )                          : ERRORID;
  131.  
  132. PROCEDURE WinGetErrorInfo
  133. ( AnchorBlockHandle        : HAB
  134. )                          : PERRINFO;
  135.  
  136. PROCEDURE WinFreeErrorInfo
  137. ( ErrorInfo                : PERRINFO
  138. )                          : BOOLEAN;
  139.  
  140. END WINERRORS.
  141.