⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 define.h

📁  通过smbios 50h,51h,52h等功能调用
💻 H
字号:
#include <extern.h>
#include <errno.h>
#include <fcntl.h>
#include <io.h>
#include <dos.h>
#include <dir.h>
#include <conio.h>
#include <alloc.h>
#include <string.h>
#include <stdlib.h>
#include <bios.h>
#include <stdio.h>
#include <string.h>
#include <sys\stat.h>
#include <process.h>				/* v4.50.27 */

#define DMI_File_Mark	"AWARDDMIPOOL"		/* ;;;;; */
#define DMI_Mark_Len	12			/* ;;;;; DMI_File_Mark string length */
/* v1.08#define DMI_Pool_Size	0x1000 */
#define DMI_Pool_Size	(unsigned)DMIStorageSize	/* v1.08 */
#define AWARD_DMI_Sign	"IMD$"			/* ;;;;; */
#define Function_Max			4

#define Function_Start_X		2
#define Function_Start_Y 		4
#define Function_Screen_Width		18
#define Modify_Screen_Start_X		22
#define Modify_Screen_Start_Y		4
#define Modify_Screen_Width		57

#define DMI_Type_Max			22
/* v1.08 #define DMI_StructureSize_Max		1024*/
#define DMI_StructureSize_Max	(unsigned)DMIStorageSize	/* v1.08 */
#define Get_DMI_Information_Func	0x50
#define Get_DMI_Struct_Func		0x51
#define Set_DMI_Struct_Func		0x52

#define ST_SUCCESS		0
#define ST_UNKNOW_FUNC		0x81
#define ST_FUNC_NOT_SUPPORT	0x82
#define ST_INVALID_HANDLE	0x83
#define ST_BAD_PARA		0x84
#define ST_INVALID_SUBFUNC	0x85
#define ST_NO_CHANGE		0x86
#define ST_ADD_STRUC_FAIL	0x87
#define ST_READ_ONLY		0x8d
#define ST_LOCK_NOT_SUPPORT	0x90
#define ST_CURRENT_LOCK		0x91
#define ST_INVALID_LOCK		0x92


/***** DMI DATA STRUCT DEFINE *****/
#define Update_DMI_KEY				F10_KEY


struct Type_Structure_Header {
	unsigned char Type;		/* dmi struct type */
	unsigned char Length;		/* length of formatted area */
	unsigned Handle;		/* structure's handle */
};

struct DMI_set_struct {
	unsigned char command;		/* structure-setting to be performed */
	unsigned char field_ofs;	/* starting offset of to-be-changed item */
	unsigned long change_mask;	/* ANDing mask for existing struct data */
	unsigned long change_value;	/* ORing mask for existing struct data */
	unsigned data_length;		/* for add command, full length of struct */
	struct Type_Structure_Header Header;
};
/*;;;;;*/
struct Type1_v21_Structure {
	unsigned char UUID[16];				/*;;;;;UUID 16 Byters*/
	unsigned char Wake_up;				/*;;;;;*/
};

struct Type1_Structure {
	struct Type_Structure_Header Header;
	unsigned char Manufacturer;
	unsigned char Product_Name;
	unsigned char Version;
	unsigned char Serial_Number;
	struct Type1_v21_Structure v21;
};


struct Type3_v21_Structure {
	unsigned char Bootup_State;			/*;;;;;*/
	unsigned char Power_Supply_State;	/*;;;;;*/
	unsigned char Thermal_State;			/*;;;;;*/
	unsigned char Security_Status;		/*;;;;;*/
};

struct Type3_Structure {
	struct Type_Structure_Header Header;
	unsigned char Manufacturer;
	unsigned char En_Ch_Type;
	unsigned char Version;
	unsigned char Serial_Number;
	unsigned char Asset_Tag_Number;
	struct Type3_v21_Structure v21;
};

/***********************************/

/*----- DMI Set Structure Commands -----*/
#define DMI_CHANGE_BYTE		0x0 /* Change single byte */
#define DMI_CHANGE_WORD		0x1 /* Change single word */
#define DMI_CHANGE_DWORD	0x2 /* Change single dword */
#define DMI_ADD_STRUCT		0x3 /* Add DMI Structure */
#define DMI_DEL_STRUCT		0x4 /* Del DMI Structure */
#define DMI_CHANGE_STRING       0x5 /* Change string     */

#define Add_Component_func	1
#define Display_Component_func	2
#define Edit_Component_func	3

/* define program complier condition */
#define MINIMUM_MEMORY (unsigned long)80*1024l    /* 80K */
#define LEFT_KEY 0x4b00
#define RIGHT_KEY 0x4d00
#define UP_KEY 0x4800
#define DOWN_KEY 0x5000
#define ENTER 0x1c0d
#define ESC_KEY 0x11b
#define F1_KEY 0x3b00
#define F2_KEY 0x3c00
#define F3_KEY 0x3d00
#define F4_KEY 0x3e00
#define F10_KEY 0x4400
#define PGUP_KEY 0x4900
#define PGDN_KEY 0x5100
#define INS_KEY 0x5200
#define DEL_KEY 0x5300
#define HOME_KEY 0x4700
#define END_KEY 0x4f00
#define BACK_KEY 0xe08
#define TAB_KEY 0xf09
#define S_TAB_KEY 0xf00
#define N_KEY 0x314e
#define n_KEY 0x316e
#define Y_KEY 0x1559
#define y_KEY 0x1579
#define NUMBER_PLUS_KEY 0xd2b
#define NUMBER_MINUS_KEY 0xc2d
#define PLUS_KEY 0x4e2b
#define MINUS_KEY 0x4a2d
#define ALT_I 0x1700
#define ALT_L 0x2600
#define ALT_S 0x1f00
#define CTRL_ENTER 0x1c0a
#define CTRL_BS 0xe7f

/***** BIOS DATA STRUCT DEFINE *****/
struct ffblk1 {
   unsigned char ff_attrib;
   unsigned ff_ftime;
   unsigned ff_fdate;
   unsigned long ff_fsize;
   char ff_name[13];
   };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -