HP UX 11i v2 Networking Software manual Appendix a 153

Page 153

Sample Programs

Connection Mode

*/

disc_req->dl_correlation = 0;

/* send the disconnect request */

put_ctrl(fd, sizeof(dl_disconnect_req_t), 0);

/* wait for the OK_ACK */ get_msg(fd); check_ctrl(DL_OK_ACK);

}

/************************************************************************** main

**************************************************************************/

main() {

int

send_fd;

/* file descriptor for sending stream */

int

recv_c_fd;

/* fd for recv ctrl stream */

int

recv_d_fd;

/* fd for recv data stream */

u_char

sdlsap[20];

/* sending DLSAP */

u_char

rcdlsap[20];

/* receiving control DLSAP */

u_char

rddlsap[20];

/* receiving data DLSAP */

int

sdlsap_len, rcdlsap_len, rddlsap_len; /* DLSAP lengths */

u_long

correlation;

/* correlation number for CONNECT_IND */

u_long

token;

/* token for recv_d stream */

int

i;

/* loop counter */

/*

We'll use three streams: a sending stream, a receiving stream bound with max_conind = 1 (the ”control” stream), and a receiving stream bound with max_conind = 0 (the ”data” stream). The connect indication will be handed off from the control stream to the data stream.

We initially open only the sending stream and the receiving control stream.

*/

/*

First, we must open the DLPI device file, /dev/dlpi, and attach to a PPA. attach will open /dev/dlpi, find the first PPA with the DL_HP_PPA_INFO primitive, and attach to that PPA. attach() returns the file descriptor for the stream.

*/

send_fd = attach(); recv_c_fd = attach();

/*

Now we must bind the streams to saps. The bind function will return the local DLSAP and its length for each stream in the last two arguments. Only the receiving control stream has a non-zero max_conind.

*/

bind(send_fd, SEND_SAP, 0, DL_CODLS, sdlsap, &sdlsap_len); bind(recv_c_fd, RECV_SAP, 1, DL_CODLS, rcdlsap, &rcdlsap_len);

/*

Start the connection establishment process by sending a CONNECT_REQ from the sender to the receiver control stream.

*/

Appendix A

153

Image 153
Contents Edition Dlpi Programmer’s GuideLegal Notices Page Page Contents Contents Contents Sample Programs Printing History Page Appendix a Sample Programs PrefacePage Introduction to Dlpi Introduction to Dlpi HP Dlpi Features Header Files Device File FormatData Link Layer Service InterfaceDlpi Modes of Communication Connection-mode ServiceData Link Layer Connectionless-mode Service Dlpi AddressingPhysical Attachment Identification HP PPA Format HP’s Dlsap Address Format 802.3, Ethernet, Token Ring, Fddi Data Link User IdentificationHP’s Dlsap Address Format for Fibre Channel Dlsap Promiscuous Mode Clarifications Dlpi Services Dlinforeq DlerrorackDlinfoack DlhpppareqDlresetind DlresetreqDlresetres DlresetconInformation Reporting Service Local Management ServicesDlhprawdatareq DlhprawdataindBind Service Attach ServiceBinding Reserved IEEESAPS/EthertypesSnap Message Flow Binding a Stream to a Dlsap Message Flow Enabling a Specific Multicast Address on a Connection Establishment Service Connection-mode Services12 Message Flow Successful Connection Establishment Connection Handoff13 Message Flow Token Retrieval 16 Message Flow Both Primitives are Destroyed by Provider 19 Message Flow Normal Data Transfer Data Transfer Service20 Message Flow DLS User-Invoked Connection Release Connection Release ServiceReset Service 23 Message Flow DLS User-Invoked Connection Reset Connectionless Data Transfer Connectionless-mode ServicesError Reporting Service Raw-mode ServicesRaw-mode Data Transfer XID and Test ServiceXID and Test Packet Handling 31 Message Flow XID ServiceAn Example 32 Message Flow Test Service33 Message Flow a Connection-Mode Example Dlpi Primitives Dlpi Primitives PPA Initialization/De-initialization Local Management PrimitivesDlhpppareq Dlhpppaack Dlhpppaack MTU DlinforeqDlinfoack Dltpb DlcsmacdDltpr DlmetroDlctca DlcharDlfddi DlotherDlhprawdls DlacldlsDlunknown DLSTYLE2 DLSTYLE1Dlaccess DlattachreqDlbadppa Dldetachreq DloutstateDlsyserr Dlbindreq Dlbadaddr DlinitfailedDlnotinit Dlbindack Dlunbindreq Dlsubsbindreq Dlhierarchicalbind DlpeerbindDltoomany DlsubsbindackDlsubsunbindreq Dlenabmultireq Dlnotsupported DldisabmultireqDlnotenab DlpromisconreqDlpromiscphys DlpromiscsapDlpromiscmulti Dlpromiscoffreq Dlokack Dlerrorack Dlphysaddrreq Dlfactphysaddr Dlcurrphysaddr Dlsetphysaddrreq DlphysaddrackDlphysaddrack DlphysaddrreqDlsetphysaddrreq Dlgetstatisticsack DlgetstatisticsreqDlbusy DlgetstatisticsreqDlgetstatisticsack DlhpmulticastlistreqDlhpmulticastlistack Dlhpmulticastlistack Dlunitdatareq Connectionless-mode Service PrimitivesDlbaddata Dlunitdataind Dluderrorind Message is valid in state Dlidle Dlhprawdatareq Raw Mode Service PrimitivesDlbadprim DlhprawdataindRaw Mode Service Primitives Connection-mode Service Primitives Connection-Oriented Dlpi ExtensionsDlhpinforeq Dlhpinforeq DlhpinfoackDlhpinfoack Connection-mode Service Primitives Connection-mode Service Primitives Dlhpsetacktoreq DlhpsetacktoreqDlhpsetptoreq DlhpsetptoreqDlhpsetrejtoreq DlhpsetbusytoreqDlhpsetrejtoreq Dlhpsetbusytoreq DlhpsetsendacktoreqDlhpsetmaxretriesreq DlhpsetsendacktoreqDlhpsetmaxretriesreq DLOUTCONPENDING, Dlinconpending DlhpsetackthreshreqDlhpsetlocalwinreq Dlhpsetremotewinreq Dlhpsetremotewinreq DlhpclearstatsreqDlhpsetlocalbusyreq DlhpclearstatsreqDlhpsetlocalbusyreq Dlhpclearlocalbusyreq DlhpclearlocalbusyreqDlconnectreq Dlconnectind DlbadqosparamDlbadqostype 112 Dlconnectres 114 Dlbadtoken DlconnectconDlbadcorr Dlpending116 Dltokenack DltokenreqDldatareq Dldisconnectreq Dldataind120 Dldisconnectind Dlresetreq Dlresetind Dlresetres Dlresetcon 126 Dltestreq Primitives to Handle XID and Test OperationsDltestauto DltestindChapter 129 Dltestres Dltestcon Dlxidreq Dlxidauto Dlxidind134 Dlpollfinal DlxidresDlxidcon Chapter 137 Dlpi States Dlresetcon Prov Reset Dlprovreset User Reset DluserresetDlresetres Resetres Udqos Pend DludqosPend Pending DLDISCON9Dlinconpending DLDISCON11Chapter 141 142 Sample Programs Longareasize Connection ModeAppendix a 145 146 Appendix a 147 148 Appendix a 149 150 Appendix a 151 152 Appendix a 153 154 Appendix a 155 Snap SAP Connectionless ModeAppendix a 157 158 Appendix a 159 160 Appendix a 161 162 Appendix a 163 164 Appendix a 165 166 Raw Mode 168 Appendix a 169 170 Appendix a 171 Raw Mode 172 Connection establishment Glossary174 Glossary Index
Related manuals
Manual 94 pages 16.8 Kb Manual 74 pages 39 Kb Manual 236 pages 18.16 Kb Manual 12 pages 39.66 Kb Manual 28 pages 49.76 Kb