blob: 4eae9ff1b6296e48b34b89e38d68e03916eff163 [file] [log] [blame]
/******************************************************************************
*(C) Copyright 2014 Marvell International Ltd.
* All Rights Reserved
******************************************************************************/
/* -------------------------------------------------------------------------------------------------------------------
*
* Filename: mbim_blob.h
*
* Authors: Boaz Sommer
*
* Description: blob message wrapper class
*
* HISTORY:
* Dec 17, 2014 - Initial Version
*
* Requirements:
* 1. Use typedef to define MessageContainerT type
* 2. Declare MessageInterfaceS structure
*
* Notes:
*
*
******************************************************************************/
#ifndef MBIM_BLOB_H
#define MBIM_BLOB_H
#include "linux_types.h"
#if 0
//Must typedef MessageContainerT
typedef struct blob_buf MessageContainerT;
struct MessageInterfaceS
{
//private
// MessageContainerT MsgContainer;
//public - these APIs are used by outside module
void (*Init) (struct MessageInterfaceS *msg);
void (*AddInt8) (struct MessageInterfaceS *msg, char *name, Int8 data);
void (*AddInt16) (struct MessageInterfaceS *msg, char *name, Int16 data);
void (*AddInt32) (struct MessageInterfaceS *msg, char *name, Int32 data);
void (*AddString) (struct MessageInterfaceS *msg, char *name, char *data);
void (*AddData) (struct MessageInterfaceS *msg, int id, void *data, int datalen);
Int8 (*GetInt8) (struct MessageInterfaceS *msg, char *name);
Int16 (*GetInt16) (struct MessageInterfaceS *msg, char *name);
Int32 (*GetInt32) (struct MessageInterfaceS *msg, char *name);
char * (*GetString) (struct MessageInterfaceS *msg, char *name);
};
#endif
/*
* Global API
* - initialize struct MessageInterfaceS
* - initialize message container
*
*/
int InitMessageInterface (struct MessageInterfaceS *msg);
#endif //MBIM_BLOB_H