Embedded Application Programming Interface - picmg
Embedded Application Programming Interface - picmg
Embedded Application Programming Interface - picmg
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
#ifndef __OUT<br />
# define __OUT<br />
/* __OUT<br />
* Arg Type | Characteristics<br />
* ----------------+-----------------------------------------------------<br />
* Pointer | Valid pointer to destination buffer/variable<br />
*/<br />
#endif<br />
#ifndef __OUTOPT<br />
# define __OUTOPT<br />
/* __OUTOPT<br />
* Arg Type | Characteristics<br />
* ----------------+-----------------------------------------------------<br />
* Pointer | Valid pointer to destination buffer/variable, or<br />
* | NULL Pointer.<br />
* | Note: refer to function specification for specifics.<br />
*/<br />
#endif<br />
#ifndef __INOUT<br />
# define __INOUT<br />
/* __INOUT<br />
* Arg Type | Characteristics<br />
* ----------------+-----------------------------------------------------<br />
* Pointer | Valid pointer to initialized buffer/variable<br />
* | Contents of buffer/variable updated before return.<br />
*/<br />
#endif<br />
#ifndef EAPI_CALLTYPE<br />
# define EAPI_CALLTYPE<br />
#endif<br />
#ifndef EAPI_UINT32_C<br />
# define EAPI_UINT8_C(x) ((uint8_t)(x))<br />
# define EAPI_UINT16_C(x) ((uint16_t)(x))<br />
# define EAPI_UINT32_C(x) ((uint32_t)(x))<br />
#endif<br />
/************************************************************************<br />
* All version numbers<br />
* +=========+===============================+<br />
* | Bits | Descriptions |<br />
* +=========+===============================+<br />
* | 24 - 31 | Version Number |<br />
* +---------+-------------------------------+<br />
* | 16 - 23 | Revision Number |<br />
* +---------+-------------------------------+<br />
* | 0 - 15 | Build Number |<br />
* +=========+===============================+<br />
*/<br />
#define EAPI_VER_MASK_VER EAPI_UINT32_C(0xFF000000)<br />
#define EAPI_VER_MASK_REV EAPI_UINT32_C(0x00FF0000)<br />
#define EAPI_VER_MASK_BUILD EAPI_UINT32_C(0x0000FFFF)<br />
#define EAPI_VER_GET_VER(x) EAPI_UINT8_C (((x)>>24)&UINT8_MAX )<br />
#define EAPI_VER_GET_REV(x) EAPI_UINT8_C (((x)>>16)&UINT8_MAX )<br />
#define EAPI_VER_GET_BUILD(x) EAPI_UINT16_C(((x)>> 0)&UINT16_MAX)<br />
#define EAPI_VER_CREATE(Version,Revision,Build) (\<br />
EAPI_UINT32_C(\<br />
(((Version )&UINT8_MAX )