.\" 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.