Renesas M3T-MR100 Network Card User Manual


 
- 106 -
ref_sem Reference semaphore status
iref_sem Reference semaphore status (handler only)
[
[
[
[
C
C
L
L
a
a
n
n
g
g
u
u
a
a
g
g
e
e
A
A
P
P
I
I
]
]
]
]
ER ercd = ref_sem( ID semid, T_RSEM *pk_rsem );
ER ercd = iref_sem( ID semid, T_RSEM *pk_rsem );
z
z
P
P
a
a
r
r
a
a
m
m
e
e
t
t
e
e
r
r
s
s
ID semid ID number of the target semaphore
T_RSEM *pk_rsem Pointer to the packet to which semaphore status is returned
z
z
R
R
e
e
t
t
u
u
r
r
n
n
P
P
a
a
r
r
a
a
m
m
e
e
t
t
e
e
r
r
s
s
ER ercd Terminated normally (E_OK)
T_RSEM *pk_rsem Pointer to the packet to which semaphore status is returned
Contents of pk_rsem
typedef struct t_rsem{
ID wtskid +0 2 ID number of the task at the head of the semaphore’s wait queue
UINT semcnt +2 4 Current semaphore resource count
} T_RSEM;
[
[
[
[
A
A
s
s
s
s
e
e
m
m
b
b
l
l
y
y
l
l
a
a
n
n
g
g
u
u
a
a
g
g
e
e
A
A
P
P
I
I
]
]
]
]
.include mr100.inc
ref_sem SEMID, PK_RSEM
iref_sem SEMID, PK_RSEM
z
z
P
P
a
a
r
r
a
a
m
m
e
e
t
t
e
e
r
r
s
s
SEMID ID number of the target semaphore
PK_RSEM Pointer to the packet to which semaphore status is returned
z
z
R
R
e
e
g
g
i
i
s
s
t
t
e
e
r
r
c
c
o
o
n
n
t
t
e
e
n
n
t
t
s
s
a
a
f
f
t
t
e
e
r
r
s
s
e
e
r
r
v
v
i
i
c
c
e
e
c
c
a
a
l
l
l
l
i
i
s
s
i
i
s
s
s
s
u
u
e
e
d
d
Register name Content after service call is issued
R0 Error code
R2 ID number of the target semaphore
A1 Pointer to the packet to which semaphore status is returned
[
[
[
[
E
E
r
r
r
r
o
o
r
r
c
c
o
o
d
d
e
e
]
]
]
]
None
[
[
[
[
F
F
u
u
n
n
c
c
t
t
i
i
o
o
n
n
a
a
l
l
d
d
e
e
s
s
c
c
r
r
i
i
p
p
t
t
i
i
o
o
n
n
]
]
]
]
This service call returns various statuses of the semaphore indicated by semid.
wtskid
Returned to wtskid is the ID number of the task at the head of the semaphore’s wait queue (the next task to be
dequeued). If no tasks are kept waiting, TSK_NONE is returned.
semcnt
Returned to semcnt is the current semaphore resource count.
If this service call is to be issued from task context, use ref_sem; if issued from non-task context, use iref_sem.