.\" This manpage has been automatically generated by docbook2man .\" from a DocBook document. This tool can be found at: .\" .\" Please send any bug reports, improvements, comments, patches, .\" etc. to Steve Cheng . .TH "HPSB_GET_TLABEL" "9" "09 October 2005" "" "" .SH NAME hpsb_get_tlabel \- allocate a transaction label .SH SYNOPSIS "SYNOPSIS" .sp \fB .sp int hpsb_get_tlabel (struct hpsb_packet * \fIpacket\fB); \fR .SH "ARGUMENTS" .TP \fB\fIpacket\fB\fR the packet who's tlabel/tpool we set .SH "DESCRIPTION" .PP Every asynchronous transaction on the 1394 bus needs a transaction label to match the response to the request. This label has to be different from any other transaction label in an outstanding request to the same node to make matching possible without ambiguity. .PP There are 64 different tlabels, so an allocated tlabel has to be freed with \fBhpsb_free_tlabel\fR after the transaction is complete (unless it's reused again for the same target node). .SH "RETURN VALUE" .PP Zero on success, otherwise non-zero. A non-zero return generally means there are no available tlabels. If this is called out of interrupt or atomic context, then it will sleep until can return a tlabel.