source: rtems/cpukit/itron/include/itronsys/port.h @ 6df1f64

4.104.114.84.95
Last change on this file since 6df1f64 was 6df1f64, checked in by Ralf Corsepius <ralf.corsepius@…>, on 01/28/05 at 11:07:14

New header guards.

  • Property mode set to 100644
File size: 2.8 KB
Line 
1/**
2 * @file itronsys/port.h
3 */
4
5/*
6 *  COPYRIGHT (c) 1989-1999.
7 *  On-Line Applications Research Corporation (OAR).
8 *
9 *  The license and distribution terms for this file may be
10 *  found in the file LICENSE in this distribution or at
11 *  http://www.rtems.com/license/LICENSE.
12 *
13 *  $Id$
14 */
15
16#ifndef _ITRONSYS_PORT_H
17#define _ITRONSYS_PORT_H
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23/*
24 *  Create Port (cre_por) Structure
25 */
26
27typedef struct t_cpor {
28  VP    exinf;     /* extended information */
29  ATR   poratr;    /* port attributes */
30  INT   maxcmsz;   /* maximum call message size */
31  INT   maxrmsz;   /* maximum reply message size */
32  /* additional information may be included depending on the implementation */
33} T_CPOR;
34
35/*
36 *  poratr
37 */
38
39#define TA_NULL   0   /* specifies no particular attributes */
40
41/*
42 *  TA_NULL should be used in place of zeroes to turn off all
43 *          attribute features.
44 */
45
46/*
47 *  Reference Port (ref_por) Structure
48 */
49
50typedef struct t_rpor {
51  VP        exinf;   /* extended information */
52  BOOL_ID   wtsk;    /* indicates whether or not there is a task */
53                     /* waiting to call a rendezvous */
54  BOOL_ID   atsk;    /* indicates whether or not there is a task */
55                     /* waiting to accept a rendezvous */
56  /* additional information may be included depending on the implementation */
57} T_RPOR;
58
59/*
60 *  Port Functions
61 */
62
63/*
64 *  cre_por - Create Port for Rendezvous
65 */
66
67ER cre_por(
68  ID porid,
69  T_CPOR *pk_cpor
70);
71
72/*
73 *  del_por - Delete Port for Rendezvous
74 */
75
76ER del_por(
77  ID porid
78);
79
80/*
81 *  cal_por - Call Port for Rendezvous Poll
82 */
83
84ER cal_por(
85  VP msg,
86  INT *p_rmsgsz,
87  ID porid,
88  UINT calptn,
89  INT cmsgsz
90);
91
92/*
93 *  pcal_por - Poll and Call Port for Rendezvous
94 */
95
96ER pcal_por(
97  VP msg,
98  INT *p_rmsgsz,
99  ID porid,
100  UINT calptn,
101  INT cmsgsz
102);
103
104/*
105 *  tcal_por - Call Port for Rendezvous with Timeout
106 */
107
108ER tcal_por(
109  VP msg,
110  INT *p_rmsgsz,
111  ID porid,
112  UINT calptn,
113  INT cmsgsz,
114  TMO tmout
115);
116
117/*
118 *  acp_por - Accept Port for Rendezvous Poll
119 */
120
121ER acp_por(
122  RNO *p_rdvno,
123  VP msg,
124  INT *p_cmsgsz,
125  ID porid,
126  UINT acpptn
127);
128
129/*
130 *  pacp_por - Poll and Accept Port for Rendezvous
131 */
132
133ER pacp_por(
134  RNO *p_rdvno,
135  VP msg,
136  INT *p_cmsgsz,
137  ID porid,
138  UINT acpptn
139);
140
141/*
142 *  tacp_por - Accept Port for Rendezvous with Timeout
143 */
144
145ER tacp_por(
146  RNO *p_rdvno,
147  VP msg,
148  INT *p_cmsgsz,
149  ID porid,
150  UINT acpptn,
151  TMO tmout
152);
153
154/*
155 *  fwd_por - Forward Rendezvous to Other Port
156 */
157
158ER fwd_por(
159  ID porid,
160  UINT calptn,
161  RNO rdvno,
162  VP msg,
163  INT cmsgsz
164);
165
166/*
167 *  rpl_rdv - Reply Rendezvous
168 */
169
170ER rpl_rdv(
171  RNO rdvno,
172  VP msg,
173  INT rmsgsz
174);
175
176/*
177 *  ref_por - Reference Port Status
178 */
179
180ER ref_por(
181  T_RPOR *pk_rpor,
182  ID porid
183);
184
185
186
187
188#ifdef __cplusplus
189}
190#endif
191
192#endif
193/* end of include file */
Note: See TracBrowser for help on using the repository browser.