/* * COPYRIGHT (c) 1989-1999. * On-Line Applications Research Corporation (OAR). * * 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 */