*
* Returns: N/A
*
*/
void vBmcSmicSmsMessageWrite
(
const unsigned char *pbMessage, /* request */
unsigned char bLength
/* request length */
)
{
unsigned char bMessageStage;
while (((bReadSmicFlags) & FLAGS_BUSY) == FLAGS_BUSY)
; /* do nothing ... */
vWriteSmicControl (CC_SMS_WR_START);
vWriteSmicData (*pb+);
vWriteSmicFlags (FLAGS_BUSY);
bLength--;
do
{
while (((bReadSmicFlags) & FLAGS_TX_DATA_READY) != FLAGS_TX_DATA_READY)
; /* do nothing ... */
while (((bReadSmicFlags) & FLAGS_BUSY) == FLAGS_BUSY)
; /* do nothing ... */
vWriteSmicControl ((bLength > 1) ? CC_SMS_WR_NEXT : CC_SMS_WR_END);
vWriteSmicData (*pb+);
vWriteSmicFlags (FLAGS_BUSY);
bLength--;
while (((bReadSmicFlags) & FLAGS_BUSY) == FLAGS_BUSY)
; /* do nothing ... */
}
while (bLength > 0);
}
/******************************************************************************
*
* vBmcSmicSmsMessageRead
*
* This function reads a SMS (System Managment Software) message
* from the IPMI using the standard BMC-SMIC interface.
*
* Returns: N/A
*
*/
void vBmcSmicSmsMessageRead
(
unsigned char *pbMessage,
/* received response */
unsigned char *bMessageLength
/* response length */
)
{
unsigned char bReadControl;
unsigned char bReadStatus;
unsigned char bReadData;
*bMessageLength = 0;
bReadControl = CC_SMS_RD_START;
7-14
PP 110/01x
Intelligent Platform Manager Interface
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com