#include <sys/stream.h> int putctl1(queue_t *q, int type, int p);
Architecture independent level 1 (DDI/DKI).
The putctl1() function, like putctl(9F), tests the type argument to make sure a data type has not been specified, and attempts to allocate a message block. The p parameter can be used, for example, to specify how long the delay will be when an M_DELAY message is being sent. putctl1() fails if type is M_DATA, M_PROTO, or M_PCPROTO, or if a message block cannot be allocated. If successful, putctl1() calls the put(9E) routine of the queue pointed to by q with the newly allocated and initialized message.
On success, 1 is returned. 0 is returned if type is a data type, or if a message block cannot be allocated.
The putctl1() function can be called from user, interrupt, or kernel context.
See the putctl(9F) function page for an example of putctl1().