1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750 |
- /****************************************************************
- ****************************************************************
- ** **
- ** (C)Copyright 2005-2006, American Megatrends Inc. **
- ** **
- ** All Rights Reserved. **
- ** **
- ** 6145-F, Northbelt Parkway, Norcross, **
- ** **
- ** Georgia - 30071, USA. Phone-(770)-246-8600. **
- ** **
- ****************************************************************
- ****************************************************************
- ****************************************************************
- *
- * IPMI_AMI.h
- * AMI specific IPMI Commands
- *
- * Author: Basavaraj Astekar <basavaraja@ami.com>
- *
- *****************************************************************/
- #ifndef IPMI_AMI_DEVICE_H_
- #define IPMI_AMI_DEVICE_H_
- #include "Types.h"
- //#include "coreTypes.h"
- //#include "fmhinfo.h"
- //#include "IPMI_SDRRecord.h"
- #include "IPMI_AMI.h"
- //#include "tftp.h"
- #include "IPMI_AMILicense.h"
- #ifndef MSDOS
- #include "flashlib.h"
- #endif
- #define MAX_SIZE_KEY 56 /* For Blowfish Encryption Algorithm, the key can have maximum of 56 bytes. */
- //Maximum Size of Public Key
- #define MAX_PERMITTED_KEY_SIZE (8*1024)
- #define MAX_LINUX_ROOT_USER_PASSWORD_LEN 64
- #define MAX_SOL_PORT_STR_LEN 16
- #define MTD_DEV_NAME_LEN 31
- /*Number of PAM module are going to re-ordered*/
- #define MODULES_TO_MODIFIED 4
- #define MAX_BOOTVAR_LENGTH 400
- #define MAX_BOOTVAL_LENGTH 400
- #define MAX_FMHLENGTH 1024
- #define CRITICAL 0x1
- #define NON_CRITICAL 0x2
- #define NON_RECOVERABLE 0x3
- #define FAN_TROUBLED 0x4
- #define BMC_WDT_EXPIRE 0x5
- #define SYS_DC_ON 0x6
- #define SYS_DC_OFF 0x7
- #define SYS_RESET 0x8
- #define SPEC_DATE_TIME 0x9
- #define LPC_RESET_FLAG 0xa
- /*Macros used for Dual Image Support*/
- #define SETFWBOOTSELECTOR 0x1
- #define GETFWBOOTSELECTOR 0x2
- #define SETFWUPLOADSELECTOR 0x3
- #define GETFWUPLOADSELECTOR 0x4
- #define SETREBOOTSTATUS 0x5
- #define GETREBOOTSTATUS 0x6
- #define GETCURACTIVEIMG 0x7
- #define GETDUALIMGFWINFO 0x8
- #define TIME_ZONE_PATH "/usr/share/zoneinfo/"
- #define LINK_CMD "ln -sf"
- #define LOCALTIME "/conf/localtime"
- #define MAX_MINS 60
- #define ZONE_PATH_SIZE 128
- /**Macro Used For AMISetVirtualDevice*/
- #define VIRTUAL_DEVICE_ENABLE 0x1
- #define VIRTUAL_DEVICE_DISABLE 0x0
- /*
- * User roles( for command auth. purposes). Currently used by AMISetLEDmode.
- */
- typedef enum {
- REGULAR,
- ADMIN,
- POLICY
- } user_role_t;
- /*
- * LEDs
- */
- typedef enum {
- OK2RM = 0,
- SERVICE = 1,
- ACT = 2,
- LOCATE = 3
- } LEDtype_t;
- /*
- * LED modes
- */
- typedef enum {
- LED_OFF = 0,
- LED_ON = 1,
- LED_STANDBY_BLINK = 2,
- LED_SLOW_BLINK = 3,
- LED_FAST_BLINK = 4
- } LEDmode_t;
- /* Define your IPMI request and response structures here */
- #pragma pack(1)
- /**
- * @struct AMICommandReq_T
- * @brief AMI command request structure
- **/
- typedef struct
- {
- /* define your structures here */
- INT8U dummy;
- } PACKED AMITestCmdReq_T;
- /**
- * @struct AMICommandRes_T
- * @brief AMI command response structure
- **/
- typedef struct
- {
- /* define your structures here */
- INT8U dummy;
- } PACKED AMITestCmdRes_T;
- //#define MAX_IPMI_UPLOAD_BLOCK ( 64 * 1024 )
- #define MAX_IPMI_UPLOAD_BLOCK ( 100 )
- /**
- * @struct AMISetSSHKeyReq_T
- * @brief AMI Set SSH Key command request structure
- **/
- typedef struct
- {
- /* UserID of the user whose ssh key we're uploading */
- INT8U UserID;
- /* Zero-indexed block number for upload. Set to 0xff for the last */
- /* block. */
- INT8U KeyDataBlockNumber;
- /* Amount of data in this block. Should be max block size for all */
- /* but the last block when the total key size is not a multiple of */
- /* the maximum block size. */
- INT8U DataLen;
- INT8U Data[ MAX_IPMI_UPLOAD_BLOCK ];
- } PACKED AMISetSSHKeyReq_T;
- /**
- * @struct AMISetSSHKeyRes_T
- * @brief AMI Set SSH Key command response structure
- **/
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetSSHKeyRes_T;
- /**
- * @struct AMIDelSSHKeyReq_T
- * @brief AMI Delete SSH Key command request structure
- **/
- typedef struct
- {
- /* UserID of the user whose ssh key we're deleting */
- INT8U UserID;
- } PACKED AMIDelSSHKeyReq_T;
- /**
- * @struct AMIDelSSHKeyRes_T
- * @brief AMI Delete SSH Key command response structure
- **/
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMIDelSSHKeyRes_T;
- /**
- * @struct AMIUpgradeBlockReq_T
- * @brief AMI Upgrade Block command request structure
- **/
- typedef struct
- {
- /* Block information */
- BI_t blkInfo;
- } PACKED AMIUpgradeBlockReq_T;
- /**
- * @struct AMIUpgradeBlockRes_T
- * @brief AMI Upgrade Block command response structure
- **/
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMIUpgradeBlockRes_T;
- /* Init Flash */
- typedef struct
- {
- FLASH_PARAMS params;
- } PACKED AMIInitFlashReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- FLASH_PARAMS params;
- } PACKED AMIInitFlashRes_T;
- /* Exit Flash */
- typedef struct
- {
- FLASH_PARAMS params;
- } PACKED AMIExitFlashReq_T;
- /* Exit Flash */
- typedef struct
- {
- FLASH_PARAMS params;
- } PACKED AMIStartFirmwareUpdateReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMIExitFlashRes_T;
- /* Get Flash Layout */
- typedef struct
- {
- FLASH_LAYOUT FlashLayout;
- } PACKED AMIGetFlashLayoutReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- FLASH_LAYOUT FlashLayout;
- } PACKED AMIGetFlashLayoutRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMIResetCardRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMIUpdateUbootRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetFirmwareUpdateModeRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMIStartFirmwareUpdateRes_T;
- typedef struct
- {
- FLASH_PARAMS params;
- } PACKED AMIGetFirmwareUpdateStatusReq_T;
- typedef struct
- {
- INT8U EraseInProgress;
- INT8U CurrentSectorErased;
- INT8U TotalSectorstobeErased;
- INT8U WriteInProgress;
- INT8U CurrentSectorWritten;
- INT8U TotalSectorstobeWritten;
- INT8U EraseWriteCompleted;
-
- } PACKED AMIFlashStatus_T;
- typedef struct
- {
- INT8U CompletionCode;
- STRUCTURED_FLASH_PROGRESS flprog;
- } PACKED AMIGetFirmwareUpdateStatusRes_T;
- typedef struct
- {
- int TimeOut;
- int FlashProcessStarted;
- } PACKED FlashTimerInfo_T;
- typedef struct
- {
- INT8U FanSpeed; /* Fan speed in percentage */
- } PACKED AMISetFanSpeedReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetFanSpeedRes_T;
- /**
- * @struct AMIGetLEDmodeReq_T
- * @brief AMI Get LED Mode command request structure
- **/
- typedef struct
- {
- INT8U devAddr; /* value from the "Device Slave Address" field in, */
- /* LED's Generic Device Locator record, in the SDR */
- INT8U led;
- INT8U ctrlrAddr; /* Its controller's address; value from the */
- /* "Device Access Address" field. Zero if the LED is */
- /* local. */
- INT8U hwInfo; /* the OEMField from the SDR record */
- INT8U force; /* TRUE - directly access the device, FALSE - go */
- /* thru its controller. Ignored if LED is local. */
- } PACKED AMIGetLEDmodeReq_T;
- /**
- * @struct AMIGetLEDmodeRes_T
- * @brief AMI Get LED Mode command response structure
- **/
- typedef struct
- {
- INT8U CompletionCode;
- INT8U mode;
- } PACKED AMIGetLEDmodeRes_T;
- /**
- * @struct AMISetLEDmodeReq_T
- * @brief AMI Set LED Mode command request structure
- **/
- typedef struct
- {
- INT8U devAddr; /* value from the "Device Slave Address" field in, */
- /* LED's Generic Device Locator record, in the SDR */
- INT8U led;
- INT8U ctrlrAddr; /* Its controller's address; value from the */
- /* "Device Access Address" field. Zero if the LED is */
- /* local. */
- INT8U hwInfo; /* the OEMField from the SDR record */
- INT8U mode;
- INT8U force; /* TRUE: directly access the device. FALSE: go thru */
- /* its controller. Ignored if LED is local. */
- INT8U role; /* This is used by BMC, for authorization purposes */
- } PACKED AMISetLEDmodeReq_T;
- /**
- * @struct AMISetLEDmodeRes_T
- * @brief AMI Set LED Mode command response structure
- **/
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetLEDmodeRes_T;
- #define FRUDATA_MAX_SIZE 0x80 /* 128 bytes */
- #define FRUDATA_TYPE_DIMM 0x00
- #define FRUDATA_TYPE_CPU 0x01
- #define FRUDATA_TYPE_BIOS 0x02
- /**
- * @struct FRUData_DIMM_T
- * @brief FRU Data for DIMM SPD information sent from BIOS in two blocks
- **/
- typedef struct
- {
- INT8U SPDData[128]; /* 128 bytes */
- } PACKED FRUData_DIMM_T; /* 128 bytes total */
- /**
- * @struct FRUData_CPU_T
- * @brief FRU Data for Processor information sent from BIOS
- **/
- typedef struct
- {
- uint32 ThermTrip;
- uint32 cpuid1_eax;
- uint32 cpuid_product_name[12];
- } PACKED FRUData_CPU_T; /* 56 bytes total */
- /**
- * @struct FRUData_BIOS_T
- * @brief FRU Data for BIOS information sent from BIOS
- **/
- typedef struct
- {
- INT8U PartNumber[16]; /* 16 bytes */
- INT8U PartVersion[16]; /* 16 bytes */
- } PACKED FRUData_BIOS_T; /* 32 bytes total */
- /**
- * @struct AMITransferFRUDataReq_T
- * @brief OEM request for transferring FRU data from BIOS
- */
- typedef struct
- {
- INT8U Type; /* identifier for this FRU data */
- INT8U Number; /* identifier for different datas of same type */
- INT8U DataLen; /* length of data block */
- INT8U Data[FRUDATA_MAX_SIZE]; /* data of data */
- } PACKED AMITransferFRUDataReq_T;
- /**
- * @struct AMITransferFRUDataRes_T
- * @brief OEM response for transferring FRU data from BIOS
- */
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMITransferFRUDataRes_T;
- /**
- * @struct YafuHeader
- * @brief Flash info structure
- */
- typedef struct
- {
- uint32 Seqnum;
- INT16U YafuCmd;
- INT16U Datalen;
- uint32 CRC32chksum;
- } PACKED YafuHeader;
-
- /**
- * @struct AMIYAFUNotAck
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader NotAck;
- INT16U ErrorCode;
- }PACKED AMIYAFUNotAck;
- /**
- * @struct ALT_FMH
- * @brief Flash info structure
- */
- typedef struct
- {
- INT16U EndSignature;
- INT8U HeaderChkSum;
- INT8U Reserved;
- uint32 LinkAddress;
- INT8U Signature[8];
- } PACKED ALT_FMHead;
- /**
- * @struct FMH
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U FmhSignature[8];
- union
- {
- INT16U FwVersion;
- INT8U FwMinorVer;
- INT8U FwMajorVer;
- } PACKED Fmh_Version;
- INT16U FmhSize;
- uint32 AllocatedSize;
- uint32 FmhLocation;
- INT8U FmhReserved[3];
- INT8U HeaderChecksum;
- INT8U ModuleName[8];
- union
- {
- INT16U ModVersion;
- INT8U ModMinorVer;
- INT8U ModMajorVer;
- }PACKED Module_Version;
- INT16U ModuleType;
- uint32 ModuleLocation;
- uint32 ModuleSize;
- INT16U ModuleFlags;
- uint32 ModuleLoadAddress;
- uint32 ModuleChecksum;
- INT8U ModuleAuxVer[2];
- INT8U ModuleReserved[6];
- INT16U EndSignature;
- }PACKED FlashMH;
- /**
- * @struct AMIYAFUGetFlashInfoReq_T
- * @brief Flash info structure
- */
-
- typedef struct
- {
- YafuHeader FlashInfoReq;
- } PACKED AMIYAFUGetFlashInfoReq_T;
- typedef struct
- {
- uint32 FlashSize;
- uint32 FlashAddress;
- uint32 FlashEraseBlkSize;
- INT16U FlashProductID;
- INT8U FlashWidth;
- INT8U FMHCompliance;
- INT16U Reserved;
- INT16U NoEraseBlks;
-
- }PACKED FlashDetails;
- /**
- * @struct AMIYAFUGetFlashInfoRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader FlashInfoRes;
- FlashDetails FlashInfo;
- } PACKED AMIYAFUGetFlashInfoRes_T;
- /**
- * @struct AMIYAFUGetFirmwareInfoReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader FirmwareinfoReq;
- } PACKED AMIYAFUGetFirmwareInfoReq_T;
- /**
- * @struct FirmInfo
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U FirmMajVersion;
- INT8U FirmMinVersion;
- INT16U FirmAuxVersion;
- uint32 FirmBuildNum;
- uint32 Reserved;
- INT8U FirmwareName[8];
- uint32 FirmwareSize;
- uint32 ProductID;
-
- } PACKED FirmInfo;
- /**
- * @struct AMIYAFUGetFirmwareInfoRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader FirmwareinfoRes;
- FirmInfo FirmwareInfo;
- } PACKED AMIYAFUGetFirmwareInfoRes_T;
- /**
- * @struct AMIYAFUGetFMHInfoRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader FMHReq;
- } PACKED AMIYAFUGetFMHInfoReq_T;
- /**
- * @struct AMIYAFUGetFMHInfoRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader FMHRes;
- INT16U Reserved;
- INT16U NumFMH;
-
- } PACKED AMIYAFUGetFMHInfoRes_T;
- /**
- * @struct AMIYAFUGetStatusReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader GetStatusReq;
- } PACKED AMIYAFUGetStatusReq_T;
- /**
- * @struct AMIYAFUGetStatusRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader GetStatusRes;
- INT16U LastStatusCode;
- INT16U YAFUState;
- INT16U Mode;
- INT16U Reserved;
- INT8U Message[65];
-
- } PACKED AMIYAFUGetStatusRes_T;
- /**
- * @struct AMIYAFUActivateFlashModeReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader ActivateflashReq;
- INT16U Mode;
- } PACKED AMIYAFUActivateFlashModeReq_T;
- /**
- * @struct AMIYAFUGetStatusRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader ActivateflashRes;
- INT8U Delay;
-
- }PACKED AMIYAFUActivateFlashModeRes_T;
- /**
- *@struct AMIYAFUDualImgSupReq_T
- *@brief Dual Image Support Structure
- **/
- typedef struct
- {
- YafuHeader DualImgSupReq;
- INT8U PreserveConf;
- INT8U Reserved1;
- INT8U Reserved2;
- INT8U Reserved3;
- }PACKED AMIYAFUDualImgSupReq_T;
- /**
- *@struct AMIYAFUDualImgSupRes_T
- *@brief Dual Image Support Structure
- **/
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader DualImgSupRes;
- }PACKED AMIYAFUDualImgSupRes_T;
- typedef struct
- {
- YafuHeader fwselectflashReq;
- INT8U fwselect;
- } PACKED AMIYAFUFWSelectFlashModeReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader fwselectflashRes;
- }PACKED AMIYAFUFWSelectFlashModeRes_T;
- /**
- * @struct AMIYAFUAllocateMemoryReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader AllocmemReq;
- uint32 Sizeofmemtoalloc;
- } PACKED AMIYAFUAllocateMemoryReq_T;
- /**
- * @struct AMIYAFUAllocateMemoryRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader AllocmemRes;
- uint32 Addofallocmem;
- }PACKED AMIYAFUAllocateMemoryRes_T;
- /**
- * @struct AMIYAFUFreeMemoryReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader FreememReq;
- uint32 AddrtobeFreed;
- } PACKED AMIYAFUFreeMemoryReq_T;
- /**
- * @struct AMIYAFUFreeMemoryRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader FreememRes;
- INT8U Status;
- }PACKED AMIYAFUFreeMemoryRes_T;
- /**
- * @struct AMIYAFUReadFlashReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader ReadFlashReq;
- uint32 offsettoread;
- INT8U Readwidth;
- uint32 Sizetoread;
- } PACKED AMIYAFUReadFlashReq_T;
- /**
- * @struct AMIYAFUReadFlashRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader ReadFlashRes;
- //INT8U FlashContent[0x4000];
-
- }PACKED AMIYAFUReadFlashRes_T;
- /**
- * @struct AMIYAFUWriteFlashReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader WriteFlashReq;
- uint32 offsettowrite;
- INT8U Writewidth;
- //INT8U Buffer[0x4000];
-
- } PACKED AMIYAFUWriteFlashReq_T;
- /**
- * @struct AMIYAFUWriteFlashRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader WriteFlashRes;
- INT16U SizeWritten;
- }PACKED AMIYAFUWriteFlashRes_T;
- /**
- * @struct AMIYAFUErashFlashReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader EraseFlashReq;
- uint32 Blknumtoerase;
-
- } PACKED AMIYAFUErashFlashReq_T;
- /**
- * @struct AMIYAFUErashFlashRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader EraseFlashRes;
- INT8U Status;
- }PACKED AMIYAFUErashFlashRes_T;
- /**
- * @struct AMIYAFUProtectFlashReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader ProtectFlashReq;
- uint32 Blknum;
- INT8U Protect;
-
- } PACKED AMIYAFUProtectFlashReq_T;
- /**
- * @struct AMIYAFUProtectFlashRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader ProtectFlashRes;
- INT8U Status;
- }PACKED AMIYAFUProtectFlashRes_T;
- /**
- * @struct AMIYAFUEraseCopyFlashReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader EraseCpyFlashReq;
- uint32 Memoffset;
- uint32 Flashoffset;
- uint32 Sizetocopy;
-
- } PACKED AMIYAFUEraseCopyFlashReq_T;
- /**
- * @struct AMIYAFUEraseCopyFlashRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader EraseCpyFlashRes;
- uint32 Sizecopied;
- }PACKED AMIYAFUEraseCopyFlashRes_T;
- /**
- * @struct AMIYAFUGetECFStatusReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader GetECFStatusReq;
-
- } PACKED AMIYAFUGetECFStatusReq_T;
- /**
- * @struct AMIYAFUGetECFStatusRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader GetECFStatusRes;
- uint32 Status;
- INT16U Progress;
- }PACKED AMIYAFUGetECFStatusRes_T;
- /**
- * @struct AMIYAFUVerifyFlashReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader VerifyFlashReq;
- uint32 Memoffset;
- uint32 Flashoffset;
- uint32 Sizetoverify;
-
- } PACKED AMIYAFUVerifyFlashReq_T;
- /**
- * @struct AMIYAFUVerifyFlashRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader VerifyFlashRes;
- uint32 Offset;
- }PACKED AMIYAFUVerifyFlashRes_T;
- /**
- * @struct AMIYAFUGetVerifyStatusReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader GetVerifyStatusReq;
-
- } PACKED AMIYAFUGetVerifyStatusReq_T;
- /**
- * @struct AMIYAFUGetVerifyStatusRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader GetVerifyStatusRes;
- uint32 Status;
- uint32 Offset;
- INT16U Progress;
- }PACKED AMIYAFUGetVerifyStatusRes_T;
- /**
- * @struct AMIYAFUReadMemoryReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader ReadMemReq;
- uint32 Memoffset;
- INT8U ReadWidth;
- INT16U Sizetoread;
-
- } PACKED AMIYAFUReadMemoryReq_T;
- /**
- * @struct AMIYAFUReadMemoryRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader ReadMemRes;
-
- }PACKED AMIYAFUReadMemoryRes_T;
- /**
- * @struct AMIYAFUWriteMemoryReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader WriteMemReq;
- uint32 Memoffset;
- INT8U WriteWidth;
-
- } PACKED AMIYAFUWriteMemoryReq_T;
- /**
- * @struct AMIYAFUWriteMemoryRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader WriteMemRes;
- INT16U SizeWritten;
-
- }PACKED AMIYAFUWriteMemoryRes_T;
- /**
- * @struct AMIYAFUCopyMemoryReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader CopyMemReq;
- uint32 MemoffsetSrc;
- uint32 MemoffsetDest;
- uint32 Sizetocopy;
-
- } PACKED AMIYAFUCopyMemoryReq_T;
- /**
- * @struct AMIYAFUCopyMemoryRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader CopyMemRes;
- uint32 Sizecopied;
-
- }PACKED AMIYAFUCopyMemoryRes_T;
- /**
- * @struct AMIYAFUCompareMemoryReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader CmpMemReq;
- uint32 Memoffset1;
- uint32 Memoffset2;
- uint32 SizetoCmp;
-
- } PACKED AMIYAFUCompareMemoryReq_T;
- /**
- * @struct AMIYAFUCompareMemoryRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader CmpMemRes;
- uint32 Offset;
-
- }PACKED AMIYAFUCompareMemoryRes_T;
- /**
- * @struct AMIYAFUClearMemoryReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader ClearMemReq;
- uint32 MemofftoClear;
- uint32 SizetoClear;
-
- } PACKED AMIYAFUClearMemoryReq_T;
- /**
- * @struct AMIYAFUClearMemoryRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader ClearMemRes;
- uint32 SizeCleared;
-
- }PACKED AMIYAFUClearMemoryRes_T;
- /**
- * @struct AMIYAFUGetBootConfigReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader GetBootReq;
- INT8U VarName[65];
-
- } PACKED AMIYAFUGetBootConfigReq_T;
- /**
- * @struct AMIYAFUGetBootConfigRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader GetBootRes;
- INT8U Status;
-
- }PACKED AMIYAFUGetBootConfigRes_T;
- /**
- * @struct AMIYAFUSetBootConfigReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader SetBootReq;
- INT8U VarName[65];
-
- } PACKED AMIYAFUSetBootConfigReq_T;
- /**
- * @struct AMIYAFUSetBootConfigRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader SetBootRes;
- INT8U Status;
-
- }PACKED AMIYAFUSetBootConfigRes_T;
- /**
- * @struct AMIYAFUGetBootVarsReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader GetBootReq;
-
- } PACKED AMIYAFUGetBootVarsReq_T;
- /**
- * @struct AMIYAFUGetBootVarsRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader GetBootRes;
- INT8U VarCount;
-
- }PACKED AMIYAFUGetBootVarsRes_T;
- /**
- * @struct AMIYAFUDeactivateFlashReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader DeactivateFlashReq;
-
- } PACKED AMIYAFUDeactivateFlashReq_T;
- /**
- * @struct AMIYAFUDeactivateFlashRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader DeactivateFlashRes;
- INT8U Status;
-
- }PACKED AMIYAFUDeactivateFlashRes_T;
- /**
- * @struct AMIYAFUResetDeviceReq_T
- * @brief Flash info structure
- */
- typedef struct
- {
- YafuHeader ResetReq;
- INT16U WaitSec;
-
- } PACKED AMIYAFUResetDeviceReq_T;
- typedef struct
- {
- INT8U MajVer;
- INT8U MinVer;
- }PACKED FwVersion;
- typedef union
- {
- INT8U SetBootSelector;
- INT8U GetBootSelector;
- INT8U SetUploadSelector;
- INT8U GetUploadSelector;
- INT8U SetRebootStatus;
- INT8U GetRebootStatus;
- INT8U GetCurActiveImg;
- FwVersion GetFwVersion;
- }DualImageOpt_T;
- typedef struct
- {
- INT8U Parameter;
- INT8U BootSelector;
- }PACKED AMIDualImageSupReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- DualImageOpt_T BootSelOpt;
- }PACKED AMIDualImageSupRes_T;
- /**
- * @struct AMIYAFUResetDeviceRes_T
- * @brief Flash info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- YafuHeader ResetRes;
- INT8U Status;
-
- }PACKED AMIYAFUResetDeviceRes_T;
- /**
- * @struct AMIGetFruDetailReq_T
- * @brief FRU request info structure
- */
- typedef struct
- {
- INT8U FruReq;
- }PACKED AMIGetFruDetailReq_T;
- /**
- * @struct AMIGetFruDetailRes_T
- * @brief FRU response info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U TotalFru;
- INT8U DeviceNo;
- INT8U FRUName[MAX_ID_STR_LEN];
- }PACKED AMIGetFruDetailRes_T;
- /**
- * @struct AMIGetRootUserAccessRes_T
- * @brief Get Linux Root user access response info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U CurrentUserIDState;
- } PACKED AMIGetRootUserAccessRes_T;
- /**
- * @struct AMISetRootPasswordReq_T
- * @brief Set Root user password request info structure
- */
- typedef struct
- {
- INT8U Operation;
- INT8U Password[MAX_LINUX_ROOT_USER_PASSWORD_LEN + 1];
- }PACKED AMISetRootPasswordReq_T;
- /**
- * @struct AMISetRootPasswordRes_T
- * @brief set Root user password response info structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetRootPasswordRes_T;
- /**
- * @struct AMIGetUserShelltypeReq_T
- * @brief get user shelltype structure
- */
- typedef struct
- {
- INT8U UserID;
- }PACKED AMIGetUserShelltypeReq_T;
- /**
- * @struct AMIGetUserShelltypeRes_T
- * @brief get user shelltype structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U Shelltype;
- }PACKED AMIGetUserShelltypeRes_T;
- /**
- * @struct AMISetUserShelltypeReq_T
- * @brief set user shelltype structure
- */
- typedef struct
- {
- INT8U UserID;
- INT8U Shelltype;
- }PACKED AMISetUserShelltypeReq_T;
- /**
- * @struct AMISetUserShelltypeRes_T
- * @brief set user shelltype structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetUserShelltypeRes_T;
- /**
- * @struct AMITriggerEventDataUn_T
- * @brief Trigger Event Data Structure
- */
- typedef union
- {
- INT32U Time;
- }PACKED AMITriggerEventDataUn_T;
- /**
- * @struct AMISetTriggerEventReq_T
- * @brief Set Trigger Event Request Structure
- */
- typedef struct
- {
- INT8U TriggerParam;
- INT8U EnableDisableFlag;
- AMITriggerEventDataUn_T TriggerData;
- }PACKED AMISetTriggerEventReq_T;
- /**
- * @struct AMISetTriggerEventRes_T
- * @brief Set Trigger Event Response Structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetTriggerEventRes_T;
- /**
- * @struct AMIGetTriggerEventReq_T
- * @brief Get Trigger Event Request Structure
- */
- typedef struct
- {
- INT8U TriggerParam;
- }PACKED AMIGetTriggerEventReq_T;
- /**
- * @struct AMIGetTriggerEvent_T
- * @brief Get Trigger Event Structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U EnableDisableFlag;
- }PACKED AMIGetTriggerEvent_T;
- /**
- * @struct AMIGetTriggerEventRes_T
- * @brief Get Trigger Event Response Structure
- */
- typedef struct
- {
- AMIGetTriggerEvent_T AMIGetTriggerEvent;
- AMITriggerEventDataUn_T TriggerData;
- }PACKED AMIGetTriggerEventRes_T;
- /**
- * @struct AMIGetLoginAuditCfgRes_T
- * @brief Get login Audit configuration response structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U WebLogAuditCfg;
- INT8U IPMILogAuditCfg;
- INT8U TelnetLogAuditCfg;
- INT8U SSHLogAuditCfg;
- INT8U KVMLogAuditCfg;
- }PACKED AMIGetLoginAuditCfgRes_T;
- /**
- * @struct AMISetLoginAuditCfgReq_T
- * @brief Set login Audit configuration request structure
- */
- typedef struct
- {
- INT8U WebLogAuditCfg;
- INT8U IPMILogAuditCfg;
- INT8U TelnetLogAuditCfg;
- INT8U SSHLogAuditCfg;
- INT8U KVMLogAuditCfg;
- }PACKED AMISetLoginAuditCfgReq_T;
- /**
- * @struct AMISetLoginAuditCfgRes_T
- * @brief Set login Audit configuration response structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetLoginAuditCfgRes_T;
- /**
- * @struct AMIGetIPv6AddrRes_T
- * @brief Get IPv6 address request structure.
- */
- typedef struct
- {
- INT8U ChannelNum;
- INT8U Index;
- INT8U IPCnt;
- }AMIGetIPv6AddrReq_T;
- /**
- * @struct AMIGetIPv6AddrRes_T
- * @brief Get IPV6 address response structure.
- */
- typedef struct
- {
- INT8U CompletionCode;
- unsigned char GlobalIPAddr[8][16]; //anyCast Globel address //UniCast Globel address
- unsigned char GlobalPrefix[8];
- }AMIGetIPv6AddrRes_T;
- typedef struct
- {
- unsigned char GlobalIPAddr[16][16]; //anyCast Globel address //UniCast Globel address
- unsigned char GlobalPrefix[16];
- }GetIPv6AddrRes_T;
- /**
- * @struct AMIGetSOLConfRes_T
- * @brief Get SOL Conf Response Structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U SolSessionTimeout;
- char SolIfcPort[MAX_SOL_PORT_STR_LEN];
- }PACKED AMIGetSOLConfRes_T;
- /**
- * @struct AMISetPamReq_T
- * @brief Set PAM Order request structure
- */
- typedef struct
- {
- INT8U Sqnce[MODULES_TO_MODIFIED];
- }AMISetPamReq_T;
- /**
- * @struct AMISetPamRes_T
- * @brief Set PAM Order Response Structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- }AMISetPamRes_T;
- /**
- * @struct AMIGetPamRes_T
- * @brief Get PAM Order Response Structure
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U Seqnce[MODULES_TO_MODIFIED];
- }AMIGetPamRes_T;
- /**
- * @struct AMIYAFUSearchFlashInfoReq_T
- * @brief Flash info structure based on node
- **/
- typedef struct
- {
- INT8U SPIDevice;
- } PACKED AMIYAFUSwitchFlashDeviceReq_T;
- /**
- * @struct AMIYAFUSearchFlashInfoRes_T
- * @brief Flash info structure based on node
- **/
- typedef struct
- {
- INT8U CompletionCode;
- char MTDName[MTD_DEV_NAME_LEN];
- FlashDetails FlashInfo;
- } PACKED AMIYAFUSwitchFlashDeviceRes_T;
- /**
- * @struct AMIConfigTFTP_T
- * @brief
- */
- typedef struct
- {
- INT8U Host[200];
- INT8U RemoteFilePath[200];
- INT8U Retry; //
- }PACKED AMIConfigTFTP_T;
- /**
- * @struct AMIConfigFWUpdateSelect_T
- * @brief
- */
- typedef struct
- {
- INT8U FWSelect;
- }PACKED AMIConfigFWUpdateSelect_T;
- /**
- * @struct AMIStartFwUpdateReq_T
- * @brief
- */
- typedef struct
- {
- INT8U PreserveCfg;
- INT8U ResetBMC;
- }PACKED AMIStartFwUpdateReq_T;
- /**
- * @struct AMIStartFwUpdateRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMIStartFwUpdateRes_T;
- /**
- * @struct AMIGetTftpProgressStatusRes_T
- * @brief TFTP Flash Progress Status Info
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U Progress;
- INT8U Overall;
- }PACKED AMIGetTftpProgressStatusRes_T;
- /**
- * @struct AMISetFWCfgReq_T
- * @brief
- */
- typedef struct
- {
- INT8U Parameter;
- INT8U Data[200];
- }PACKED AMISetFWCfgReq_T;
- /**
- * @struct AMISetFWCfgRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetFWCfgRes_T;
- /**
- * @struct AMIGetFWCfgReq_T
- * @brief
- */
- typedef struct
- {
- INT8U Parameter;
- }PACKED AMIGetFWCfgReq_T;
- /**
- * @struct AMIGetFWCfgRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U Data[200];
- }PACKED AMIGetFWCfgRes_T;
- /**
- * @struct AMISetFWProtocolReq_T
- * @brief
- */
- typedef struct
- {
- INT8U ProtocolType;
- }PACKED AMISetFWProtocolReq_T;
- /**
- * @struct AMISetFWProtocolRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetFWProtocolRes_T;
- /**
- * @struct AMIGetFWProtocolRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U ProtocolType;
- }PACKED AMIGetFWProtocolRes_T;
- /**
- * @struct AMISetPwdEncKeyReq_T
- * @brief
- */
- typedef struct
- {
- INT8U PwdEncryptKey[MAX_SIZE_KEY];
- } PACKED AMISetPwdEncKeyReq_T;
- /**
- * @struct AMISetPwdEncKeyRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetPwdEncKeyRes_T;
- /**
- * @struct AMISetUBootMemtestReq_T
- * @brief
- */
- typedef struct
- {
- INT8U EnableMemoryTest;
- } PACKED AMISetUBootMemtestReq_T;
- /**
- * @struct AMISetUBootMemtestRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- } PACKED AMISetUBootMemtestRes_T;
- /**
- * @struct AMIGetUBootMemtestStatusRes_T
- * @brief
- */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U MemtestStatus;
- INT8U IsMemtestEnable;
- } PACKED AMIGetUBootMemtestStatusRes_T;
- /*Structure is used to set the time zone */
- typedef struct
- {
- INT8U ZoneName [TIME_ZONE_LEN];
- }PACKED AMISetTimeZone_T;
- /*Structure is used to get the time zone */
- typedef struct
- {
- INT8U CompletionCode;
- INT8U ZoneName [TIME_ZONE_LEN];
- }PACKED AMIGetTimeZone_T;
- /*MACROS and structures for get/set NTP server configs*/
- #define MAX_SERVER_LEN 128
- #define MAX_STATUS_LEN 8
- #define PARAM_SERVER_PRIM 1
- #define PARAM_SERVER_SEC 2
- #define PARAM_STATUS 3
- #define AUTO 0x1
- #define MANUAL 0x0
- #define FAIL 0x2
- typedef struct
- {
- INT8U CompletionCode;
- INT8U Status;
- INT8U PrimServer[MAX_SERVER_LEN];
- INT8U SecServer[MAX_SERVER_LEN];
- }PACKED AMIGetNTPCfgRes_T;
- typedef union
- {
- INT8U Status;
- INT8U Server[MAX_SERVER_LEN];
-
- } NTPConfUn_T;
- typedef struct
- {
- INT8U param;
- NTPConfUn_T ntpconf;
- }PACKED AMISetNTPCfgReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMISetNTPCfgRes_T;
- typedef struct
- {
- INT8U PubKey[MAX_PERMITTED_KEY_SIZE];
- }PACKED AMIYafuSignedImageKeyReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMIYafuSignedImageKeyRes_T;
- typedef struct
- {
- INT8U Status;
- }PACKED AMIVirtualDeviceSetStatusReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMIVirtualDeviceSetStatusRes_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT8U Status;
- }PACKED AMIVirtualDeviceGetStatusRes_T;
- typedef struct
- {
- INT8U LicenseKey[MAX_LIC_KEY_LEN];
- }PACKED AMIAddLicenseKeyReq_T;
- typedef struct
- {
- INT8U CompletionCode;
- }PACKED AMIAddLicenseKeyRes_T;
- typedef struct
- {
- INT8U FeatureName[APPCODE_LEN];
- INT8U Validity;
- }PACKED LicenseInfo_T;
- typedef struct
- {
- INT8U CompletionCode;
- INT8U NumOfFeatures;
- LicenseInfo_T Lic_Info[MAX_LIC_APP];
- }PACKED AMIGetLicenseValidityRes_T;
- #pragma pack()
- #endif /* IPMI_AMI_H */
|