#ifndef VQUEUE_E
#define VQUEUE_E
void initVQueue(/* tproc_t *tproc */);
vqueue_t *allocVQueue(/* tproc_t *tproc */);
void freeVQueue(/* tproc_t *tproc, vqueue_t *elem */);
#define insVQueue(tp, p) insertQueue(tp, p)
vqueue_t *keyVQueue(/* vqueue_t **tp, thr_t *from, thr_t *to, int (*found)() */);
#define keyVSend(tproc, from, to) keyVQueue(&tproc->T_waitsend, from, to, foundVS)
#define keyVRecv(tproc, from, to) keyVQueue(&tproc->T_waitrecv, from, to, foundVR)
#define keyVReply(tproc, from, to) keyVQueue(&tproc->T_waitrply, from, to, foundVP)
int foundVS(/* vqueue_t *p, thr_t *from, thr_t *to */);
int foundVR(/* vqueue_t *p, thr_t *from, thr_t *to */);
int foundVP(/* vqueue_t *p, thr_t *from, thr_t *to */);
#endif