diff options
Diffstat (limited to 'cpukit/itron/include/itronsys/port.h')
-rw-r--r-- | cpukit/itron/include/itronsys/port.h | 187 |
1 files changed, 187 insertions, 0 deletions
diff --git a/cpukit/itron/include/itronsys/port.h b/cpukit/itron/include/itronsys/port.h new file mode 100644 index 0000000000..a8935b403f --- /dev/null +++ b/cpukit/itron/include/itronsys/port.h @@ -0,0 +1,187 @@ +/* + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + +#ifndef __ITRON_PORT_h_ +#define __ITRON_PORT_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Create Port (cre_por) Structure + */ + +typedef struct t_cpor { + VP exinf; /* extended information */ + ATR poratr; /* port attributes */ + INT maxcmsz; /* maximum call message size */ + INT maxrmsz; /* maximum reply message size */ + /* additional information may be included depending on the implementation */ +} T_CPOR; + +/* + * poratr + */ + +#define TA_NULL 0 /* specifies no particular attributes */ + +/* + * TA_NULL should be used in place of zeroes to turn off all + * attribute features. + */ + +/* + * Reference Port (ref_por) Structure + */ + +typedef struct t_rpor { + VP exinf; /* extended information */ + BOOL_ID wtsk; /* indicates whether or not there is a task */ + /* waiting to call a rendezvous */ + BOOL_ID atsk; /* indicates whether or not there is a task */ + /* waiting to accept a rendezvous */ + /* additional information may be included depending on the implementation */ +} T_RPOR; + +/* + * Port Functions + */ + +/* + * cre_por - Create Port for Rendezvous + */ + +ER cre_por( + ID porid, + T_CPOR *pk_cpor +); + +/* + * del_por - Delete Port for Rendezvous + */ + +ER del_por( + ID porid +); + +/* + * cal_por - Call Port for Rendezvous Poll + */ + +ER cal_por( + VP msg, + INT *p_rmsgsz, + ID porid, + UINT calptn, + INT cmsgsz +); + +/* + * pcal_por - Poll and Call Port for Rendezvous + */ + +ER pcal_por( + VP msg, + INT *p_rmsgsz, + ID porid, + UINT calptn, + INT cmsgsz +); + +/* + * tcal_por - Call Port for Rendezvous with Timeout + */ + +ER tcal_por( + VP msg, + INT *p_rmsgsz, + ID porid, + UINT calptn, + INT cmsgsz, + TMO tmout +); + +/* + * acp_por - Accept Port for Rendezvous Poll + */ + +ER acp_por( + RNO *p_rdvno, + VP msg, + INT *p_cmsgsz, + ID porid, + UINT acpptn +); + +/* + * pacp_por - Poll and Accept Port for Rendezvous + */ + +ER pacp_por( + RNO *p_rdvno, + VP msg, + INT *p_cmsgsz, + ID porid, + UINT acpptn +); + +/* + * tacp_por - Accept Port for Rendezvous with Timeout + */ + +ER tacp_por( + RNO *p_rdvno, + VP msg, + INT *p_cmsgsz, + ID porid, + UINT acpptn, + TMO tmout +); + +/* + * fwd_por - Forward Rendezvous to Other Port + */ + +ER fwd_por( + ID porid, + UINT calptn, + RNO rdvno, + VP msg, + INT cmsgsz +); + +/* + * rpl_rdv - Reply Rendezvous + */ + +ER rpl_rdv( + RNO rdvno, + VP msg, + INT rmsgsz +); + +/* + * ref_por - Reference Port Status + */ + +ER ref_por( + T_RPOR *pk_rpor, + ID porid +); + + + + +#ifdef __cplusplus +} +#endif + +#endif +/* end of include file */ + |