home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v5.zip / DDKX86 / SRC / CMD / SVGAINST / DISPDEFS.H < prev    next >
C/C++ Source or Header  |  1995-04-14  |  15KB  |  365 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  4. /*                                                                           */
  5. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  6. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  7. /*    drivers. You may use this code in accordance with the IBM License      */
  8. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  9. /*    Copyright statement may not be removed.                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /* SCCSID = %%s %%s %%s */
  13.  
  14. /****************************************************************************/
  15. /*                                                                          */
  16. /*                                                                          */
  17. /*                                                                          */
  18. /****************************************************************************/
  19.  
  20. /*********************************************************************/
  21. /*                                                                   */
  22. /*  SOURCE FILE NAME: dispdefs.h                                     */
  23. /*                                                                   */
  24. /*  DESCRIPTIVE NAME: Define file for DISPINST                       */
  25. /*                                                                   */
  26. /*  FUNCTION: This include file contains the defines.                */
  27. /*                                                                   */
  28. /*  ENTRY POINT: None                                                */
  29. /*                                                                   */
  30. /*  PARAMETERS: None                                                 */
  31. /*   Input:                                                          */
  32. /*   Output:                                                         */
  33. /*                                                                   */
  34. /*  REFERENCES: None                                                 */
  35. /*                                                                   */
  36. /*********************************************************************/
  37.  
  38. #include "dispres.h"                                     /* resource defines */
  39.  
  40. /* memory defines */
  41. #define PAGE_SIZE               (ULONG)(4 * 1024)         /* 80386 page size */
  42. #define MEMORY_ALLOCATION       PAGE_SIZE * 150        /* memory to allocate */
  43. #define WORKER_STACK_SIZE       PAGE_SIZE * 4   /* worker threads stack size */
  44. #define FILE_BUFFER_SIZE        PAGE_SIZE    /* size of buffer for .DDP file */
  45. #define DSPTHREAD_STACK_SIZE    PAGE_SIZE * 2   /* @MTD DSP threads stack size */
  46.  
  47. /* general defines */
  48. #define SAME_STRING             0
  49. #define NEG1                    (USHORT)-1                   /* negative one */
  50. #define EOL                     '\0'              /* end of line - zero byte */
  51. #define EOFCHAR                 0x1a           /* char to denote end of file */
  52. #define CR                      '\r'                      /* carriage return */
  53. #define LF                      '\n'                            /* line feed */
  54. #define FF                      '\f'                            /* form feed */
  55. #define STAR                    '*'                              /* asterisk */
  56. #define QMARK                   '?'                         /* question mark */
  57. #define SPACE                   ' '                                 /* space */
  58. #define TAB                     '\t'                                  /* tab */
  59. #define COLON                   ':'                                 /* colon */
  60. #define WNDCLASSNAME            "DISPCLASS"             /* main window class */
  61. #define MAX_KEY                 64                  /* maximum length of key */
  62. #define MAX_TITLE               256                   /* max length of title */
  63. //D100432 #define MAX_RESOLUTIONS         32
  64.  
  65.  //maximum number of resolutions in svgadata.pmi; shouldn't be a limit though
  66. #define MAX_RESOLUTIONS         128                 //D100432
  67.  
  68. #define MAX_GENERAL_PROMPT      64
  69. #define MAX_DISKETTE_PROMPT     32
  70. #define MAX_VOLUME_PROMPT       32
  71. #define MAX_RESOLUTION_PROMPT   32
  72. #define ANYSTRING_CHAR          '='          /* for removing win.ini strings */
  73.  
  74.                      /* finite state machine state definitions (see MainFSM) */
  75. #define MAIN_STATE              0
  76. #define ACTION_STATE            1
  77. #define SOURCE_STATE            2
  78.  
  79.                                               /* oemhlp cat 80, fn 7 returns */
  80. #define CGA_BIT        2
  81. #define EGA_BIT        4
  82. #define VGA_BIT        8
  83.  
  84.                                                             /* video defines */
  85. #define VIO_MPA        0                                         /* adapters */
  86. #define VIO_CGA        1
  87. #define VIO_EGA        2
  88. #define VIO_VGA        3
  89. #define VIO_BGA        7
  90. #define VIO_SVGA       8
  91. #define VIO_XGA        9
  92. #define VIO_OTHER      15
  93. #define VIO_NONE       16
  94.  
  95. #define vioMono       0                                          /* displays */
  96. #define vioColor      1
  97. #define vioEnhanced   2
  98. #define vio8503       3
  99. #define vio8512_13    4
  100. #define vioMono5550   5
  101. #define vio5550       6
  102. #define vio5570       7
  103. #define vioFull5570   8
  104. #define vio8514       9
  105. #define vioPlasma     10
  106. #define vioNewMono    11
  107. #define vio8515       12
  108.  
  109.                      /* @DSW@ */     /* SVGA manufacturer codes from OEMHLP$ */
  110. #define SVGA_UNKNOWN    0            /* @DSW@ */
  111. #define SVGA_HEADLAND   1            /* @DSW@ */
  112. #define SVGA_TRIDENT    2            /* @DSW@ */
  113. #define SVGA_TSENG      3            /* @DSW@ */
  114. #define SVGA_WESTDIG    4            /* @DSW@ */
  115. #define SVGA_ATI        5            /* @DSW@ */
  116. #define SVGA_SPEEDWAY   6            /* @DSW@ */
  117. #define SVGA_CIRRUS     7            /* @TWM@ */
  118. #define SVGA_S3         8            /* @TWM@ */
  119.  
  120. #define RETURN_GOOD                0
  121. #define RETURN_ERROR               1
  122. #define RETURN_CANCEL              2
  123. #define RETURN_NODSP              -1
  124. #define RETURN_FATAL              -1
  125.  
  126. /*
  127.  *additional return codes from  the dll routines
  128.  */
  129.  #define CONTINUE_OPERATION  0x0000
  130.  #define NO_STATE_CHANGE     0x0001
  131.  #define CANCEL_OPERATION    0xFFFF
  132.  #define CONTINUE_WITH_ERR   0xFFFE
  133.  
  134. /*
  135.  *defines for next chain element
  136.  *service
  137.  */
  138.  #define CHAIN_HEAD      0
  139.  #define CHAIN_TAIL      1
  140.  #define CHAIN_NEXT      2
  141.  #define CHAIN_PREVIOUS  3
  142.  
  143.  /*
  144.   *defines for the link element routines
  145.   */
  146.  #define ELEMENT_EXISTS  0
  147.  #define ELEMENT_CREATE  1
  148.  
  149.  #define HEAD_POSITION   0
  150.  #define TAIL_POSITION   1
  151.  #define PREV_POSITION   2
  152.  #define NEXT_POSITION   3
  153.  
  154.  
  155.  
  156. /* the min/max/restore bits mask */
  157. #define SWP_MINMAXRES           (SWP_MINIMIZE | SWP_MAXIMIZE | SWP_RESTORE)
  158.  
  159. /* Logo Timer values */
  160. #define TID_LOGO_WAIT            1                /* timer id for logo panel */
  161. #define LOGO_WAIT_INDEFINITE    -1                        /* no logo timeout */
  162. #define LOGO_WAIT_NOLOGO         0                                /* no logo */
  163.  
  164. /* disk drive attribute masks */
  165. #define DRIVE_EXISTS            0x01
  166. #define DRIVE_REMOTE            0x02
  167. #define DRIVE_REMOVABLE         0x04
  168.  
  169. /* media type */
  170. #define REMOVABLE_MEDIA         0
  171. #define NON_REMOVABLE_MEDIA     1
  172.  
  173. /* DosError defines */
  174. #define HARDERROR_DISABLE       0x0000
  175. #define HARDERROR_ENABLE        0x0001
  176.  
  177. /* directory being changed */
  178. #define CHANGE_SOURCE           0
  179. #define CHANGE_DEST             1
  180.  
  181. /* application messages */
  182. #define AM_WORKER               WM_USER + 0    /* message from worker thread */
  183. #define AM_XFERDSPS             WM_USER + 1
  184. #define AM_XFERDONE             WM_USER + 2
  185. #define AM_SET_DRIVERNAME       WM_USER + 3
  186. #define AM_SET_INSTTXT          WM_USER + 4
  187. #define AM_FSM                  WM_USER + 5
  188. #define AM_UPDATESLIDER         WM_USER + 6    /* 87507 */
  189. #define AM_ADDFILE              WM_USER + 7    /* 87507 */
  190. #define AM_ONEHUNDPERCENT       WM_USER + 8    /* 87507 */
  191. #define AM_DSPINSTL_DONE        WM_USER + 29   /* Reserved to work with config*/
  192.                                                /* utilities defines           */
  193.  
  194. /* application message parameters */
  195. #define AC_INTERNALERROR        WM_USER + 100              /* internal error */
  196. #define AC_LOADDLG              WM_USER + 101
  197. #define AC_DLGBOX               WM_USER + 102
  198. #define AC_MBXBOX               WM_USER + 103
  199.  
  200.                                                          /* DISPINST defines */
  201. #define DSP_LINE_SIZE           1024           /* max size of .DDP file line */
  202. #define SIZ_BUFFER              1024
  203.  
  204. #define TAG_INVALID             0                   /* invalid tag specified */
  205. #define TAG_CONFIG              1                   /* :CONFIG tag specified */
  206. #define TAG_FILES               2                   /* :FILES tag specified  */
  207. #define TAG_OS2INI              3                   /* :OS2INI tag specified */
  208. #define TAG_TITLE               4                   /* :TITLE tag specified  */
  209. #define TAG_RUN                 5                      /* :RUN tag specified */
  210. #define TAG_KEY                 6                      /* :KEY tag specified */
  211. #define TAG_WININI              7                   /* :WININI tag specified */
  212. #define TAG_SET_DRIVER          8               /* :SET_DRIVER tag specified */
  213. #define TAG_SET_RESOLUTION      9           /* :SET_RESOLUTION tag specified */
  214. #define TAG_AUTO_EXEC           10          /* :AUTO_EXEC       tag specified */
  215. #define TAG_DEL_CONFIG_LINE     11          /* :DEL_CONFIG_LINE tag specified */
  216. #define TAG_APPEND_FILES        12          /* :APPEND tag specified   @FERENGI */
  217. #define NUMBER_TAGS             12                         /* number of tags */
  218.  
  219.                                               /* returned by SplitConfigLine */
  220. #define CFG_VAR_LINE            0
  221. #define CFG_KEYWORD_LINE        1
  222. #define CFG_KEYVALUE_LINE       2
  223. #define CFG_REM_LINE            3
  224. #define CFG_OTHER_LINE          4
  225.  
  226.  
  227. /* dbcs macros */
  228. #define MAX_DBCSEV_NUMBER       8                 /* size on range structure */
  229. #define isdbcsleadbyte(c)       (dbcs_mask_[(unsigned char)(c)])
  230. #define isdbcschar(c)           ((c) & 0xFF00)
  231. #define dbcsleadbyte(c)         ((c) >> 8)
  232. #define MAX_RESOLUTION_STRING   64
  233. #define RESOLUTIONS_FILE        "C:\\OS2\\SVGADATA.PMI"
  234. #define SVGATMP_BAT             "C:\\OS2\\SVGATMP.BAT"
  235. #define GRAPHICS_MODE           "Graphics Mode"
  236.  
  237. #define HELPFILE               "DSPINSTL.HLP"
  238.  
  239. /*
  240.  *version history
  241.  */
  242. #define VERSION1                1
  243.  
  244. #define ONCE                    while(0)
  245. #define FOREVER                 while(1)
  246. #define PRIMARY                 1
  247. #define SECONDARY               2
  248. #define SVGA_PROGRAM            "SVGA.EXE"
  249.  
  250. #define STACK_SIZE_THRD         8192
  251.  
  252. /*
  253.  *application specific error messages
  254.  */
  255. #define ERROR_DSP_BAD_ARGCOUNT       1001
  256. #define ERROR_INVALID_UNPACK_VER     1003
  257.  
  258. /*
  259.  *response file error/exit codes
  260.  */
  261.  #define  MSG_NO_RESPONSE_FILE          26
  262.  #define  MSG_RESPONSE_FILE_NOT_FOUND   27
  263.  #define  MSG_RESPONSE_FILE_INVALID     28
  264.  #define  MSG_BUFFER_TOO_SMALL          28
  265.  #define  MSG_PARAMETER_NOT_FOUND       28
  266.  
  267.  
  268.  
  269.  
  270. #define SIZ_VALUE_STRING              256
  271. #define TITLE_STRING                  "TitleString"
  272. #define DISPLAY                       "Display"
  273.  
  274. //////////////////////////////////////////////////////////////////
  275. // miscellaneous constants
  276. //////////////////////////////////////////////////////////////////
  277.  
  278. #define CCH_MAX_TITLE         256
  279. #define CCH_MAX_ADP_PARMS     256
  280. #define CCH_MAX_VID_PARMS     256
  281. #define C_MAX_VID_PARMS         9
  282. #define RESPONSE_APPLICATION   0
  283. #define PM_APPLICATION         1
  284. #define CHILD_APPLICATION      2
  285.  
  286. //////////////////////////////////////////////////////////////////
  287. // action routine function names
  288. //////////////////////////////////////////////////////////////////
  289.  
  290. #define DEFAULT_PRIMARY_NAME    "DEFAULT_PRIMARY"
  291. #define DEFAULT_SECONDARY_NAME  "DEFAULT_SECONDARY"
  292. #define SELECTED_PRIMARY_NAME   "SELECTED_PRIMARY"
  293. #define SELECTED_SECONDARY_NAME "SELECTED_SECONDARY"
  294.  
  295.  
  296. #define PM_DISPLAYDRIVERS       "PM_DISPLAYDRIVERS"
  297. #define SIZ_RC_SPACING          6
  298.  
  299.  
  300. /*-----------------------------------------
  301.  *defines to detect iso - compliant
  302.  *gear
  303.  */
  304.  
  305. #define OEMHLP_DMQS_INFO      10   /* get pointer to DMQS data */       /*@ISO*/
  306.  
  307. /*+--------------------------------------------------------------------------+*/
  308. /*| Display Composite ID returned through monitor_id                         |*/
  309. /*+--------------------------------------------------------------------------+*/
  310. #define COMP_ID_9515       0x0F9FF                                      /*@ISO*/
  311. #define COMP_ID_9517       0x099F0                                      /*@ISO*/
  312. #define COMP_ID_9518       0x0F9F0                                      /*@ISO*/
  313.  
  314. #define OEMHLPDD_NAME   "OEMHLP$"  /* name of OEMHLP device driver        */
  315.  
  316. /*
  317.  *tokens for
  318.  *the autoexec update routines
  319.  */
  320. #define SET_TOKEN       0
  321. #define FILES_TOKEN     1
  322. #define DEVICE_TOKEN    2
  323. #define PATH_TOKEN      3
  324. #define OTHER_TOKEN     4
  325.  
  326. /*
  327.  *defines for command line parser
  328.  */
  329. #define TOKEN_ERROR          0
  330. #define TOKEN_SOURCE         1
  331. #define TOKEN_PRIMARY_KEY    2
  332. #define TOKEN_SECONDARY_KEY  3
  333. #define TOKEN_RESPONSE_FILE  4
  334. #define TOKEN_DESTINATION    5
  335. #define TOKEN_LOGNAME        6
  336. #define TOKEN_OVER_DAT_TIM   7
  337. #define TOKEN_MANUFAC_CODE   8
  338. #define TOKEN_PRIMDSCFILENAME  9
  339. #define TOKEN_SECDSCFILENAME  10
  340. #define TOKEN_INS             11                                    // warp
  341. #define TOKEN_RESOLUTION      12                                    //CID
  342. #define TOKEN_NVDM            13                                    //D99901
  343. #define TOKEN_WINHANDLE       14
  344. #define TOKEN_LAST            14                                    // warp
  345.  
  346.  
  347. #define REPERR_SYSTEM_ERR   0x00000001
  348. #define REPERR_FATAL_ERR    0x00000002
  349. #define REPERR_LOG          0x00000004
  350.  
  351. #define RSP_APPLICATION_ERROR      (REPERR_LOG | REPERR_FATAL_ERR )
  352.  
  353.                                                            /* bidi countries */
  354. #define ARABIC      785
  355. #define HEBREW      972
  356.  
  357. /*
  358.  * Secondary display configuration = none,  need to write out to reinstal.ini file.
  359.  * The value nine is an index into a structure in pminstal\instdata.c, 9 = null
  360.  */
  361.  
  362. #define SECONDARY_NONE_APP    "InstallWindow"
  363. #define SECONDARY_NONE_KEY    "VIOADAPTER2STR"
  364. #define SECONDARY_NONE_VALUE  "9"
  365.