#ifndef _OPTIONS_ #define _OPTIONS_ #include "index.h" #define TAPE_OPTION 0 #define TAPE_OPTIONS "TAPE" #define SCSI_OPTIONS "SCSI" #define SCSI_OPTION 1 #define NET_OPTIONS "NETADAPTER" #define NET_OPTION 2 #define ERR_OPTION 3 //---- Defines bounds for array of options found in all inf's #define MAX_OPTION_COUNT 50 #define UNKNOW_OPTIONLIST_INDEX ((int)-1) //---- Maximume length of any inf string we extract. //---- Structure to hold all info for per option typedef struct OptionListT { PCHAR Option; //---- Option name PCHAR OptionName; //---- Option string PCHAR InfFile; //---- Points to inf file. } * POPTIONLIST,OPTIONLIST; #define SetToNextOption(p) while( *(p++)); // //---- Inf info // typedef struct InfInfoT { PCHAR Path; PCHAR SourcePath; PCHAR OptionType; HANDLE hInf; POPTIONLIST OptionList; int OptionListIndex; DWORD Lang; BOOL StartOnInstall; PCHAR OptionBuff; DWORD Operation; int OptionIndex; IndexSets isInstalledOptionIndexes; int TypeIcon; int TypeString; } * PINF_INFO, INF_INFO; typedef struct ExtractNetOptionInfoT { PCHAR OptionType; PCHAR Option; POPTIONLIST OptionList; PCHAR InfFile; } * PEXTRACT_NET_OPTION_INFO,EXTRACT_NET_OPTION_INFO; BOOL ExtractOptionStrings( PCHAR OptionType, BOOL InBld, PCHAR Option, POPTIONLIST OptionList, int * OptionListIndex, PSTATUS_INFO StatusInfo, HWND hDlg, PCHAR InfFile); BOOL ExtractOptionStrings( DWORD OptionType, BOOL InBld, PCHAR Option, POPTIONLIST OptionList, int * OptionListIndex, PSTATUS_INFO StatusInfo, HWND hDlg, PCHAR InfFile); BOOL ExtractOptionStringsFromAllInf( PCHAR OptionType, POPTIONLIST OptionList); DWORD ExtractNetOptionStringsFunc( PEXTRACT_NET_OPTION_INFO Info); BOOL ExtractNetOptionStrings( PCHAR OptionType, PCHAR Option , POPTIONLIST OptionList); BOOL ExtractNetOptionStrings( PCHAR OptionType, PCHAR Option , POPTIONLIST OptionList, PCHAR InfFile); BOOL ExtractDrvLibNetOptionStrings( PCHAR OptionType, PCHAR Option , POPTIONLIST OptionList, PCHAR InfFile); BOOL ExtractOptionStringsFromInfHandle( PINF_INFO InfInfo); PCHAR GetAllOptionsTextFromInfHandle( PINF_INFO InfInfo); BOOL InitOptionList( PCHAR pcInfOptions, POPTIONLIST OptionList); VOID InitOptionListWithAllOptions( PCHAR pcInfOptions, POPTIONLIST OptionList); int GetIndexForOptionString( POPTIONLIST OptionList, PCHAR SearchString); BOOL IsPlatformSupported( HANDLE hInf, PCHAR PlatFormString); VOID FreeOptionList( POPTIONLIST OptionList); int StrCpy( char * Dest, char * Source); DWORD DWORDOptionType( DWORD OptionType); int SeekOptionListOnOption( POPTIONLIST OptionList, PCHAR SearchString); int SeekOptionListOnOptionText( POPTIONLIST OptionList, PCHAR SearchString); #endif