home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / detk45he.zip / ffst.h < prev    next >
C/C++ Source or Header  |  1999-03-15  |  28KB  |  472 lines

  1. /********************** START OF HEADER SPECIFICATION *********************/
  2. /*                                                                        */
  3. /* FILE NAME:  FFST.H                                                     */
  4. /*                                                                        */
  5. /* FUNCTIONS:  This header file contains the data structures pertaining   */
  6. /*             to the FFSTProbe, FFSTSetConfiguration, and                */
  7. /*             FFSTQueryConfiguration.                                    */
  8. /*                                                                        */
  9. /* (C) COPYRIGHT International Business Machines Corp., 1994, 1996.       */
  10. /* All Rights Reserved                                                    */
  11. /* Licensed Materials - Property of IBM                                   */
  12. /*                                                                        */
  13. /* US Government Users Restricted Rights - Use, duplication or            */
  14. /* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
  15. /*                                                                        */
  16. /********************* END OF HEADER SPECIFICATION ************************/
  17.  
  18. #ifndef __FFSTH__
  19.   #define __FFSTH__
  20.  
  21. #ifndef INCL_FFST
  22.   #define INCL_FFST
  23. #endif
  24.  
  25. #ifndef NO_DOSUNICALLS
  26.    #define NO_DOSUNICALLS
  27. #endif
  28.  
  29. #ifndef _ULS_UCONV
  30.    #include <uconv.h>
  31. #endif
  32.  
  33. #ifndef _ULS_UNIDEF
  34.    #include <unidef.h>
  35. #endif
  36.  
  37. /********************************************************************************/
  38. /*                                                                              */
  39. /* Return codes from FFSTProbe to application and passed to ERRLOG              */
  40. /*                                                                              */
  41. /********************************************************************************/
  42.  
  43. /********************************************************************************/
  44. /* FFSTProbe API Return codes for Invalid Pointers passed in by the API user    */
  45. /********************************************************************************/
  46.  
  47. #define FFST_BASE_RETURN_CODE 100000ul
  48.  
  49. #define FFST_INVALID_PRODUCT_ADDRESS                 FFST_BASE_RETURN_CODE +  5
  50. #define FFST_INVALID_FFST_ADDRESS                    FFST_BASE_RETURN_CODE + 10
  51. #define FFST_INVALID_PRODDATA_ADDRESS                FFST_BASE_RETURN_CODE + 15
  52. #define FFST_INVALID_MESSAGE_ADDRESS                 FFST_BASE_RETURN_CODE + 16
  53. #define FFST_INVALID_PMSGINSDATA_ADDRESS             FFST_BASE_RETURN_CODE + 17
  54. #define FFST_INVALID_DMI_ADDRESS                     FFST_BASE_RETURN_CODE + 20
  55. #define FFST_INVALID_DUMP_ADDRESS                    FFST_BASE_RETURN_CODE + 25
  56. #define FFST_INVALID_PDUMPUSERDATA_ADDRESS           FFST_BASE_RETURN_CODE + 26
  57. #define FFST_INVALID_USER_AREA_ADDRESS               FFST_BASE_RETURN_CODE + 30
  58. #define FFST_INVALID_LOG_DATA_ADDRESS                FFST_BASE_RETURN_CODE + 35
  59.  
  60. #define FFST_INVALID_INSERT_MESSAGES_ADDRESS         FFST_BASE_RETURN_CODE + 40
  61. #define FFST_INVALID_VENDOR_TAG_ADDRESS              FFST_BASE_RETURN_CODE + 45
  62. #define FFST_INVALID_TAG_ADDRESS                     FFST_BASE_RETURN_CODE + 50
  63. #define FFST_INVALID_MODULENAME_ADDRESS              FFST_BASE_RETURN_CODE + 55
  64. #define FFST_INVALID_REVISION_ADDRESS                FFST_BASE_RETURN_CODE + 60
  65. #define FFST_INVALID_PRODUCT_ID_ADDRESS              FFST_BASE_RETURN_CODE + 65
  66. #define FFST_INVALID_DMI_FIXLVL_ADDRESS              FFST_BASE_RETURN_CODE + 70
  67. #define FFST_INVALID_TEMPFN_ADDRESS                  FFST_BASE_RETURN_CODE + 75
  68.  
  69. #define FFST_INVALID_USER_STRUCTURE_TITLE_ADDRESS    FFST_BASE_RETURN_CODE + 80
  70. #define FFST_INVALID_CONFIG_SUBPRODDATA_ADDRESS      FFST_BASE_RETURN_CODE + 85
  71. #define FFST_INVALID_DMI_MODIFICATION_LEVEL_ADDRESS  FFST_BASE_RETURN_CODE + 90
  72.  
  73. /********************************************************************************/
  74. /* FFSTProbe API Return codes for Invalid Packet Revision Numbers               */
  75. /********************************************************************************/
  76.  
  77. #define FFST_INVALID_PRODUCT_REVISION                FFST_BASE_RETURN_CODE + 95
  78. #define FFST_INVALID_DMI_REVISION                    FFST_BASE_RETURN_CODE + 100
  79. #define FFST_INVALID_FFST_REVISION                   FFST_BASE_RETURN_CODE + 105
  80.  
  81. /********************************************************************************/
  82. /* Return code for Invalid FFSTProbe Severity                                   */
  83. /********************************************************************************/
  84.  
  85. #define FFST_INVALID_SEVERITY                        FFST_BASE_RETURN_CODE + 110
  86.  
  87. /********************************************************************************/
  88. /* Return code for Invalid Number of Dumps Specified by FFSTProbe User          */
  89. /********************************************************************************/
  90.  
  91. #define FFST_INVALID_USER_DUMP_NUMBER                FFST_BASE_RETURN_CODE + 115
  92.  
  93. /********************************************************************************/
  94. /* Return code for Invalid Number of Insert Texts                               */
  95. /********************************************************************************/
  96.  
  97. #define FFST_INVALID_INSERTS_NUMBER                  FFST_BASE_RETURN_CODE + 120
  98. #define FFST_INVALID_INSERT_TEXT_ADDRESS             FFST_BASE_RETURN_CODE + 125
  99.  
  100. /********************************************************************************/
  101. /* Return code for Invalid Probe Flags                                          */
  102. /********************************************************************************/
  103.  
  104. #define FFST_INVALID_PROBE_FLAGS                     FFST_BASE_RETURN_CODE + 130
  105.  
  106. /********************************************************************************/
  107. /* Return codes for Invalid PSTAT data and Process Environment data             */
  108. /********************************************************************************/
  109.  
  110. #define FFST_INVALID_PSTAT_DATA                      FFST_BASE_RETURN_CODE + 135
  111. #define FFST_INVALID_PROCESS_ENV                     FFST_BASE_RETURN_CODE + 140
  112.  
  113. /********************************************************************************/
  114. /* Return codes for Invalid Packet Sizes                                        */
  115. /********************************************************************************/
  116.  
  117. #define FFST_INVALID_PRODUCTDATA_PACKET_SIZE         FFST_BASE_RETURN_CODE + 145
  118. #define FFST_INVALID_DMIDATA_PACKET_SIZE             FFST_BASE_RETURN_CODE + 150
  119. #define FFST_INVALID_FFSTPARMS_PACKET_SIZE           FFST_BASE_RETURN_CODE + 155
  120.  
  121. /********************************************************************************/
  122. /* Return codes for DLL Load and Query                                          */
  123. /********************************************************************************/
  124.  
  125. #define FFST_DLL_QUERY_PROC_ERROR                    FFST_BASE_RETURN_CODE + 160
  126. #define FFST_DLL_LOAD_ERROR                          FFST_BASE_RETURN_CODE + 165
  127.  
  128. /********************************************************************************/
  129. /* Return codes for FFSTProbe pipe errors                                       */
  130. /********************************************************************************/
  131.  
  132. #define FFST_CLIENT_PIPE_NOT_CREATED                 FFST_BASE_RETURN_CODE + 170
  133. #define FFST_CLIENT_PIPE_NOT_OPENED                  FFST_BASE_RETURN_CODE + 175
  134.  
  135. /********************************************************************************/
  136. /* Return code for Multiple Errors Occurring during probe processing            */
  137. /********************************************************************************/
  138.  
  139. #define FFST_MULTIPLE_SYSTEM_ERRORS                  FFST_BASE_RETURN_CODE + 180
  140.  
  141. /********************************************************************************/
  142. /* Misc. Return codes                                                           */
  143. /********************************************************************************/
  144.  
  145. #define CLIENT_PROC_IN_EXIT_LIST_PROCESSING          FFST_BASE_RETURN_CODE + 185
  146. #define FFST_UNICODE_CONVERSION_ERROR                FFST_BASE_RETURN_CODE + 186
  147.  
  148. /********************************************************************************/
  149. /* Return codes from FFSTProbe to application and not to ERRLOG                 */
  150. /********************************************************************************/
  151. /********************************************************************************/
  152. /* Return code for FFST not active.                                             */
  153. /********************************************************************************/
  154.  
  155. #define FFST_NOT_ACTIVE                              FFST_BASE_RETURN_CODE + 190
  156.  
  157. /********************************************************************************/
  158. /*                                                                              */
  159. /* Return codes from FFSTQueryConfiguration and FFSTSetConfiguration            */
  160. /*                                                                              */
  161. /********************************************************************************/
  162.  
  163. #define FFST_INVALID_CONFIG_USER_BUFFER_SIZE_ADDRESS           FFST_BASE_RETURN_CODE + 195
  164. #define FFST_INVALID_CONFIG_ADDRESS                            FFST_BASE_RETURN_CODE + 200
  165. #define FFST_INVALID_CONFIG_REVISION_NUMBER                    FFST_BASE_RETURN_CODE + 205
  166. #define FFST_INVALID_CONFIG_PACKET_SIZE                        FFST_BASE_RETURN_CODE + 210
  167. #define FFST_INVALID_CONFIG_DUMP_FILE_WRAP                     FFST_BASE_RETURN_CODE + 215
  168. #define FFST_INVALID_CONFIG_DUMP_FILE_DIRECTORY_SIZE           FFST_BASE_RETURN_CODE + 220
  169. #define FFST_INVALID_CONFIG_KEEP_DUP_DUMP                      FFST_BASE_RETURN_CODE + 225
  170. #define FFST_INVALID_CONFIG_DUMP_FILE_DIRECTORY_NAME_ADDRESS   FFST_BASE_RETURN_CODE + 230
  171. #define FFST_INVALID_CONFIG_DUMP_FILE_DIRECTORY_NAME_LENGTH    FFST_BASE_RETURN_CODE + 235
  172. #define FFST_INVALID_CONFIG_NO_DISABLED_PRODUCTS               FFST_BASE_RETURN_CODE + 240
  173. #define FFST_INVALID_CONFIG_DISABLED_PRODUCTS_ADDRESS          FFST_BASE_RETURN_CODE + 245
  174. #define FFST_INVALID_CONFIG_VENDOR_TAG_ADDRESS                 FFST_BASE_RETURN_CODE + 250
  175. #define FFST_INVALID_CONFIG_TAG_ADDRESS                        FFST_BASE_RETURN_CODE + 255
  176. #define FFST_INVALID_CONFIG_REVISION_ADDRESS                   FFST_BASE_RETURN_CODE + 260
  177. #define FFST_INVALID_CONFIG_MESSAGE_POPUP                      FFST_BASE_RETURN_CODE + 265
  178.  
  179. /********************************************************************************/
  180. /* Return codes for file errors during Configuration processing.                */
  181. /********************************************************************************/
  182.  
  183. #define FFST_CONFIG_FILE_OPEN_ERROR                            FFST_BASE_RETURN_CODE + 275
  184. #define FFST_CONFIG_FILE_SEARCH_ERROR                          FFST_BASE_RETURN_CODE + 280
  185. #define FFST_CONFIG_FILE_WRITE_ERROR                           FFST_BASE_RETURN_CODE + 285
  186.  
  187. /********************************************************************************/
  188. /* Return code for an insufficient buffer passed to Configuration.              */
  189. /********************************************************************************/
  190.  
  191. #define FFST_CONFIG_INSUFFICIENT_BUFFER                        FFST_BASE_RETURN_CODE + 290
  192.  
  193. /********************************************************************************/
  194. /* Return code for invalid dump file directory driver passed to                 */
  195. /* FFSTSetConfiguration.                                                        */
  196. /********************************************************************************/
  197.  
  198. #define FFST_INVALID_CONFIG_DUMP_FILE_DIR_DRIVE                FFST_BASE_RETURN_CODE + 295
  199.  
  200. /********************************************************************************/
  201. /* Return codes for an invalid drive or path passed to                          */
  202. /* FFSTSetConfiguration.                                                        */
  203. /********************************************************************************/
  204.  
  205. #define FFST_INVALID_DRIVE_REQUESTED                           FFST_BASE_RETURN_CODE + 300
  206. #define FFST_INVALID_PATH_REQUESTED                            FFST_BASE_RETURN_CODE + 305
  207.  
  208. /********************************************************************************/
  209. /*                                                                              */
  210. /* Return codes from FFSTProbe, FFSTQueryConfiguration, FFSTSetConfiguration    */
  211. /* or other FFST processing.                                                    */
  212. /*                                                                              */
  213. /********************************************************************************/
  214.  
  215. /********************************************************************************/
  216. /* Return codes for shared memory errors.                                       */
  217. /********************************************************************************/
  218.  
  219. #define FFST_GET_SHARED_MEM_ERROR                              FFST_BASE_RETURN_CODE + 310
  220. #define FFST_ALLOC_SHARED_MEM_ERROR                            FFST_BASE_RETURN_CODE + 315
  221. #define FFST_FREE_SHARED_MEM_ERROR                             FFST_BASE_RETURN_CODE + 320
  222.  
  223. /********************************************************************************/
  224. /* Return codes for semaphore errors.                                           */
  225. /********************************************************************************/
  226.  
  227. #define FFST_SEMAPHORE_TIMEOUT_ERROR                           FFST_BASE_RETURN_CODE + 325
  228. #define FFST_SEMAPHORE_OPEN_ERROR                              FFST_BASE_RETURN_CODE + 330
  229. #define FFST_SEMAPHORE_RELEASE_ERROR                           FFST_BASE_RETURN_CODE + 335
  230. #define FFST_SEMAPHORE_CLOSE_ERROR                             FFST_BASE_RETURN_CODE + 340
  231. #define FFST_SEMAPHORE_REQUEST_ERROR                           FFST_BASE_RETURN_CODE + 345
  232. #define FFST_SEMAPHORE_G_ERROR                                 FFST_BASE_RETURN_CODE + 350
  233.  
  234. /********************************************************************************/
  235. /* Return codes for dump engine processing which may be posted to the           */
  236. /* SysLog.                                                                      */
  237. /********************************************************************************/
  238.  
  239. #define FFST_DUMP_HDR_FILE_OPEN_ERROR                          FFST_BASE_RETURN_CODE + 355
  240. #define FFST_INDEX_FILE_OPEN_ERROR                             FFST_BASE_RETURN_CODE + 360
  241. #define FFST_DUMP_FILE_OPEN_ERROR                              FFST_BASE_RETURN_CODE + 365
  242. #define FFST_MEMORY_ALLOCATION_ERROR                           FFST_BASE_RETURN_CODE + 370
  243. #define FFST_QUERYFS_ERROR                                     FFST_BASE_RETURN_CODE + 375
  244. #define FFST_DUMP_WRAP_ERROR                                   FFST_BASE_RETURN_CODE + 380
  245. #define FFST_TRACE_RENAME_ERROR                                FFST_BASE_RETURN_CODE + 385
  246. #define FFST_PROC_DUMP_RENAME_ERROR                            FFST_BASE_RETURN_CODE + 390
  247.  
  248. /********************************************************************************/
  249. /* Return codes that may be in the SysLog during Worker bringup.                */
  250. /********************************************************************************/
  251.  
  252. #define FFST_CREATE_CONFIG_SEMAPHORE_ERROR                     FFST_BASE_RETURN_CODE + 395
  253. #define FFST_CREATE_DUMP_SEMAPHORE_ERROR                       FFST_BASE_RETURN_CODE + 400
  254. #define FFST_WORKER_ALLOC_SHARED_MEM_ERROR                     FFST_BASE_RETURN_CODE + 405
  255. #define FFST_WORKER_GET_SHARED_MEM_ERROR                       FFST_BASE_RETURN_CODE + 410
  256. #define FFST_CREATE_PCT_SEMAPHORE_ERROR                        FFST_BASE_RETURN_CODE + 415
  257. #define FFST_FILE_ALREADY_EXISTS                               FFST_BASE_RETURN_CODE + 420
  258. #define FFST_SPECIFIED_FILE_NOT_FOUND                          FFST_BASE_RETURN_CODE + 425
  259. #define FFST_DUMP_VALIDATION_ERROR                             FFST_BASE_RETURN_CODE + 430
  260. #define FFST_CONFIG_MEMORY_FILLED                              FFST_BASE_RETURN_CODE + 435
  261.  
  262. #define FFST_WORKER_SETCONFIG_ERROR                            FFST_BASE_RETURN_CODE + 440
  263. #define FFST_WORKER_PIPE_NOT_CREATED                           FFST_BASE_RETURN_CODE + 445
  264. #define FFST_WORKER_FFST_CONFIG_NOT_OKAY                       FFST_BASE_RETURN_CODE + 450
  265. #define FFST_WORKER_MUTEXSEM_NOT_RELEASED                      FFST_BASE_RETURN_CODE + 455
  266. #define FFST_WORKER_ALREADY_ACTIVE                             FFST_BASE_RETURN_CODE + 460
  267. #define FFST_WORKER_INITWORKER_FAILED                          FFST_BASE_RETURN_CODE + 465
  268. #define FFST_WORKER_NOT_ACTIVE                                 FFST_BASE_RETURN_CODE + 470
  269.  
  270. /********************************************************************************/
  271. /*                                                                              */
  272. /* Miscellaneous defines used by FFST                                           */
  273. /*                                                                              */
  274. /********************************************************************************/
  275.  
  276. /********************************************************************************/
  277. /* Maximum number of message inserts and dumps for FFSTProbe                    */
  278. /********************************************************************************/
  279.  
  280. #define MAX_MSG_INSERTS                    9
  281. #define MAX_USER_DUMPS                     30
  282.  
  283. /********************************************************************************/
  284. /* Major and Minor error codes for FFST                                         */
  285. /********************************************************************************/
  286.  
  287. #define FFST_MAJOR_CODE                    0x056
  288. #define FFST_MINOR_CODE                    0x057
  289.  
  290. /********************************************************************************/
  291. /* Packet Revision number defines                                               */
  292. /********************************************************************************/
  293.  
  294. #define PRODUCTDATA_REVISION_NUMBER_1      1
  295. #define PRODUCTDATA_UNICODE                1
  296. #define PRODUCTDATA_ASCII                  2
  297.  
  298. #define DMIDATA_REVISION_NUMBER_1          1
  299. #define DMIDATA_UNICODE                    1
  300. #define DMIDATA_ASCII                      2
  301.  
  302. #define NOTIFYINFO_REVISION_NUMBER_1       1
  303.  
  304. #define FFSTPARMS_WPOS_REVISION_NUMBER_1   1
  305. #define FFSTPARMS_OS2_REVISION_NUMBER_1    2
  306. #define FFSTPARMS_OS2_UNICODE              1
  307. #define FFSTPARMS_OS2_ASCII                3
  308.  
  309. /********************************************************************************/
  310. /* Severity definitions                                                         */
  311. /********************************************************************************/
  312.  
  313. #ifndef SEVERITY1
  314.   #define SEVERITY1                        1
  315.   #define SEVERITY2                        2
  316.   #define SEVERITY3                        3
  317.   #define SEVERITY4                        4
  318.   #define SEVERITY5                        5
  319.   #define SEVERITY6                        6
  320. #endif
  321.  
  322. /********************************************************************************/
  323. /* Probe Flags                                                                  */
  324. /********************************************************************************/
  325.  
  326. #define PSTAT_FLAG                         0x01
  327. #define PROC_ENV_FLAG                      0x02
  328. #define RESERVED                           0x04
  329. #define PROCESS_DUMP_FLAG                  0x08
  330.  
  331. /********************************************************************************/
  332. /* Configuration API defines.                                                   */
  333. /********************************************************************************/
  334.  
  335. #define   CONFIGPARMS_WPOS_REVISION_NUMBER_1                     1
  336. #define   CONFIGPARMS_OS2_REVISION_NUMBER_1                      2
  337.  
  338. #define   FFST_DUMP_WRAP_OFF                                     0
  339. #define   FFST_DUMP_WRAP_ON                                      1
  340. #define   FFST_DUMP_WRAP_NO_CHANGE                               2
  341.  
  342. #define   FFST_KEEP_DUP_DUMP_OFF                                 0
  343. #define   FFST_KEEP_DUP_DUMP_ON                                  1
  344. #define   FFST_KEEP_DUP_DUMP_NO_CHANGE                           2
  345.  
  346. #define   FFST_DUMP_FILE_DIRECTORY_SIZE_NO_CHANGE                0
  347. #define   FFST_DUMP_FILE_DIRECTORY_LENGTH_NO_CHANGE              0
  348. #define   FFST_NO_OF_PROBE_DISABLED_PRODUCTS_NO_CHANGE           0xFFFFFFFF
  349.  
  350. /********************************************************************************/
  351. /*                                                                              */
  352. /* Structures used by FFST                                                      */
  353. /*                                                                              */
  354. /********************************************************************************/
  355.  
  356. /********************************************************************************/
  357. /* FFSTProbe Structure Declares                                                 */
  358. /********************************************************************************/
  359.  
  360.    typedef struct
  361.    {                                            /* Product Information Packet   */
  362.       ULONG    packet_size;                     /* Length of product data packet*/
  363.       ULONG    packet_revision_number;          /* revision number of this pkt  */
  364.       void   * DMI_vendor_tag;                  /* ptr to vendor short name     */
  365.       void   * DMI_tag;                         /* ptr to vendor product name   */
  366.       void   * DMI_revision;                    /* ptr to vendor revision num   */
  367.    } PRODUCTDATA, * PPRODUCTDATA;
  368.  
  369.  
  370.    typedef struct
  371.    {                                            /* DMI data structure           */
  372.       ULONG    packet_size;                     /* Length of packet             */
  373.       ULONG    packet_revision_number;          /* Revision number of packet    */
  374.       void   * DMI_product_ID;                  /* ptr to product number        */
  375.       void   * DMI_modification_level;          /* dmi product mod level        */
  376.       void   * DMI_fix_level;                   /* dmi product fix level        */
  377.       ULONG    template_filename_length;        /* length of template filename  */
  378.       void   * template_filename;               /* ptr to template filename     */
  379.     } DMIDATA, * PDMIDATA;
  380.  
  381.  
  382.    typedef struct
  383.    {                                            /* Product Information Packet   */
  384.       PPRODUCTDATA   pProductData;              /* ptr to Probe Information     */
  385.       PDMIDATA       pDMIData;                  /* ptr to Product DMI Data      */
  386.    } PRODUCTINFO, * PPRODUCTINFO;
  387.  
  388.  
  389.    typedef struct
  390.    {                                            /* Insert Text Data             */
  391.       ULONG    insert_number;                   /* number of given insert       */
  392.       void   * insert_text;                     /* ptr to insert text           */
  393.    } MSGINSTXT, * PMSGINSTXT;
  394.  
  395.  
  396.    typedef struct
  397.    {                                            /* Insert Text Data             */
  398.       ULONG     no_inserts;                     /* number of inserts provided   */
  399.       MSGINSTXT MsgInsTxt [ MAX_MSG_INSERTS ];  /* struct containing inserts    */
  400.    } MSGINSDATA, * PMSGINSDATA;
  401.  
  402.  
  403.    typedef struct
  404.    {                                            /* User defined dump data       */
  405.       ULONG    var_n_length;                    /* length of data structure     */
  406.       PVOID    var_n;                           /* pointer to data structure    */
  407.    } DUMPDATAVAR, * PDUMPDATAVAR;
  408.  
  409.  
  410.    typedef struct
  411.    {                                            /* User defined dump data       */
  412.       ULONG       no_of_variables;              /* number of dumps              */
  413.       DUMPDATAVAR DumpDataVar [ MAX_USER_DUMPS ];    /* dump data variable      */
  414.    } DUMPUSERDATA, * PDUMPUSERDATA;
  415.  
  416.  
  417.    typedef struct
  418.    {                                            /* FFSTPROBE Control Block      */
  419.       ULONG         packet_size;                /* Length of packet             */
  420.       ULONG         packet_revision_number;     /* Revision number of packet    */
  421.       void        * module_name;                /* ptr to module identifier name*/
  422.       ULONG         probe_ID;                   /* probe id                     */
  423.       ULONG         severity;                   /* Severity of probe fired      */
  424.       ULONG         template_record_ID;         /* Log Entry Format Template    */
  425.       PMSGINSDATA   pMsgInsData;                /* Message inserts              */
  426.       ULONG         probe_flags;                /* Flags set by application     */
  427.       PDUMPUSERDATA pDumpUserData;              /* Dump Structures              */
  428.       ULONG         log_user_data_length;       /* length of log user data      */
  429.       PVOID         log_user_data;              /* Data to be placed in errorlog*/
  430.    } FFSTPARMS, * PFFSTPARMS;
  431.  
  432. /********************************************************************************/
  433. /* FFSTSetConfiguration and FFSTQueryConfiguration structures                   */
  434. /********************************************************************************/
  435.  
  436.    typedef struct
  437.    {                                            /* Disabled products structure  */
  438.       void    * DMI_vendor_tag;                 /* ptr to vendor tag information*/
  439.       void    * DMI_tag;                        /* ptr to tag information       */
  440.       void    * DMI_revision;                   /* ptr to revision information  */
  441.    } DISABLEPRODUCT, * PDISABLEPRODUCT;
  442.  
  443.    typedef struct
  444.    {                                            /* Configuration API's structure*/
  445.       ULONG           packet_size;              /* size of the packet           */
  446.       ULONG           packet_revision_number;   /* revision of the packet       */
  447.       ULONG           dump_file_wrap;           /* wrap the dump files flag     */
  448.       ULONG           dump_file_directory_size; /* size to store dumps          */
  449.       ULONG           keep_dup_dump;            /* keep duplicate dumps flag    */
  450.       ULONG           dump_file_directory_name_length; /* length of dumpdir     */
  451.       void          * dump_file_directory_name;        /* ptr to dump dir name  */
  452.       ULONG           no_of_probe_disabled_products;   /* no of products dis    */
  453.       PDISABLEPRODUCT pDisableProduct;          /* ptr to disabled products stuc*/
  454.       ULONG           message_pop_up;           /* OS2 flag for message popup   */
  455.    } CONFIGPARMS, * PCONFIGPARMS;
  456.  
  457.  
  458. /********************************************************************************/
  459. /* FFSTProbe Prototypes                                                         */
  460. /********************************************************************************/
  461. APIRET APIENTRY FFSTProbe ( PPRODUCTINFO pProductInfo
  462.                           , PFFSTPARMS   pFFSTParms );
  463.  
  464. /********************************************************************************/
  465. /* Prototypes for Configuration API's                                           */
  466. /********************************************************************************/
  467. APIRET APIENTRY FFSTSetConfiguration   ( PCONFIGPARMS   pConfigParms );
  468. APIRET APIENTRY FFSTQueryConfiguration ( PULONG         buffer_length
  469.                                        , PCONFIGPARMS   pConfigParms );
  470.  
  471. #endif /* __FFSTH__ */
  472.