Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

qcc_len(3)

qcc_create(3)

qcc_set_ie(3)

qcc_util(3)

q93b(7)

qcc_pack(3)

NAME

qcc_pack, qcc_pack_setup, qcc_pack_call_proceeding, qcc_pack_connect, qcc_pack_connect_ack, qcc_pack_release, qcc_pack_release_complete, qcc_pack_status, qcc_pack_status_enq, qcc_pack_restart, qcc_pack_restart_ack, qcc_pack_add_party, qcc_pack_add_party_ack, qcc_pack_add_party_reject, qcc_pack_drop_party, qcc_pack_drop_party_ack − encode Q.2931 message structure information and pack into streams buffers

SYNOPSIS

cc [ flag ...  ] file ...  −latm [ library ...  ]

#include <atm/types.h>
#include <atm/qcc.h>

int qcc_pack_setup(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_setup_t ∗msgp);

int qcc_pack_call_proceeding(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_call_proc_t ∗msgp);

int qcc_pack_connect(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_connect_t ∗msgp);

int qcc_pack_connect_ack(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_connect_ack_t ∗msgp);

int qcc_pack_release(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_release_t ∗msgp);

int qcc_pack_release_complete(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_release_complete_t ∗msgp);

int qcc_pack_status_enq(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_status_enq_t ∗msgp);

int qcc_pack_status(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_status_t ∗msgp);

int qcc_pack_restart(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_restart_t ∗msgp);

int qcc_pack_restart_ack(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_restart_ack_t ∗msgp);

int qcc_pack_add_party(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_add_party_t ∗msgp);

int qcc_pack_add_party_ack(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_add_party_ack_t ∗msgp);

int qcc_pack_add_party_reject(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_add_party_reject_t ∗msgp);

int qcc_pack_drop_party(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_drop_party_t ∗msgp);

int qcc_pack_drop_party_ack(strbuf_t ∗ctlp, strbuf_t ∗datap, qcc_drop_party_ack_t ∗msgp);

MT-LEVEL

Safe. 

AVAILABILITY

The functionality described in this man page is available in the SUNWatma package included with the SunATM adapter board.  The libatm.a library, which is located in /usr/lib, must be included at compile time as indicated in the synopsis. 

DESCRIPTION

These functions take message structures as input and encode the information contained in the structure to create a Q.2931 message, which is then packed into streams buffer structures.  The Q.2931 protocol is used for ATM signalling; a full description of the message format and use can be found in the ATM Forum’s User Network Interface Specification, V3.0 or V3.1. The encoded messages will conform to the version of the UNI Specification which is configured on the indicated interface. The functions may be used by processes which are running in user space. 

Message structures should be filled using the qcc_create(3) and qcc_set_ie(3) functions before calling qcc_pack functions. 

In general, no error checking is performed on the data that is passed in.  Whatever data is contained in the message structure will be placed in the encoded message without examination. 

Each function requires 3 parameters: ctlp and datap, which are pointers to strbuf_t buffers; and msgp, which is a pointer to the appropriate message structure. 

ctlp and datap make up the control and data portions of the constructed message, corresponding to the M_PROTO and M_DATA blocks of the message that will be passed downstream.  The buffer fields in the structures which ctlp and datap point to (ctlp->buf and datap->buf) must be allocated before calling a qcc_pack_∗ function; size information may be obtained using the qcc_bld_∗_datalen() functions (see qcc_len(3)).  After successful return from a qcc_pack_∗ function, the message may be passed down an open stream using the putmsg(2) function, with ctlp and datap as the buffer parameters for putmsg. 

RETURN VALUES

All functions return 0 on success and -1 on error. 

EXAMPLES

For an example using qcc_pack_setup, see the example in the qcc_create(3) man page. 

SEE ALSO

qcc_len(3), qcc_create(3), qcc_set_ie(3), qcc_util(3), q93b(7)

"ATM User-Network Interface Specification, V3.0," ATM Forum. 

NOTES

This API is an interim solution until the ATM Forum has standardized an API.  At that time, Sun will implement that API, and support for the Q.2931 Call Control library may not be continued. 

SunOS ATM_2.0  —  Last change: 30 Nov 1995

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026