24.05.2014 Views

Embedded Application Programming Interface - picmg

Embedded Application Programming Interface - picmg

Embedded Application Programming Interface - picmg

SHOW MORE
SHOW LESS

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 )

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!