| aStem_GetPacket | Index |
Definition:
| aLIBRETURN aStem_GetPacket( | aStemLib stemRef, aPacketFilter* filterProc, void* filterRef, unsigned long nMSTimeout, aPacketRef* pPacketRef, aErr* pErr); |
Parameters:
| stemRef | - | A pointer to the opaque stem reference used for getting the packet. |
| filterProc | - | A procedure pointer that can be NULL or set to a routine that will filter the packets. |
| filterRef | - | A void pointer that can be used to send application specific data to the filter procedure. Each time the filter is called, this data is supplied to the filter procedure. |
| nMSTimeout | - | The timeout in milliseconds used in trying to aquire a packet. If this time is exceeded without retrieving a packet, the routine returns with an error value of aErrTimeout. When a packet filter is supplied, the timeout is used to wait for the filter to return aTrue. When no filter is specified (indicated by a NULL filterProc param) the timeout is used to wait for the first available non-heartbeat packet. Setting a timeout of 0 will cause this routine to wait indefinately for the requested packet. |
| pPacketRef | - | A pointer to an aPacketRef variable that recieves the packet if one is available. |
| pErr | - | A pointer to an aErr variable that recieves the error code on exit from this routine. |
Return Value:
Description:
This routine tries to obtain a packet from the stream set with the aStem_SetStream routine. If no packet is available, an aErrNotFound error results. If no link has been set using aStem_SetStream , an aErrIO error results. If a timeout is supplied, the routine will return a aErrTimeout if the requested packet is not found in the time specified.
The filterProc parameter may be set to a routine that can filter packets, looking for the desired packet. If the filter is set, the routine will not return until the filter returns aTrue. Any packets that come in while the filter is looking are queued up and will be available in the next call to aStem_GetPacket.
Related: