%!PS-Adobe-3.0 %%Title: PPP_INTERFACES %%Creator: VAX DOCUMENT V2.1-1 %%Copyright: 1986,1987,1988,1989,1990,1991 DIGITAL EQUIPMENT CORPORATION. %%+All Rights Reserved. %%CreationDate: Thu Nov 7 1996 10:02:07 %%For: MSHERLOCK %%BoundingBox: (atend) %%DocumentData: Clean7Bit %%LanguageLevel: 1 %%Orientation: Portrait %%Pages: (atend) %%PageOrder: Ascend %%DocumentFonts: (atend) %%DocumentNeededFonts: (atend) %%DocumentProcSets: Underlay Color5044 %%DocumentSuppliedProcSets: Underlay Color5044 %%DocumentProcessColors: (atend) %%DocumentCustomColors: (atend) %%EndComments % %%BeginResource: procset Underlay %%CreationDate: (2/10/92) % % In VAX DOCUMENT V2.1-1, simple EPSF files up to 65,000 bytes long % may be an underlay. Define the EPSF as a PostScript proceedure % called /UNDERLAY and prefix to DOCUMENT's PS output For example:. % /UNDERLAY ( EPSF code here ) cvx def % % To create a "Preliminary" underlay change /UNDERLAY* to /UNDERLAY /UNDERLAY* ( /Note (Preliminary) def /NoteSize 120 def /NoteFont /Helvetica findfont NoteSize scalefont def /Note where { pop Note length 0 gt { /NoteWidth NoteFont setfont Note stringwidth pop def PaperWidth 36 mul PaperHeight 36 mul moveto PaperHeight PaperWidth atan rotate NoteWidth -2 div NoteSize .729 mul -2 div rmoveto Note true charpath .075 setseparationgray fill }if }if ) cvx def %%EndResource % %%BeginResource: procset Color5044 %%CreationDate: (1/21/91) %%Version:1.0 3 %Implementation of Adobe 5044 color specification %/ndf allows command override during color separation /Color5044Dict 100 dict def Color5044Dict begin /bdf {bind def} def /ndf {1 index where {pop pop pop } {dup xcheck {bind} if def } ifelse } bdf /setcmykcolor {1 exch sub 3 {dup 5 -1 roll sub 0 2 copy lt {exch} if pop exch } repeat pop setrgbcolor }ndf /setcmykcoloroverprint {4 {dup -1 eq {pop 0} if 4 1 roll } repeat setcmykcolor } ndf /findcmykcustomcolor {5 /packedarray where {pop packedarray } {array astore readonly } ifelse } ndf /setcustomcolor {exch aload pop pop 4 {4 index mul 4 1 roll } repeat setcmykcolor pop } ndf /setseparationgray {1 exch sub systemdict /setgray get exec } ndf /setoverprint {pop} ndf /currentoverprint false ndf %CMYK multi-proc colorimage /colorimage {4 ne {(\nUnsupported number of colors for colorimage.\n) print flush quit } if not {(\nSingle procedure form colorimage unsupported.\n) print flush quit } if save 20 dict begin /&saveobj exch def /&Kproc exch def /&Yproc exch def /&Mproc exch def /&Cproc exch def {&Cproc &Mproc &Yproc &Kproc /&K exch def /&Y exch def /&M exch def /&C exch def 0 1 &K length 1 sub {/&i exch def &K &i 255 &C &i get 30 mul &M &i get 59 mul add &Y &i get 11 mul add &K &i get 100 mul add 100 idiv dup 255 gt {pop 255} if sub put } for &K } image &saveobj end restore } ndf /customcolorimage {pop systemdict /image get exec } ndf /separationimage {systemdict /image get exec } ndf end %%EndResource Color5044Dict begin % /DEC_DVC$dict 300 dict def DEC_DVC$dict begin % /DVC$PSJob save def % mark % CREATE ISOLatin1Encoding if not there already /ISOLatin1Encoding 8#000 1 8#054 {StandardEncoding exch get} for /minus 8#056 1 8#217 {StandardEncoding exch get} for /dotlessi 8#301 1 8#317 {StandardEncoding exch get} for /space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis /ISOLatin1Encoding where not {256 array astore def} if cleartomark /DOCPSE ISOLatin1Encoding 256 array copy def mark % CREATE DOCPSE ENCODING 8#055 /hyphen 8#201 /bullet 8#202 /emdash 8#203 /endash 8#204 /dagger 8#205 /daggerdbl 8#206 /registered 8#207 /trademark %8#210 /Delta 8#211 /fi 8#212 /fl 8#213 /OE 8#214 /oe 8#215 /Ydieresis counttomark -1 bitshift % DIVIDE BY 2 {DOCPSE 3 1 roll put} repeat % STACK NOW CONTAINS MARK cleartomark % /ReENCODE { % /basefont /newfont encoding ReENCODE /newencoding exch def %ARG: NAME OF ENCODING VECTOR /newfontname exch def %ARG: NEW NAME FOR FONT AFTER RE-ENCODING findfont /basefontdict exch def %ARG: NAME OF FONT TO BE RE-ENCODED basefontdict maxlength dict begin %CREATE AND OPEN NEW DICT basefontdict { %COPY ENTRIES FROM BASE FONT DICT TO NEW ONE 1 index /FID ne { def %IF NOT THE ONE WE'RE ENCODING, JUST COPY PTRS } { %else pop pop %IGNORE FID AND ENCODING FOR ONE WE'RE ENCODING } ifelse } forall /FontName newfontname def %DEFINE NEW NAME /Encoding newencoding def %DEFINE NEW ENCODING VECTOR newfontname currentdict definefont %TURN IT INTO A PS FONT pop %IGNORE MODIFIED DICT RETURNED BY DEFINEFONT end }def % /cvsstr 64 string def /tempmatrix matrix def % % Exit page (temporarily) to add fonts/characters. /XP { }def % % Resume page /RP { }def % % End Page: EP /EP {DVC$PSPage restore}def % % Purge fonts to reclaim VM /PF { currentoverprint currentrgbcolor EP %Does restore PageSetup %Does save setrgbcolor setoverprint }def % % ABBREVIATIONS /S /show load def /SV /save load def /RST /restore load def % /Yadjust {Ymax exch sub} def % /XY { % (x,y) POSITION ABSOLUTE Yadjust moveto } def % /X { % (x,0) POSITION ABSOLUTE currentpoint exch pop moveto } def % /Y { % (0,y) POSITION ABSOLUTE currentpoint pop exch Yadjust moveto } def % /xy { % (x,y) POSITION RELATIVE neg rmoveto } def % /x { % (x,0) POSITION RELATIVE 0 rmoveto } def % /y { % (0,y) POSITION RELATIVE 0 exch neg rmoveto } def % /R { % Draw a rectangle /ht exch def /wd exch def gsave currentpoint newpath moveto 0 ht rlineto wd 0 rlineto 0 ht neg rlineto wd neg 0 rlineto closepath fill grestore wd 0 rmoveto }def % %Setup Page Media: PM /PM { /Xmax exch Resolution mul def /Ymax exch Resolution mul def /UNDERLAY where { pop /eps_save save def % save before EPSF underlay Resolution 72 div dup scale % Revert coords to points count array astore /DVCstack exch def % save op stack /dict_count countdictstack def % # of dicts userdict begin % default dict /showpage {}def % disable showpage 0 setgray {UNDERLAY} stopped {(Error executing /UNDERLAY)== quit}if countdictstack dict_count sub {end} repeat % clean up dict stack clear DVCstack aload pop % restore op stack eps_save restore % restore after EPSF }if PageSetup }def % %Setup page coordinates /PageSetup { /DVC$PSPage save def PortraitMode not {PaperWidth 0 translate 90 rotate} if /Xpos 0 def /Ypos 0 def }def % % Begin EPS file: SPB /SPB { Yadjust transform % convert from DVC to device coords EP % page-level restore /eps_save save def % save before EPSF Resolution 72 div dup scale % Revert coords to points itransform % convert position back to points translate % set position for EPSF PortraitMode not {90 rotate} if % rotate for EPSF count array astore /DVCstack exch def % save op stack /dict_count countdictstack def % # of dicts userdict begin % default dict /showpage {}def % disable showpage 0 setgray }def % % End EPS file /SPE { countdictstack dict_count sub {end} repeat % clean up dict stack clear DVCstack aload pop % restore op stack eps_save restore % restore after EPSF PageSetup % restore DVC coords }def % % Print-Page Routine: PP /PP { gsave showpage grestore }def % /DMF { % /font-name DMF exch findfont exch scalefont setfont }def % /concatnam { % /abcd (xxx) concatnam ==> /abcdxxx /xxx exch def /namstr exch cvsstr cvs def /newnam namstr length xxx length add string def newnam 0 namstr putinterval newnam namstr length xxx putinterval newnam cvn }def % /strip { % /abcdef 2 strip ==> /cdef /num exch def /nam exch def /namstr nam cvsstr cvs def /newlen namstr length num sub def namstr num newlen getinterval cvn }def % ROUTINES TO HANDLE PACKING/UNPACKING NUMBERS /PackHW { % PackHW --> /num exch def /pos exch def /target exch def num 16#0000FFFF and 1 pos sub 16 mul bitshift target or }def /PackByte { % PackByte --> /num exch def /pos exch def /target exch def num 16#000000FF and 3 pos sub 8 mul bitshift target or }def /UnpkHW { % UnpkHW --> /num exch def /pos exch def num 1 pos sub -16 mul bitshift 16#0000FFFF and dup 16#00007FFF gt {16#00010000 sub} if }def /UnpkByte { % UnpkByte --> /num exch def /pos exch def num 3 pos sub -8 mul bitshift 16#000000FF and dup 16#0000007F gt {16#00000100 sub} if }def % /ps-scalefont { % FOR PS FONTS, LOOK AT SIZE REQUESTED. IF IT HAS A DECIMAL REMAINDER % EQUIVALENT TO .001-.009 POINTS (I.E., .050-.450 VAXDOC UNITS), THAT'S % A FLAG TO STRETCH IT VERTICALLY BY ADDING 1-9 EXTRA POINTS TO THE % VERTICAL SCALING. % save requested size - as entered and as integer dup /x-size exch def cvi /x-int exch def % calc decimal remainder, mul x 1000, round x-size x-int sub 1000 mul round cvi /remainder exch def % see how we scale... remainder 50 lt remainder 450 gt or { % scale isomorphically /ystretch 0 def x-size scalefont } { % scale anamorphically /ystretch remainder def x-int ystretch add /y-size exch def [x-int 0 0 y-size 0 0] makefont } ifelse }def % /DPSF { % /procname size /fontname DPSF findfont exch ps-scalefont [ exch /setfont cvx ] cvx def }def % /PXLBuildCharDict 17 dict def /CMEncodingArray 256 array def 0 1 255 {CMEncodingArray exch dup cvsstr cvs cvn put} for /RasterConvert {RasterScaleFactor div}def /TransformBBox { aload pop /BB-ury exch def /BB-urx exch def /BB-lly exch def /BB-llx exch def [ BB-llx RasterConvert BB-lly RasterConvert BB-urx RasterConvert BB-ury RasterConvert ] }def /RunLengthToRasters { % none yet }def /GenerateRasters { % GENERATE RASTERS FOR "IMAGEMASK" rasters runlength 1 eq {RunLengthToRasters} if }def % /int-dict-name {int (-dict) concatnam}def /int-dict {int (-dict) concatnam cvx load}def % /DefinePXLFont { % ... % ...[llx lly urx ury]DefinePXLFont /newfont exch def /bb exch def /num exch def /psz exch def /dsz exch def /pxlmag exch def /ext exch def /int exch def /fnam ext (-) concatnam pxlmag cvsstr cvs concatnam def newfont not { int-dict-name 13 dict def int-dict begin /FontType 3 def /FontMatrix [ 1 dsz div 0 0 1 dsz div 0 0 ] def /FontBBox bb TransformBBox def /Encoding CMEncodingArray def /CharDict 1 dict def CharDict begin /Char-Info num array def end /BuildChar { PXLBuildCharDict begin /char exch def /fontdict exch def fontdict /CharDict get /Char-Info get char get aload pop /rasters exch def /PackedWord1 exch def 0 PackedWord1 UnpkHW 16#7FFF ne { /PackedWord2 exch def /wx 0 PackedWord1 UnpkHW def /rows 2 PackedWord1 UnpkByte def /cols 3 PackedWord1 UnpkByte def /llx 0 PackedWord2 UnpkByte def /lly 1 PackedWord2 UnpkByte def /urx 2 PackedWord2 UnpkByte def /ury 3 PackedWord2 UnpkByte def }{ %else /PackedWord2 exch def /PackedWord3 exch def /PackedWord4 exch def /wx 1 PackedWord1 UnpkHW def /rows 0 PackedWord2 UnpkHW def /cols 1 PackedWord2 UnpkHW def /llx 0 PackedWord3 UnpkHW def /lly 1 PackedWord3 UnpkHW def /urx 0 PackedWord4 UnpkHW def /ury 1 PackedWord4 UnpkHW def } ifelse rows 0 lt { /rows rows neg def /runlength 1 def }{ %else /runlength 0 def } ifelse wx 0 llx RasterConvert lly RasterConvert urx RasterConvert ury RasterConvert setcachedevice rows 0 ne { gsave cols rows true RasterScaleFactor 0 0 RasterScaleFactor neg llx .5 add neg ury .5 add tempmatrix astore GenerateRasters imagemask grestore } if end }def end fnam int-dict definefont pop } if int-dict-name fnam findfont psz scalefont def currentdict int [ int-dict /setfont cvx ] cvx put }def /PXLF { true DefinePXLFont}def % SIGNAL THAT FONT ALREADY LOADED /PXLNF {false DefinePXLFont}def % SIGNAL THAT FONT NOT ALREADY LOADED % /PXLC { % ... % ...PXLC /rasters exch def /runlength exch def /cols exch def /rows exch def /ury exch def /urx exch def /lly exch def /llx exch def /wx exch def /code exch def /int exch def % SEE IF LONG OR SHORT FORMAT IS REQUIRED true cols CKSZ rows CKSZ ury CKSZ urx CKSZ lly CKSZ llx CKSZ TackRunLengthToRows { int-dict /CharDict get /Char-Info get code [ 0 0 llx PackByte 1 lly PackByte 2 urx PackByte 3 ury PackByte 0 0 wx PackHW 2 rows PackByte 3 cols PackByte rasters ] put }{ %else int-dict /CharDict get /Char-Info get code [ 0 0 urx PackHW 1 ury PackHW 0 0 llx PackHW 1 lly PackHW 0 0 rows PackHW 1 cols PackHW 0 0 16#7FFF PackHW 1 wx PackHW rasters ] put } ifelse }def % /CKSZ {abs 127 le and}def /TackRunLengthToRows {runlength 0 ne {/rows rows neg def} if}def % /PLOTC { % PLOTC /rasters exch def /runlength exch def /cols exch def /rows exch def /ury exch def /urx exch def /lly exch def /llx exch def /psz exch def /dsz exch def /wx exch def % "PLOT" A CHARACTER'S RASTER PATTERN rows 0 ne { gsave currentpoint translate psz dsz div dup scale cols rows true RasterScaleFactor 0 0 RasterScaleFactor neg llx .5 add neg ury .5 add tempmatrix astore GenerateRasters imagemask grestore } if wx x }def % % set color routine: Color# SC /SC {ColorPalette exch get 1.0 setcustomcolor}bind def % %%EndProlog %%BeginSetup /PxlResolution 300 def /Resolution 3600 def /RasterScaleFactor PxlResolution Resolution div def /PortraitMode true def /PaperWidth 8.500 def /PaperHeight 11.000 def 72 Resolution div dup scale %> Postamble of file SYS$LOGIN_DEVICE:[MSHERLOCK.PPP]PPP_INTERFACES.DVI_PS. % DefineFont:F238 Category:10 Pointsize:8 /Courier /Courier@DOCPSE DOCPSE ReENCODE /F238 400.100 /Courier@DOCPSE DPSF % DefineFont:F214 Category:10 Pointsize:22 /Helvetica /Helvetica@DOCPSE DOCPSE ReENCODE /F214 1100.100 /Helvetica@DOCPSE DPSF % DefineFont:F208 Category:10 Pointsize:20 /Helvetica-Bold /Helvetica-Bold@DOCPSE DOCPSE ReENCODE /F208 1000.0 /Helvetica-Bold@DOCPSE DPSF % DefineFont:F161 Category:10 Pointsize:8 /NewCenturySchlbk-Bold /NewCenturySchlbk-Bold@DOCPSE DOCPSE ReENCODE /F161 400.0 /NewCenturySchlbk-Bold@DOCPSE DPSF % DefineFont:F159 Category:10 Pointsize:8 /NewCenturySchlbk-Roman /NewCenturySchlbk-Roman@DOCPSE DOCPSE ReENCODE /F159 400.0 /NewCenturySchlbk-Roman@DOCPSE DPSF % DefineFont:F157 Category:10 Pointsize:9 /F157 450.0 /NewCenturySchlbk-Bold@DOCPSE DPSF % DefineFont:F155 Category:10 Pointsize:9 /F155 450.0 /NewCenturySchlbk-Roman@DOCPSE DPSF % DefineFont:F152 Category:10 Pointsize:10 /NewCenturySchlbk-Italic /NewCenturySchlbk-Italic@DOCPSE DOCPSE ReENCODE /F152 500.0 /NewCenturySchlbk-Italic@DOCPSE DPSF % DefineFont:F151 Category:10 Pointsize:10 /F151 500.0 /NewCenturySchlbk-Roman@DOCPSE DPSF % DefineFont:F149 Category:10 Pointsize:11 /F149 550.0 /NewCenturySchlbk-Bold@DOCPSE DPSF % DefineFont:F147 Category:10 Pointsize:11 /F147 550.0 /NewCenturySchlbk-Roman@DOCPSE DPSF % DefineFont:F40 Category:10 Pointsize:9 /F40 450.0 /Helvetica-Bold@DOCPSE DPSF % DefineFont:F38 Category:10 Pointsize:9 /F38 450.0 /Helvetica@DOCPSE DPSF % DefineFont:F36 Category:10 Pointsize:10 /F36 500.0 /Helvetica-Bold@DOCPSE DPSF % DefineFont:F32 Category:10 Pointsize:11 /F32 550.0 /Helvetica-Bold@DOCPSE DPSF % DefineFont:F28 Category:10 Pointsize:12 /F28 600.0 /Helvetica-Bold@DOCPSE DPSF % DefineFont:F24 Category:10 Pointsize:14 /F24 700.0 /Helvetica-Bold@DOCPSE DPSF % DefineFont:F8 Category:10 Pointsize:36 /F8 1800.0 /Helvetica-Bold@DOCPSE DPSF %> Postamble of file PPP_INTERFACES_CONTENTS. % DefineFont:F34 Category:10 Pointsize:10 /F34 500.0 /Helvetica@DOCPSE DPSF %Spot color array for this job /ColorPalette [ 0.0 0.0 0.0 1.0 (BLACK) findcmykcustomcolor 0.0 0.0 0.0 1.0 (UNDEFINED) findcmykcustomcolor 0.0 0.0 0.0 1.0 (UNDEFINED) findcmykcustomcolor 0.0 0.0 0.0 1.0 (UNDEFINED) findcmykcustomcolor 0.0 0.0 0.0 1.0 (HEADCOLOR) findcmykcustomcolor 0.0 0.0 0.0 1.0 (FOOTCOLOR) findcmykcustomcolor ] def %%EndSetup % %%Page: (I) 1 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 8681 11558 XY 18228 48 R 8681 12803 XY F214(Guide)S 206 x(to)S 205 x(OpenVMS)S 205 x(Alpha)S 207 x(PPP)S 8681 14049 XY(Privileg)S 2 x (ed)S 166 x(Interfaces)S 8681 15842 XY F147(November)S 166 x(7,)S 166 x (1996)S 8681 X 897 y(This)S 170 x(document)S 171 x(describes)S 169 x (the)S 171 x(privileged)S 170 x(interfaces)S 170 x(for)S 172 x(the)S 171 x(Point-to-Point)S 8681 X 647 y(Protocol)S 167 x(\(PPP)S 2 x(\))S 166 x(support)S 165 x(provided)S 165 x(in)S 165 x(OpenVMS)S 166 x(Alph)S -2 x(a)S 166 x(V)S -51 x(ersion)S 166 x(7.1.)S 8681 22168 XY F32(Revision/Upd)S -2 x(ate)S 166 x(Information:)S 816 x F147(This)S 166 x(a)S 166 x(new)S 166 x(document.)S 8681 X 897 y F32(Software)S 167 x(V)S -30 x(ersion:)S 17151 X F147(OpenVMS)S 166 x(Alpha)S 164 x(V)S -51 x(ersion)S 166 x (7.1)S 8681 31135 XY F149(Digital)S 166 x(Equipment)S 166 x(Corporat)S 2 x(ion)S 8681 X 647 y(Maynard,)S 166 x(Massachusetts)S EP PP %%PageTrailer %%PageFonts: Helvetica NewCenturySchlbk-Roman %%+ Helvetica-Bold NewCenturySchlbk-Bold %%PageProcessColors: %%PageCustomColors: (BLACK) % %%Page: (II) 2 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 8083 4236 XY 19128 48 R 8083 4684 XY F161(November)S 166 x(1996)S 8083 X 797 y F159(Digital)S 185 x(Equipment)S 187 x(Corporation)S 187 x (makes)S 187 x(no)S 188 x(representations)S 187 x(that)S 187 x(the)S 187 x(use)S 188 x(of)S 187 x(its)S 186 x(products)S 186 x(in)S 187 x (the)S 8083 X 448 y(manner)S 176 x(described)S 174 x(in)S 175 x(this)S 174 x(publicati)S -2 x(on)S 176 x(will)S 174 x(not)S 175 x(infringe)S 175 x(on)S 176 x(existing)S 174 x(or)S 175 x(future)S 176 x(patent)S 175 x(rights,)S 177 x(nor)S 176 x(do)S 8083 X 449 y(the)S 175 x(descriptions)S 173 x(contained)S 175 x(in)S 175 x(this)S 174 x(publi)S -2 x(cation)S 175 x(imply)S 173 x(the)S 175 x(granting)S 175 x(of)S 174 x(licenses)S 174 x(to)S 175 x(make,)S 176 x(use,)S 177 x(or)S 175 x(sell)S 8083 X 448 y(equipment)S 167 x(or)S 166 x(software)S 165 x(in)S 166 x(accordance)S 166 x(with)S 166 x(the)S 167 x(descripti)S -2 x(on.)S 8083 X 797 y(Possessi)S -2 x(on,)S 167 x(use,)S 167 x(or)S 167 x(copying)S 166 x(of)S 167 x (the)S 167 x(software)S 166 x(describ)S -2 x(ed)S 167 x(in)S 166 x(this)S 166 x(publicati)S -2 x(on)S 167 x(is)S 166 x(authorized)S 166 x(only)S 167 x(pursuant)S 8083 X 448 y(to)S 166 x(a)S 166 x(valid)S 164 x(written)S 167 x(license)S 165 x(from)S 166 x(Digital)S 165 x(or)S 166 x(an)S 166 x (authorized)S 166 x(sublicensor)S -30 x(.)S 8083 X 797 y(\251)S 166 x (Digital)S 164 x(Equipment)S 166 x(Corporation)S 166 x(1996)S -2 x(.)S 249 x(All)S 165 x(rights)S 165 x(reserved.)S 8083 X 797 y(This)S 171 x (is)S 170 x(a)S 171 x(draft)S 171 x(document.)S 261 x(Digital)S 170 x (believes)S 170 x(that)S 172 x(the)S 172 x(information)S 171 x(in)S 172 x(this)S 171 x(document)S 173 x(is)S 170 x(accurate)S 171 x(as)S 171 x(of)S 8083 X 449 y(its)S 172 x(issue)S 172 x(date;)S 176 x(such)S 173 x(information)S 173 x(is)S 172 x(subject)S 173 x(to)S 173 x(change)S 174 x(without)S 173 x(notice.)S 263 x(Digital)S 171 x(is)S 172 x(not)S 174 x(responsibl)S -2 x(e)S 174 x(for)S 8083 X 448 y(any)S 166 x(errors.)S 8083 X 797 y(Digital)S 174 x(makes)S 175 x(no)S 176 x(representation)S 175 x(that)S 175 x(the)S 176 x(interconn)S 2 x(ection)S 175 x(of)S 175 x (products)S 175 x(in)S 175 x(the)S 176 x(manner)S 177 x(descri)S -2 x (bed)S 175 x(in)S 8083 X 448 y(this)S 170 x(document)S 172 x(will)S 169 x(not)S 171 x(infringe)S 170 x(existing)S 169 x(or)S 171 x(future)S 171 x(patent)S 170 x(rights.)S 257 x(The)S 171 x(descrip)S -2 x(tions)S 170 x(contained)S 171 x(herein)S 8083 X 449 y(do)S 166 x(not)S 167 x (imply)S 165 x(the)S 167 x(granting)S 166 x(of)S 166 x(any)S 166 x(license)S 166 x(to)S 166 x(make,)S 166 x(use)S 166 x(or)S 167 x(sell)S 164 x(products)S 166 x(constructed)S 167 x(or)S 166 x(describ)S -2 x(ed.)S 8083 X 797 y (Redistri)S -2 x(bution)S 167 x(and)S 166 x(use)S 166 x(of)S 166 x(this)S 165 x(documen)S 2 x(t)S 166 x(to)S 166 x(parties)S 165 x(not)S 167 x (authorized)S 166 x(by)S 165 x(Digital)S 164 x(is)S 165 x(forbidden.)S 8083 X 797 y(The)S 184 x(name)S 183 x(of)S 184 x(Digita)S -2 x(l)S 183 x (Equipment)S 183 x(Corporation)S 183 x(may)S 183 x(not)S 184 x(be)S 182 x(used)S 183 x(to)S 184 x(endorse)S 183 x(or)S 184 x(promote)S 183 x (products)S 8083 X 448 y(derived)S 166 x(from)S 166 x(use)S 166 x(of)S 166 x(this)S 166 x(document)S 167 x(without)S 167 x(speci\211c)S 165 x (prior)S 166 x(written)S 166 x(permissi)S -2 x(on.)S 8083 X 797 y(This)S 158 x(document)S 160 x(is)S 157 x(provided)S 158 x(`)S -7 x(`as)S 157 x (is')S -8 x(')S 159 x(and)S 158 x(without)S 159 x(any)S 159 x(express)S 157 x(or)S 159 x(impli)S -2 x(ed)S 159 x(warranties,)S 158 x(including,)S 160 x(without)S 8083 X 448 y(limitati)S -2 x(on,)S 167 x(the)S 167 x (impli)S -2 x(ed)S 166 x(warranties)S 165 x(or)S 166 x(merchantability)S 165 x(and)S 166 x(\211tness)S 166 x(for)S 166 x(a)S 166 x(parti)S -2 x (cular)S 166 x(purpose.)S 8083 X 797 y(\251)S 166 x(Digital)S 164 x (Equipment)S 166 x(Corporation)S 166 x(1996)S -2 x(.)S 249 x(All)S 165 x (rights)S 165 x(reserved.)S 8083 X 797 y(The)S 181 x(following)S 179 x (are)S 180 x(trademarks)S 179 x(of)S 180 x(Digita)S -2 x(l)S 180 x(Equipment)S 180 x(Corporation:)S 276 x(Bookreader)S -29 x(,)S 183 x(DEC,)S 180 x (DECdi)S -2 x(rect,)S 8083 X 449 y(DECnet,)S 211 x(DECwindows,)S 209 x (Digita)S -2 x(l,)S 210 x(Digital)S 200 x(UNIX,)S 200 x(OpenVMS,)S 202 x (OpenVMS)S 202 x(Cluster)S -30 x(,)S 210 x(V)S -44 x(AX,)S 200 x(V)S -44 x(AX)S 8083 X 448 y(DOCUMENT)S -37 x(,)S 165 x(V)S -44 x(AXcluster)S -31 x(,)S 166 x(VMS,)S 166 x(VMScluster)S -30 x(,)S 166 x(and)S 166 x (the)S 166 x(DIGIT)S -21 x(AL)S 165 x(logo)S(.)S 8083 X 797 y(All)S 165 x(other)S 167 x(trademarks)S 165 x(and)S 166 x(registered)S 165 x (trademarks)S 166 x(are)S 165 x(the)S 167 x(property)S 166 x(of)S 166 x (their)S 166 x(respective)S 166 x(holders.)S 8083 20624 XY(This)S 166 x (document)S 167 x(was)S 165 x(prepared)S 165 x(using)S 166 x(V)S -44 x (AX)S 165 x(DOCUMENT)S 165 x(V)S -37 x(ersion)S 166 x(2.1.)S EP PP %%PageTrailer %%PageFonts: NewCenturySchlbk-Bold NewCenturySchlbk-Roman %%PageProcessColors: %%PageCustomColors: (BLACK) % % < Beginning of included file PPP_INTERFACES_CONTENTS.DVI_PS > %%Page: (III) 3 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 4497 7175 XY 22716 48 R 22895 8224 XY F208(Contents)S 4497 10515 XY F28(Preface)S 312 x F151(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26962 X F34(v)S 4497 12009 XY F28(1)S 498 x(Protocols)S 167 x(Interface)S 5692 X 897 y F34(1.1)S 7485 X F151(VCIB)S 165 x(Extension)S 166 x(Fields)S 119 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(1\2032)S 5692 X 598 y(1.2)S 7485 X F151(Registration)S 166 x(of)S 166 x(the)S 166 x(PPP)S 167 x(VCM)S 82 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 26381 X F34(1\2033)S 5692 X 598 y(1.3)S 7485 X F151(VCI)S 165 x(Port)S 167 x(Management)S 167 x(Services)S 192 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(1\2033)S 5692 X 597 y(1.4)S 7485 X F151(VCI)S 165 x(T)S -30 x(ransmit)S 166 x(Service)S 101 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(1\2035)S 5692 X 598 y(1.4.1)S 8382 X F151(Upper)S 166 x(VCM)S 166 x (Services)S 282 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(1\2036)S 4497 16792 XY F28(2)S 498 x(Network)S 166 x(Control)S 166 x(Protocols)S 167 x(Interface)S 5692 X 896 y F34(2.1)S 7485 X F151(Calls)S 166 x(into)S 166 x(the)S 166 x(PPP)S 167 x(driver)S 166 x(by)S 167 x(the)S 166 x(Control)S 166 x (Protocol)S 280 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(2\2032)S 5692 X 598 y(2.2)S 7485 X F151(Callbacks)S 166 x(to)S 166 x (the)S 166 x(Control)S 166 x(Protocol)S 167 x(by)S 166 x(the)S 166 x (PPP)S 167 x(Driver)S 167 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(2\2034)S 4497 19780 XY F28(3)S 498 x(Programming)S 167 x(Notes)S 5692 X 897 y F34(3.1)S 7485 X F151(Control)S 166 x(Protocols)S 262 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2031)S 5692 X 598 y(3.1.1)S 8382 X F151(Registering)S 167 x(a)S 166 x(Control)S 166 x(Protocol)S 215 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 26381 X F34(3\2031)S 5692 X 597 y(3.1.2)S 8382 X F151(Deregistering)S 167 x(a)S 166 x(Control)S 166 x(Protocol)S 315 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2031)S 5692 X 598 y(3.1.3)S 8382 X F151(Receiving)S 167 x(Noti\211cation)S 167 x(of)S 166 x(a)S 166 x(New)S 165 x(Connection)S 142 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2031)S 5692 X 598 y(3.1.4)S 8382 X F151(Example)S 166 x(operation)S 166 x(of)S 166 x(Negotiating)S 167 x(Con\211gur)S 2 x(ation)S 166 x(Options)S 337 x (.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2032)S 5692 X 598 y(3.1.5)S 8382 X F151(Receiving)S 167 x(Noti\211cation)S 167 x(that)S 165 x(a)S 166 x (Connection)S 167 x(has)S 166 x(Closed)S 212 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2032)S 5692 X 598 y(3.1.6)S 8382 X F151(Stopping)S 166 x(a)S 166 x(Connection)S 203 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 26381 X F34(3\2032)S 5692 X 597 y(3.2)S 7485 X F151(Protocols)S 369 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2032)S 5692 X 598 y(3.2.1)S 8382 X F151(Starting)S 166 x(a)S 166 x(Protocol)S 154 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 26381 X F34(3\2032)S 5692 X 598 y(3.2.2)S 8382 X F151(Stopping)S 166 x(a)S 166 x(Protocol)S 324 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2033)S 5692 X 598 y(3.2.3)S 8382 X F151(Events)S 269 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2033)S 5692 X 597 y(3.3)S 7485 X F151(T)S -25 x(ypical)S 166 x(Sequence)S 167 x (for)S 166 x(Starting)S 167 x(a)S 166 x(Protocol)S 261 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(3\2033)S 4497 28747 XY F28 (4)S 498 x(Compiling)S 168 x(and)S 166 x(Linki)S 2 x(ng)S 5692 X 896 y F34(4.1)S 7485 X F151(Interface)S 167 x(Header)S 166 x(Files)S 220 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(4\2031)S 5692 X 598 y(4.2)S 7485 X F151(Linkin)S 2 x(g)S 355 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(4\2031)S 4497 31918 XY F28(T)S -44 x(ables)S -653 x 32914 Y F34 (1)S(\203)S(1)S 8382 X F151(VCIB)S 165 x(Extensions)S 271 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(1\2032)S 5692 X 698 y(4)S(\203)S(1)S 8382 X F151(PPP)S 167 x(Interface)S 166 x(Header)S 166 x(Files)S 254 x(.)S 160 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x(.)S 161 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 160 x (.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 161 x(.)S 26381 X F34(4\2031)S 5 SC -299 x 38258 Y F38(iii)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (BLACK) %%+ (FOOTCOLOR) % % < End of included file PPP_INTERFACES_CONTENTS.DVI_PS > %%Page: (IV) 4 %DEC_EDMS_BlankPage PP %%PageTrailer %%PageFonts: %%PageProcessColors: %%PageCustomColors: % %%Page: (V) 5 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 4497 7175 XY 22716 48 R 23612 8193 XY F208(Preface)S 8083 10484 XY F151(This)S 172 x(document)S 173 x(describes)S 172 x(the)S 172 x(privileged)S 173 x(interfaces)S 172 x(for)S 173 x(the)S 172 x(Point-to-Point)S 172 x (Protocol)S 8083 X 598 y(support)S 168 x(provided)S 168 x(in)S 168 x (OpenVMS)S 167 x(Alpha)S 167 x(V)S -46 x(ersion)S 168 x(7.1.)S 253 x (It)S 167 x(assumes)S 167 x(that)S 167 x(the)S 168 x(reader)S 168 x (has)S 8083 X 598 y(a)S 177 x(knowledge)S 179 x(of)S 177 x(the)S 177 x (OpenVMS)S 177 x(VCI)S 176 x(programming)S 179 x(interface)S 178 x(and)S 177 x(is)S 177 x(familiar)S 177 x(with)S 8083 X 597 y(OpenVMS)S 166 x (device)S 166 x(drivers.)S 4497 13573 XY F24(Overvie)S -2 x(w)S 232 x (of)S 233 x(OpenVMS)S 232 x(Alpha)S 232 x(PPP)S 233 x(Support)S 8083 X 896 y F151(The)S 172 x(Point-to-Point)S 172 x(Protocol)S 172 x(\(PPP\))S 172 x(is)S 171 x(an)S 171 x(internet)S 172 x(layer)S 172 x(protocol)S 172 x(which)S 171 x(is)S 171 x(now)S 172 x(the)S 8083 X 598 y(widely)S 177 x(accepted)S 178 x(replacement)S 178 x(for)S 177 x(the)S 178 x(Serial)S 177 x(Line)S 178 x(Interconnect)S 178 x(Protocol)S 178 x(\(SLIP\).)S 8083 X 598 y(PPP)S 183 x(support)S 182 x(enhances)S 183 x(the)S 182 x (connectivity)S 183 x(and)S 182 x(internet-readiness)S 182 x(of)S 182 x (OpenVMS)S 8083 X 598 y(Alpha)S 171 x(by)S 172 x(providing)S 172 x(a)S 171 x(way)S 172 x(to)S 171 x(establis)S -2 x(h)S 172 x(a)S 171 x(dynamic)S 172 x(Internet)S 171 x(Protocol)S 172 x(\(IP\))S 171 x(network)S 8083 X 597 y(connection)S 168 x(over)S 166 x(a)S 166 x(serial)S 166 x(line\203without)S 166 x(extensive)S 167 x(router)S 167 x(or)S 166 x(server)S 166 x(hardware.)S 8083 X 897 y(Based)S 181 x(on)S 182 x(code)S 182 x(originated)S 182 x (at)S 181 x(Carnegie)S 182 x(Mellon)S 183 x(University)S -55 x(,)S 186 x (this)S 181 x(serial)S 181 x(protocol)S 8083 X 598 y(features:)S 8083 X 896 y(\201)S 595 x(A)S 170 x(way)S 171 x(to)S 171 x(encapsulate)S 171 x (datagrams)S 171 x(an)S 171 x(a)S 171 x(serial)S 171 x(link.)S 260 x (Speci\211cally)S -55 x(,)S 173 x(PPP)S 171 x(supports)S 8980 X 598 y (an)S 166 x(asynchron)S 2 x(ous)S 166 x(link)S 166 x(with)S 166 x(8)S 166 x(bits)S 165 x(of)S 166 x(data)S 166 x(and)S 166 x(no)S 167 x(parity)S -55 x(.)S 8083 X 897 y(\201)S 595 x(A)S 182 x(link)S 184 x(control)S 183 x(protocol)S 183 x(\(LCP\))S 182 x(that)S 183 x(establishes)S 182 x (and)S 183 x(veri\211es)S 183 x(the)S 183 x(data)S 182 x(link)S 8980 X 597 y(connection.)S 297 x(This)S 189 x(protocol)S 189 x(enables)S 189 x (each)S 189 x(host,)S 196 x(network,)S 195 x(or)S 189 x(transport)S 189 x(to)S 8980 X 598 y(con\211gu)S 2 x(re)S 166 x(various)S 167 x(communication)S 166 x(options.)S 8083 X 897 y(T)S -45 x(o)S 180 x(support)S 180 x(this)S 180 x(protocol,)S 184 x(OpenVMS)S 180 x(Alpha)S 180 x(V)S -46 x(ersion)S 180 x(7.1)S 181 x(offers)S 179 x(a)S 181 x(Point-to-Point)S 8083 X 598 y (Protocol)S 167 x(utility)S 166 x(\(PPPD\))S 166 x(and)S 166 x(related)S 166 x(device)S 167 x(driver)S -36 x(.)S 8083 X 896 y(The)S 169 x(Point-to-Point)S 168 x(Protocol)S 168 x(utility)S 168 x(\(PPPD\))S 167 x(is)S 168 x(a)S 167 x(DCL-level)S 168 x(tool)S 167 x(that)S 168 x(you)S 168 x(can)S 168 x(use)S 168 x(to)S 8083 X 598 y(initiate)S 169 x(and)S 169 x(manage)S 169 x(an)S 169 x(IP)S 169 x(network)S 169 x(connection)S 170 x(over)S 170 x(an)S 169 x(asynchron)S 2 x(ous,)S 170 x(serial)S 168 x(data)S 8083 X 598 y(line.)S 268 x(PPPD)S 176 x(extends)S 175 x(the)S 175 x (networking)S 176 x(capability)S 176 x(of)S 175 x(OpenVMS)S 174 x(Alpha)S 175 x(by)S 176 x(enabling)S 8083 X 598 y(you)S 167 x(to:)S 8083 X 896 y (\201)S 595 x(Establis)S -2 x(h)S 172 x(temporary)S -55 x(,)S 172 x (high-speed)S 172 x(network)S 171 x(connections)S 172 x(between)S 171 x (remote)S 171 x(hosts.)S 8980 X 598 y(This)S 180 x(includes)S 179 x (both)S 180 x F152(dial-in)S 180 x F151(capability)S 179 x(from)S 180 x (a)S 179 x(remote)S 180 x(host)S 179 x(to)S 180 x(an)S 180 x(OpenVMS)S 8980 X 598 y(Alpha)S 168 x(host)S 168 x(and)S 168 x F152(dial-out)S 169 x F151(capability)S 168 x(from)S 168 x(an)S 169 x(OpenVMS)S 168 x (Alpha)S 168 x(host)S 168 x(to)S 168 x(a)S 168 x(remote)S 8980 X 597 y (system)S 165 x(or)S 167 x(server)S 166 x(box)S 167 x(that)S 166 x(supports)S 165 x(PPP)S -63 x(.)S 8083 X 897 y(\201)S 595 x(Establis)S -2 x(h)S 178 x(permanent,)S 182 x(low-speed)S 176 x(network)S 178 x(connection)S 2 x(s)S 177 x(between)S 177 x(local)S 178 x(hosts,)S 8980 X 598 y(such)S 168 x(as)S 168 x(between)S 167 x(a)S 168 x(laptop)S 168 x(computer)S 168 x(and)S 168 x(an)S 168 x(Alpha)S 168 x(workstation)S 168 x(connected)S 168 x(by)S 169 x(a)S 8980 X 598 y(serial)S 166 x(data)S 165 x(line.)S 8083 X 896 y(\201)S 595 x(Set)S 168 x(and)S 169 x(display)S 169 x(communication)S 169 x(characteristics,)S 170 x(such)S 169 x(as)S 169 x(address)S 168 x (compression,)S 8980 X 598 y(\212ow)S 166 x(control,)S 167 x(and)S 166 x (line)S 166 x(speed.)S 4497 33697 XY F24(Intended)S 232 x(Audience)S 8083 X 897 y F151(This)S 198 x(information)S 199 x(in)S 198 x(this)S 198 x(guide)S 199 x(is)S 197 x(intended)S 199 x(for)S 198 x(system)S 198 x(and)S 198 x(application)S 8083 X 598 y(programmers.)S 281 x(It)S 181 x(presumes)S 182 x(that)S 181 x(its)S 181 x(readers)S 182 x(are)S 182 x(familiar)S 181 x(with)S 181 x(the)S 182 x(OpenVMS)S 8083 X 597 y (Alpha)S 166 x(programming)S 167 x(environ)S 2 x(ment)S 166 x(and)S 166 x(concepts.)S 5 SC 26987 38258 XY F38(v)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ NewCenturySchlbk-Italic Helvetica %%PageProcessColors: %%PageCustomColors: (BLACK) %%+ (FOOTCOLOR) % %%Page: (VI) 6 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 4497 4689 XY F24(Relate)S -2 x(d)S 233 x(Documents)S 8083 X 897 y F151(Refer)S 168 x(to)S 169 x(the)S 168 x F152(TCP/IP)S 169 x(Networking)S 169 x(on)S 169 x(OpenVMS)S 169 x(Systems)S 169 x F151(for)S 169 x(a)S 168 x(detailed)S 168 x(description)S 8083 X 598 y(of)S 167 x(this)S 167 x(utility)S 167 x(and)S 167 x(its)S 166 x(related)S 167 x(subcommands.)S 251 x(Sample)S 167 x(PPPD)S 167 x(connection)S 168 x(procedures)S 8083 X 597 y(are)S 173 x(also)S 172 x(provided)S 173 x(online)S 173 x(in)S 172 x(an)S 173 x(ASCII)S 171 x(\(.TXT\))S 173 x(and)S 172 x(PostScript)S 172 x(\(.PS\))S 173 x(\211le.)S 263 x(Once)S 172 x(you)S 8083 X 598 y (install)S 170 x(the)S 171 x(OpenVMS)S 170 x(Alpha)S 171 x(V)S -46 x (ersion)S 170 x(7.1)S 171 x(kit,)S 173 x(you)S 171 x(can)S 172 x(retrieve)S 171 x(either)S 171 x(\211le)S 171 x(from)S 170 x(the)S 8083 X 598 y (following)S 166 x(location:)S 8083 X 897 y F238(SYS$SYSRO)S 2 x(OT:[SYSHLP.E)S 2 x(XAMPLES.PPPD)S 2 x(.DOC]PPP_CON)S 2 x(NECT.TXT)S 240 x(\(or)S 240 x (.PS\))S 8083 X 896 y F151(For)S 189 x(additional)S 188 x(information)S 189 x(on)S 188 x(the)S 189 x(Open)S 188 x(Systems)S 188 x(Software)S 187 x(Group)S 188 x(\(OSSG\))S 8083 X 598 y(products)S 162 x(and)S 163 x (services,)S 164 x(access)S 162 x(the)S 162 x(Digital)S 162 x(OpenVMS)S 162 x(W)S -28 x(orld)S 162 x(W)S -18 x(ide)S 162 x(W)S -28 x(eb)S 162 x (site.)S 249 x(Use)S 162 x(the)S 8083 X 598 y(following)S 166 x(URL:)S 8083 X 896 y F238(http://ww)S 2 x(w.openvms.di)S 2 x(gital.com)S 4497 13158 XY F24(Reade)S -2 x(r)S 27 x(')S -26 x(s)S 232 x(Comments)S 8083 X 896 y F151(Digital)S 166 x(welcomes)S 165 x(your)S 167 x(comments)S 166 x (on)S 166 x(this)S 166 x(manual.)S 8083 X 897 y(Print)S 169 x(or)S 168 x (edit)S 168 x(the)S 168 x(online)S 169 x(form)S 168 x(SYS$HELP:OPENVMSDO)S -2 x(C_COMMENTS.TXT)S 168 x(and)S 8083 X 598 y(send)S 166 x(us)S 166 x (your)S 167 x(comments)S 166 x(by:)S 8083 X 896 y F155(Internet)S 12168 X F157(openvmsdoc@zko.mts.dec.com)S 8083 X 747 y F155(Fax)S 12168 X(603)S 150 x(881-01)S 2 x(20,)S 149 x(Attentio)S 2 x(n:)S 223 x(OSSG)S 150 x (Documentation,)S 150 x(ZKO3-4/U08)S 8083 X 748 y(Mail)S 12168 X(OSSG)S 150 x(Documentation)S 150 x(Group,)S 149 x(ZKO3-4/U08)S 12168 X 498 y (1)S -25 x(10)S 150 x(Spit)S 151 x(Brook)S 150 x(Rd.)S 12168 X 498 y (Nashua,)S 149 x(NH)S 150 x(0306)S 2 x(2-2698)S 4497 20231 XY F24(How)S 231 x(T)S -51 x(o)S 232 x(Order)S 233 x(Additional)S 232 x(Documentation)S 8083 X 897 y F151(Use)S 187 x(the)S 188 x(following)S 187 x(table)S 187 x(to)S 187 x(order)S 188 x(additional)S 187 x(documentation)S 188 x (or)S 187 x(information.)S 8083 X 597 y(If)S 183 x(you)S 185 x(need)S 184 x(help)S 184 x(deciding)S 184 x(which)S 184 x(documentation)S 184 x (best)S 183 x(meets)S 183 x(your)S 184 x(needs,)S 189 x(call)S 8083 X 598 y(800-DIGIT)S -29 x(AL)S 166 x(\(800-344-4825\).)S 4497 23618 XY F24(Conventions)S -638 x 897 y F151(The)S 164 x(name)S 164 x(of)S 163 x (the)S 164 x(OpenVMS)S 163 x(AXP)S 163 x(operating)S 164 x(system)S 163 x(has)S 163 x(been)S 164 x(changed)S 165 x(to)S 163 x(OpenVMS)S 8083 X 598 y(Alpha)S 170 x(operating)S 171 x(system.)S 258 x(Any)S 170 x (references)S 171 x(to)S 170 x(OpenVMS)S 170 x(AXP)S 170 x(or)S 170 x (AXP)S 170 x(are)S 171 x(synonym)S 8083 X 597 y(ous)S 166 x(with)S 166 x (OpenVMS)S 166 x(Alpha)S 165 x(or)S 167 x(Alpha.)S 5 SC 4497 38258 XY F38(vi)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ NewCenturySchlbk-Italic Courier NewCenturySchlbk-Bold %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-1) 7 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 26214 6776 XY F8(1)S 4497 X 448 y 22716 48 R 18132 8242 XY F208 (Proto)S -2 x(cols)S 332 x(Interface)S 8083 10534 XY F151(This)S 162 x (chapter)S 161 x(describes)S 161 x(how)S 161 x(to)S 161 x(write)S 161 x (a)S 161 x(network)S 161 x(control)S 162 x(protocol)S 161 x(and)S 162 x (how)S 161 x(to)S 161 x(use)S 161 x(the)S 8083 X 597 y(VCI)S 166 x(interface)S 168 x(to)S 166 x(transfer)S 167 x(packets.)S 252 x(It)S 166 x(is)S 167 x (this)S 166 x(interface)S 168 x(that)S 167 x(the)S 167 x(network)S 167 x (developers)S 8083 X 598 y(need)S 167 x(to)S 165 x(read)S 167 x(and)S 166 x(understand)S 166 x(in)S 167 x(order)S 166 x(to)S 166 x(use)S 166 x (PPP)S -63 x(.)S 8083 X 897 y(Protocols)S 178 x(gain)S 178 x(access)S 178 x(to)S 177 x(the)S 178 x(PPP)S 179 x(driver)S 178 x(via)S 178 x (a)S 178 x(VCI)S 177 x(interface.)S 273 x(The)S 178 x(VCI)S 177 x(\(VMS)S 8083 X 598 y(Communications)S 177 x(Interface\))S 176 x(is)S 176 x(an)S 177 x(OpenVMS)S 177 x(internal)S 177 x(interface)S 177 x(which)S 177 x (may)S 176 x(be)S 8083 X 597 y(used)S 182 x(between)S 181 x(any)S 182 x (system)S 181 x(level)S 182 x(Kernel)S 182 x(mode)S 181 x(modules,)S 186 x(called)S 181 x(VCMs)S 181 x(\(VMS)S 8083 X 598 y(Communication)S 174 x(Modules\).)S 264 x(Messages)S 173 x(are)S 173 x(passed)S 173 x (between)S 173 x(VCMs)S 172 x(via)S 174 x(the)S 173 x(VCRP)S 8083 X 598 y(\(VMS)S 174 x(Communication)S 174 x(Request)S 173 x(Packet\))S 175 x(structure.)S 266 x(Although)S 175 x(the)S 174 x(VCI)S 173 x(interface)S 8083 X 598 y(permits)S 173 x(VCRPs)S 172 x(to)S 173 x(be)S 174 x(chained,)S 176 x(to)S 173 x(simplify)S 173 x(the)S 174 x(design,)S 176 x(the)S 174 x(PPP)S 174 x(driver)S 174 x(supports)S 8083 X 597 y(unchain)S 2 x (ed)S 166 x(requests)S 165 x(only)S 8083 X 897 y(A)S 166 x(structure)S 166 x(called)S 166 x(the)S 166 x(VCIB)S 164 x(\(VMS)S 166 x(Communication)S 166 x(Interface)S 166 x(Block\))S 166 x(maintains)S 165 x(the)S 8083 X 598 y(context)S 171 x(of)S 170 x(the)S 171 x(interface)S 170 x(and)S 170 x(is)S 170 x(shared)S 170 x(between)S 170 x(both)S 171 x(the)S 170 x (upper)S 171 x(and)S 170 x(lower)S 170 x(VCMs.)S 8083 X 597 y(The)S 176 x(services)S 176 x(which)S 175 x(comprise)S 176 x(the)S 175 x(VCI)S 175 x(for)S 175 x(the)S 176 x(PPP)S 176 x(driver)S 176 x(are)S 176 x (described)S 175 x(in)S 175 x(the)S 8083 X 598 y(following)S 172 x(sections.)S 259 x(For)S 172 x(more)S 172 x(information)S 171 x(on)S 172 x(VCI)S 170 x(refer)S 172 x(to)S 171 x(the)S 172 x(VCI)S 170 x(Speci\211cation.)S 8083 X 598 y(All)S 168 x(routines)S 169 x(must)S 168 x(be)S 169 x(called)S 168 x(at)S 169 x(IPL8)S 168 x(with)S 169 x(IOLOC)S -2 x(K8)S 168 x(as)S 168 x(the)S 169 x(highest)S 169 x(lock)S 169 x(acquired.)S 8083 X 598 y (Calls)S 165 x(into)S 166 x(the)S 167 x(upper)S 166 x(VCM)S 166 x(will)S 165 x(also)S 166 x(adhere)S 166 x(to)S 166 x(these)S 166 x(rules.)S 8083 X 896 y(The)S 172 x(PPP)S 172 x(VCM)S 171 x(provides)S 172 x(the)S 172 x(following)S 171 x(VCI)S 171 x(services)S 171 x(\(see)S 171 x(subsequent)S 172 x(sections)S 171 x(for)S 8083 X 598 y(explanations\).)S 8083 X 897 y (\201)S 595 x(CREA)S -29 x(TE_PORT)S 8083 X 896 y(\201)S 595 x(DELETE_POR)S -2 x(T)S 8083 X 897 y(\201)S 595 x(PORTMGMT_INITIA)S -28 x(TE)S 8980 X 747 y 300 48 R 9876 25179 XY(ENABLE_PORT)S 8980 X 747 y 300 48 R 9876 26075 XY (DISABLE_POR)S -2 x(T)S 8083 X 897 y(\201)S 595 x(TRANSMIT_INITIA)S -29 x(TE)S 8083 X 897 y(The)S 167 x(upper)S 166 x(VCM)S 166 x(is)S 166 x (expected)S 166 x(to)S 166 x(provide)S 166 x(the)S 167 x(following)S 166 x(services)S 8083 X 896 y(\201)S 595 x(PORTMGMT_COMPLETE)S 8083 X 897 y(\201)S 595 x(TRANSMIT_COMPLETE)S 8083 X 897 y(\201)S 595 x(RECE)S -2 x(IVE_COMPLETE)S 8083 X 896 y(\201)S 595 x(REPORT_EV)S -2 x(ENT)S 8083 X 897 y(The)S 187 x(descriptions)S 186 x(of)S 187 x(the)S 187 x (service)S 187 x(routines)S 186 x(in)S 187 x(the)S 187 x(following)S 187 x(sections)S 186 x(use)S 186 x(C)S 8083 X 598 y(programming)S 167 x (notation.)S 8083 X 896 y(The)S 167 x(interface)S 166 x(to)S 166 x(the)S 166 x(Report)S 166 x(Event)S 166 x(routine)S 167 x(is)S 166 x(as)S 165 x (follows:)S 5 SC 22286 38258 XY F38(Protocols)S 167 x(Interface)S 399 x F40(1\2031)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-2) 8 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Protocols)S 167 x(Interface)S 0 SC 8083 4555 XY F151(The)S 167 x(Calling)S 166 x(Sequence)S 167 x(is:)S 8083 X 897 y F238(@VCIB$A_R)S 2 x(EPORT_EVENT\()S 2 x(R4\))S 19085 X(JSB)S 8083 X 797 y(INPUTS:)S 13345 X 797 y(R1)S 239 x(=)S 240 x(Event)S 240 x(Code)S 13345 X 797 y(R2)S 239 x(=)S 240 x(Reason)S 240 x(Code)S 240 x(\(optional\))S 13345 X 797 y(R4)S 239 x(=)S 240 x(Address)S 240 x(of)S 239 x(VCIB)S 8083 X 797 y(OUTPUTS:)S 13345 X 797 y(R0)S 239 x(and)S 240 x(R1)S 239 x (may)S 240 x(be)S 240 x(destroyed)S 4497 11728 XY F24(1.1)S 398 x(VCIB)S 231 x(Extension)S 232 x(Fields)S 8083 X 897 y F151(The)S 170 x(VCIB)S 169 x(used)S 169 x(to)S 170 x(connect)S 170 x(the)S 170 x(upper)S 170 x (VCM)S 169 x(to)S 170 x(the)S 169 x(PPP)S 171 x(VCM)S 169 x(has)S 169 x (three)S 170 x(additional)S 8083 X 598 y(\211elds)S 177 x(added)S 177 x (to)S 177 x(the)S 177 x(standard)S 177 x(VCIB.)S 176 x(T)S -31 x(able)S 177 x(1)S(\203)S(1)S 177 x(describes)S 177 x(the)S 177 x(extra)S 178 x (\211elds)S 177 x(in)S 177 x(the)S 8083 X 597 y(VCIB.)S 4497 15265 XY F36(T)S -37 x(able)S 150 x(1)S(\203)S(1)S 399 x(VCIB)S 149 x(Extension)S 2 x(s)S 4497 X 324 y 22716 24 R 4497 16087 XY F40(Field)S 148 x(Name)S 8581 X(Client)S 12666 X(PPP)S 149 x(Access)S 16751 X(Size)S 149 x(Access)S 20835 X(Description)S 4497 X 299 y 22716 24 R 4497 16984 XY F155(PORT_ID)S 8581 X(No)S 150 x(Access)S 12666 X(IR)S -16 x(WZ)S 16751 X(Long)S 149 x (W)S -25 x(ord)S 20835 X(Private)S 151 x(to)S 150 x(PPP)S 4497 X 747 y (FCS_SIZE)S 8581 X(R)S 12666 X(IR)S -16 x(WZ)S 16751 X(Byte)S 20835 X (Space)S 151 x(to)S 150 x(leave)S 150 x(for)S 150 x(FCS)S 4497 X 747 y (HDR_SIZE)S 8581 X(R)S 12666 X(IR)S -16 x(WZ)S 16751 X(Byte)S 20835 X (Space)S 151 x(to)S 150 x(leave)S 150 x(for)S 150 x(PPP)S 149 x(header)S 4497 X 747 y(MTU)S 8581 X(R)S 12666 X(IR)S -16 x(WZ)S 16751 X(W)S -25 x (ord)S 20835 X(Maximum)S 4497 X 399 y 22716 24 R 8083 20720 XY F151 (Key)S 166 x(to)S 166 x(Access:)S 8980 X 896 y(I:)S 166 x(The)S 167 x (module)S 166 x(initializes)S 165 x(this)S 166 x(\211eld)S 166 x(when)S 166 x(the)S 167 x(VCI)S 165 x(port)S 166 x(is)S 165 x(ENABLED.)S 8980 X 598 y(R:)S 166 x(The)S 167 x(module)S 166 x(has)S 166 x(read)S 166 x (access)S 166 x(to)S 166 x(the)S 166 x(\211eld.)S 8980 X 598 y(W)S -19 x (:)S 167 x(The)S 166 x(module)S 166 x(has)S 166 x(write)S 166 x(access)S 166 x(to)S 165 x(the)S 167 x(\211eld.)S 8980 X 597 y(Z:)S 167 x(The)S 166 x(module)S 167 x(will)S 165 x(zero)S 166 x(the)S 166 x(\211eld)S 166 x(when)S 167 x(the)S 166 x(port)S 166 x(is)S 165 x(disabled)S 8083 X 897 y(A)S 166 x(detailed)S 165 x(description)S 166 x(of)S 166 x(the)S 167 x(VCIB)S 164 x(extension)S 167 x(\211eld)S 166 x(follows:)S 8083 X 897 y(\201)S 595 x(VCIB$)S -2 x(L_PPP)S 2 x(_PORT_ID)S 8980 X 797 y (This)S 170 x(\211eld)S 171 x(is)S 170 x(intended)S 171 x(for)S 171 x (use)S 170 x(entirely)S 172 x(by)S 171 x(the)S 170 x(PPP)S 171 x(VCM.)S 171 x(It)S 170 x(provides)S 171 x(a)S 170 x(one-to-)S 8980 X 598 y(one)S 167 x(mapping)S 168 x(from)S 166 x(the)S 167 x(VCI)S 166 x(Port)S 168 x (to)S 166 x(the)S 167 x(PPP)S 168 x(Port.)S 252 x(The)S 167 x(\211eld)S 167 x(is)S 167 x(initialized)S 166 x(when)S 8980 X 597 y(the)S 166 x (client)S 166 x(enables)S 166 x(the)S 166 x(VCI)S 166 x(Port.)S 8083 X 897 y(\201)S 595 x(VCIB$)S -2 x(B_PPP_FCS_SIZE)S 8980 X 797 y(This)S 175 x(\211eld)S 175 x(is)S 174 x(the)S 175 x(amount)S 175 x(of)S 175 x (space)S 175 x(in)S 175 x(bytes)S 175 x(to)S 174 x(leave)S 176 x(at)S 174 x(the)S 175 x(end)S 175 x(of)S 175 x(a)S 175 x(transmit)S 8980 X 598 y(request)S 166 x(so)S 166 x(PPP)S 166 x(can)S 167 x(append)S 166 x (it')S -19 x(s)S 166 x(FCS.)S 8083 X 896 y(\201)S 595 x(VCIB$)S -2 x (B_PPP_HDR_SIZE)S 8980 X 797 y(This)S 172 x(\211eld)S 172 x(is)S 171 x (the)S 172 x(amount)S 173 x(of)S 171 x(space)S 172 x(in)S 172 x(bytes)S 172 x(to)S 172 x(leave)S 172 x(at)S 172 x(the)S 172 x(front)S 172 x (of)S 172 x(a)S 172 x(transmit)S 8980 X 598 y(request)S 166 x(so)S 166 x (PPP)S 166 x(can)S 167 x(back\211ll)S 167 x(its)S 165 x(headers.)S 8083 X 897 y(\201)S 595 x(VCIB$)S -2 x(W_PPP_MT)S 2 x(U)S 8980 X 797 y(This)S 174 x(is)S 173 x(the)S 174 x(maximum)S 174 x(number)S 174 x(of)S 174 x (bytes)S 173 x(of)S 174 x(data)S 173 x(that)S 174 x(can)S 174 x(be)S 174 x(transmitted)S 172 x(in)S 174 x(a)S 8980 X 597 y(single)S 166 x (request.)S 5 SC 4497 38258 XY F40(1\2032)S 399 x F38(Protocols)S 167 x (Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Courier Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-3) 9 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 21797 2293 XY F28(Protocols)S 167 x(Interface)S 18078 X 647 y(1.2)S 167 x(Registration)S 167 x(of)S 166 x(the)S 167 x(PPP)S 165 x(VCM)S 0 SC 4497 4711 XY F24(1.2)S 398 x(Regis)S -2 x(tration)S 233 x(of)S 233 x(the)S 233 x(PPP)S 233 x(VCM)S 8083 X 897 y F151(The)S 172 x(PPP)S 171 x(VCI)S 170 x(is)S 171 x(made)S 171 x(available)S 171 x(to)S 170 x (the)S 172 x(upper)S 171 x(VCMs)S 170 x(by)S 171 x(registering)S 172 x (its)S 171 x(CREA)S -29 x(TE_)S 8083 X 597 y(PORT)S 179 x(and)S 179 x (DELETE_PORT)S 178 x(services)S 180 x(with)S 178 x(the)S 180 x(VCI)S 178 x(registry)S -55 x(.)S 276 x(The)S 180 x(PPP)S 180 x(VCM)S 179 x (is)S 8083 X 598 y(identi\211ed)S 184 x(by)S 184 x(the)S 184 x(constant)S 184 x(VCI$K_ID)S -2 x(_PP)S 184 x(which)S 185 x(is)S 183 x(de\211ned)S 184 x(in)S 184 x(the)S 184 x(VCIBDE)S -2 x(F)S 8083 X 598 y(header)S 184 x(module.)S 283 x(Registration)S 183 x(takes)S 182 x(place)S 183 x (when)S 184 x(the)S 183 x(VMS)S 182 x(executive)S 184 x(image)S 184 x (is)S 8083 X 598 y(loaded.)S 286 x(The)S 185 x(interface)S 185 x(to)S 184 x(the)S 185 x(registry)S 185 x(is)S 184 x(provided)S 184 x(by)S 185 x(a)S 185 x(jacket)S 185 x(routine)S 185 x(and)S 184 x(is)S 8083 X 597 y(described)S 166 x(below)S -46 x(.)S -646 x 9792 Y F238(Procedur)S 2 x(e)S 717 x(u_int)S 240 x(VCI$PPP_)S 2 x(REGISTRY\(u_in)S 2 x(t)S 239 x(Request,)S 240 x(u_int)S 14062 X 498 y(VCM_ID,)S 20759 X 498 y (u_int)S 14062 X 498 y(\(*Create)S 2 x(Port\)\(\),)S 240 x(u_int)S 240 x (\(*DeletePo)S 2 x(rt\)\(\))S 240 x(\))S 11192 12382 XY(Descript)S 2 x (ion)S 239 x(Register)S 241 x(the)S 239 x(PPP)S 240 x(VCM)S 240 x(with)S 239 x(the)S 240 x(VCI)S 240 x(registry)S 240 x(to)S 14062 X 498 y(make)S 240 x(it)S 240 x(available)S 240 x(to)S 240 x(upper)S 240 x(VCMs)S 11192 13976 XY (Returns)S 14062 X(SS$_NORM)S 2 x(AL)S 18846 X(Successful)S 240 x(completi)S 2 x(on)S 14062 X 498 y(SS$_OPIN)S 2 x(COMPL)S 18846 X(User)S 239 x(is)S 240 x(not)S 239 x(a)S 240 x(registered)S 14062 X 498 y(VCM)S -717 x 499 y(SS$_INSF)S 2 x(EM)S 18846 X(Insufficient)S 241 x(memory)S 240 x (to)S 18846 X 498 y(register)S 240 x(VCM.)S 11192 17065 XY(Paramete)S 2 x(rs)S 717 x(Request)S 19085 X(VCIB$K_FC_RE)S 2 x(GISTER)S 14301 X 498 y(VCM_ID)S 19085 X(VCI$K_ID_PPP)S 14301 X 498 y(CreateP)S 2 x(ort)S 19085 X(Address)S 240 x(of)S 239 x(Create)S 241 x(Port)S 239 x(service)S 19085 X 498 y(entry)S 240 x(point)S 14301 X 498 y(DeleteP)S 2 x(ort)S 19085 X(Address)S 240 x(of)S 19085 X 498 y(Delete)S 240 x(Port)S 240 x (service)S 240 x(entry)S 240 x(point)S 4497 21349 XY F24(1.3)S 398 x (VCI)S 231 x(Port)S 234 x(Management)S 232 x(Services)S 8083 23142 XY F36(CREA)S -37 x(TE_PORT)S 166 x(Service)S 8083 X 896 y F238(Procedure)S 11671 X(u_int)S 240 x(VCI$PPP_CREA)S 2 x(TE_PORT\(VCIB)S 241 x(*Port\))S 8083 25134 XY(Descripti)S 2 x(on)S 11671 X(The)S 239 x(VCI$PPP_)S 2 x (CREATE_PORT)S 241 x(entry)S 240 x(point)S 239 x(is)S 240 x(used)S 11671 X 498 y(by)S 239 x(the)S 240 x(VCI)S 239 x(registr)S 2 x(y)S 239 x(when)S 240 x(an)S 239 x(upper)S 240 x(VCM)S 240 x(wants)S 11671 X 499 y(to)S 239 x(create)S 240 x(a)S 240 x(port)S 239 x(to)S 240 x(this)S 240 x (VCM.)S 479 x(It)S 239 x(is)S 240 x(called)S 11671 X 498 y(with)S 239 x (one)S 240 x(parameter)S 2 x(,)S 239 x(the)S 240 x(VCIB)S 239 x(which)S 240 x(the)S 11671 X 498 y(upper)S 240 x(VCM)S 239 x(has)S 240 x(already)S 240 x(initiali)S 2 x(sed)S 239 x(its)S 11671 X 498 y(fields)S 240 x (and)S 239 x(entry)S 240 x(points.)S 241 x(The)S 239 x(PPP)S 240 x(driver)S 11671 X 498 y(will)S 239 x(initial)S 2 x(ise)S 239 x(PPP's)S 240 x(VCI)S 240 x(entry)S 240 x(points)S 240 x(and)S 11671 X 498 y(the)S 239 x(relevant)S 241 x(fields)S 240 x(in)S 239 x(the)S 240 x(VCIB.)S 8083 29717 XY(Returns)S 11431 X(SS$_NOR)S 2 x(MAL)S 16215 X(Port)S 240 x(successfully)S 241 x (created)S 8083 30813 XY(Parameter)S 2 x(s)S 11671 X(Port)S 14062 X (A)S 240 x(pointer)S 240 x(to)S 239 x(the)S 240 x(VCIB.)S 5 SC 22286 38258 XY F38(Protocols)S 167 x(Interface)S 399 x F40(1\2033)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Courier Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-4) 10 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Protocols)S 167 x(Interface)S 4497 X 647 y(1.3)S 167 x(VCI)S 165 x(Port)S 166 x(Manageme)S 2 x(nt)S 166 x(Services)S 0 SC 8083 4561 XY F36(DELETE_P)S 2 x(ORT)S 165 x(Service)S 8083 X 598 y F238(Procedure)S 11431 X(u_int)S 240 x(VCI$PPP)S 2 x(_DELETE_PORT)S 2 x(\(VCIB)S 240 x(*Port\))S 8083 6255 XY(Descripti)S 2 x(on)S 717 x (The)S 240 x(VCI$PPP_D)S 2 x(ELETE_PORT)S 240 x(entry)S 240 x(point)S 240 x(is)S 240 x(used)S 14541 X 498 y(by)S 239 x(the)S 240 x(VCI)S 239 x (registr)S 2 x(y)S 239 x(when)S 240 x(a)S 239 x(upper)S 240 x(VCM)S 240 x(wants)S 14541 X 498 y(to)S 239 x(delete)S 240 x(a)S 240 x(VCI)S 239 x(port)S 240 x(to)S 239 x(this)S 240 x(VCM.)S 479 x(It)S 240 x(is)S 14541 X 498 y(called)S 240 x(with)S 240 x(one)S 239 x(parameter)S 241 x (which)S 240 x(is)S 239 x(the)S 240 x(VCIB)S 14541 X 498 y(that)S 239 x (describ)S 2 x(es)S 239 x(the)S 240 x(connection)S 240 x(to)S 240 x (the)S 240 x(lower)S 14541 X 498 y(VCM.)S 16454 X(This)S 240 x(routine)S 240 x(performs)S 240 x(all)S 14541 X 498 y(decommission)S 2 x(ing)S 239 x(for)S 240 x(this)S 240 x(VCI)S 239 x(port)S 240 x(and)S 14541 X 498 y(zero's)S 240 x(the)S 239 x(fields)S 241 x(earlier)S 240 x(initialised)S 241 x(in)S 14541 X 499 y(the)S 239 x(CREATE_P)S 2 x(ORT\(\).)S 479 x (The)S 239 x(upper)S 240 x(VCM)S 240 x(is)S 14541 X 498 y(responsible)S 241 x(for)S 239 x(deallocat)S 2 x(ing)S 239 x(the)S 240 x(VCIB)S 240 x (when)S 14541 X 498 y(this)S 239 x(call)S 240 x(complete)S 2 x(s.)S 14541 X 797 y(NOTE:)S 240 x(Although)S 240 x(this)S 240 x(call)S 240 x (can)S 239 x(be)S 240 x(issued)S 240 x(in)S 14541 X 498 y(any)S 239 x (port)S 240 x(state,)S 240 x(it)S 240 x(is)S 239 x(recommend)S 2 x(ed)S 239 x(the)S 240 x(port)S 14541 X 498 y(be)S 239 x(disabled)S 241 x(before)S 240 x(deleting)S 240 x(it.)S 11431 14125 XY(Returns)S 14541 X(SS$_NORMAL)S 21715 X(Port)S 240 x(was)S 240 x(successful)S 2 x(ly)S 21715 X 498 y (deleted)S 14541 X 797 y(SS$_DEVACTIV)S 2 x(E)S 21715 X(The)S 240 x (port)S 240 x(has)S 240 x(not)S 239 x(been)S 21715 X 498 y(disable)S 2 x(d)S 11192 17014 XY(Paramete)S 2 x(rs)S 14541 X(Port)S 21715 X(A)S 240 x(pointer)S 240 x(to)S 240 x(the)S 239 x(VCIB)S 8083 X 897 y F36 (PORTMGMT_INITIA)S -36 x(TE)S 167 x(Service)S 11192 X 598 y F238(Procedur)S 2 x(e)S 14541 X(u_int)S 240 x(VCI$PPP_PORT)S 2 x(MGMT_INITIATE)S 2 x (\(VCIB)S 240 x(*Port,)S 14541 X 498 y(VCRP)S 239 x(*Reques)S 2 x(t\))S 11192 20103 XY(Descript)S 2 x(ion)S 718 x(This)S 239 x(entry)S 240 x (point)S 240 x(is)S 240 x(called)S 240 x(to)S 239 x(perform)S 14541 X 498 y(functions)S 240 x(on)S 240 x(the)S 239 x(VCI)S 240 x(port.)S 479 x (The)S 240 x(table)S 240 x(below)S 14541 X 498 y(lists)S 240 x(the)S 239 x(valid)S 240 x(function)S 241 x(codes)S 240 x(and)S 239 x(the)S 14541 X 498 y(action)S 240 x(they)S 240 x(perform.)S 479 x(The)S 240 x (action)S 240 x(taken)S 240 x(by)S 14541 X 498 y(the)S 239 x(routine)S 241 x(depends)S 240 x(on)S 239 x(the)S 240 x(value)S 240 x(in)S 239 x (the)S 14541 X 498 y(VCRP$L_FUNCT)S 2 x(ION)S 239 x(field.)S 479 x(The)S 240 x(function)S 241 x(value)S 14541 X 498 y(also)S 239 x(determi)S 2 x(nes:)S 239 x(the)S 240 x(format)S 240 x(of)S 240 x(the)S 239 x(item)S 14541 X 499 y(lists)S 240 x(passed)S 240 x(in)S 239 x(\(if)S 240 x(any\))S 240 x(and)S 239 x(the)S 240 x(meaning)S 240 x(of)S 14541 X 498 y(return)S 240 x(values.)S 14541 X 498 y(The)S 239 x(call)S 240 x(to)S 240 x(the)S 239 x(PORTMGMT_)S 2 x(INITIATE)S 240 x(service)S 14541 X 498 y(will)S 239 x(always)S 241 x(return)S 240 x(a)S 239 x(success.)S 480 x(The)S 239 x(service)S 14541 X 498 y(completes)S 240 x(it)S 240 x(requests)S 240 x(asynchron)S 2 x(ously)S 240 x(by)S 14541 X 498 y(calling)S 240 x (the)S 240 x(upper)S 240 x(VCM's)S 239 x(PORTMGM)S 2 x(T_COMPLETE)S 14541 X 498 y(routine.)S 479 x(The)S 240 x(status)S 240 x(of)S 239 x (the)S 240 x(call)S 240 x(is)S 14541 X 498 y(determined)S 240 x(by)S 240 x(the)S 240 x(VCRP$Q_REQUES)S 2 x(T_STATUS)S 14541 X 499 y(field)S 240 x(in)S 239 x(the)S 240 x(VCRP)S 240 x(returned)S 240 x(by)S 14541 X 498 y(PORTMGMT_COM)S 2 x(PLETE.)S 11192 29169 XY(Returns)S 14541 X(SS$_NORMAL)S 19324 X(Successful)S 241 x(completion)S 11192 30265 XY(Paramete)S 2 x (rs)S 14541 X(Port)S 19324 X(A)S 239 x(pointer)S 240 x(to)S 240 x(the)S 240 x(VCIB)S 14541 X 498 y(Request)S 19324 X(A)S 239 x(pointer)S 240 x (to)S 240 x(the)S 240 x(VCRP)S 239 x(contain)S 2 x(ing)S 19324 X 498 y (the)S 239 x(portmgm)S 2 x(t)S 478 x(request)S 10714 32357 XY(**********)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*******)S 11671 X 498 y(Table:)S 718 x(Supported)S 241 x(PORTMGMT_IN)S 2 x(ITIATE)S 240 x(functions.)S 10953 33951 XY(Function)S 241 x(Code)S 18606 X(Descript)S 2 x(ion)S 10953 35047 XY(ENABLE_PO)S 2 x(RT)S 14541 X (Initiate)S 240 x(actions)S 240 x(to)S 240 x(allow)S 240 x(data)S 240 x (transmission)S 14541 X 498 y(and)S 239 x(receptio)S 2 x(n)S 239 x(of)S 239 x(protocol)S 241 x(packets)S 5 SC 4497 38258 XY F40(1\2034)S 399 x F38(Protocols)S 167 x(Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-5) 11 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 21797 2293 XY F28(Protocols)S 167 x(Interface)S 17412 X 647 y(1.3)S 167 x(VCI)S 165 x(Port)S 166 x(Managem)S 2 x(ent)S 166 x(Services)S 0 SC 10953 4455 XY F238(DISABLE_P)S 2 x(ORT)S 718 x(Set)S 239 x(the)S 240 x(port)S 240 x(to)S 239 x(a)S 240 x(state)S 239 x(where)S 240 x (it)S 240 x(can)S 240 x(no)S 14541 X 498 y(longer)S 240 x(transmit/re)S 2 x(ceive)S 239 x(protoco)S 2 x(l)S 239 x(packets)S 10475 X 797 y(***********)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(******)S 8083 X 897 y F36(VCRP$K_DISABLE_PORT)S 11192 X 597 y F238 (Descript)S 2 x(ion)S 15736 X(The)S 240 x(VCRP$K_FC)S 2 x(_PORT_DISABLE)S 2 x(_PORT)S 240 x(is)S 15736 X 499 y(used)S 240 x(by)S 240 x(the)S 239 x (upper)S 240 x(VCM)S 240 x(to)S 239 x(request)S 241 x(a)S 15736 X 498 y (protoco)S 2 x(l)S 239 x(no)S 239 x(longer)S 240 x(be)S 240 x(run)S 240 x(over)S 239 x(a)S 15736 X 498 y(communi)S 2 x(cations)S 240 x(port.)S 15736 X 498 y(Unlike)S 241 x(the)S 239 x(LAN)S 240 x(VCI,)S 240 x(no)S 239 x(PORT_UNUS)S 2 x(ABLE)S 15736 X 498 y(event)S 240 x(will)S 240 x (result)S 240 x(from)S 240 x(calling)S 240 x(this)S 15736 X 498 y(service)S 2 x(.)S 11192 11329 XY(Data)S 240 x(Structure)S 2 x(s)S 15736 X(None)S 11192 12425 XY(Returns)S 15736 X(SS$_NOR)S 2 x(MAL)S 20520 X(Successful)S 15736 X 498 y(complet)S 2 x(ion)S 8083 X 897 y F36(VCRP$K_ENABLE_PORT)S 8083 X 597 y F238(Descripti)S 2 x(on)S 717 x(The)S 240 x(VCRP$K_FC)S 2 x(_PORT_ENABLE)S 2 x(_PORT)S 240 x(is)S 239 x(used)S 240 x(by)S 239 x (the)S 11671 X 499 y(upper)S 240 x(VCM)S 478 x(to)S 240 x(request)S 479 x(a)S 240 x(protocol)S 479 x(to)S 479 x(be)S 239 x(run)S 11671 X 498 y(over)S 239 x(a)S 240 x(communicati)S 2 x(ons)S 239 x(port.)S 719 x (Notification)S 241 x(of)S 11671 X 498 y(successful)S 240 x(complet)S 2 x(ion)S 478 x(of)S 479 x(this)S 479 x(function)S 240 x(via)S 11671 X 498 y(the)S 239 x(PORTMGMT)S 2 x(_COMPLETE)S 479 x(service)S 241 x(does)S 479 x(not)S 239 x(mean)S 11671 X 498 y(the)S 239 x(upper)S 240 x(VCM)S 240 x(is)S 239 x(able)S 479 x(to)S 240 x(transmit)S 240 x(or)S 240 x (receive)S 11671 X 498 y(data;)S 240 x(only)S 239 x(that)S 240 x(PPP)S 240 x(has)S 479 x(committed)S 240 x(to)S 240 x(put)S 239 x(the)S 11671 X 498 y(port)S 479 x(into)S 479 x(an)S 478 x(appropri)S 2 x(ate)S 478 x (state)S 479 x(for)S 479 x(data)S 11671 X 499 y(transfer.)S 14780 X (If)S 718 x(the)S 478 x(protoco)S 2 x(l)S 717 x(requires)S 480 x(a)S 11671 X 498 y(matching)S 240 x(control)S 480 x(protocol)S 479 x(and)S 479 x(one)S 240 x(has)S 478 x(not)S 11671 X 498 y(been)S 239 x(registe)S 2 x(red)S 239 x(the)S 479 x(function)S 241 x(will)S 478 x(fail.)S 11671 X 498 y(If)S 239 x(the)S 240 x(PORTMGMT_CO)S 2 x(MPLETE)S 240 x(indicates)S 240 x(success,)S 241 x(the)S 239 x(protoco)S 2 x(l)S 11671 X 498 y(must)S 239 x(wait)S 240 x(for)S 240 x(a)S 239 x(PORT_USA)S 2 x(BLE)S 239 x (event)S 479 x(before)S 240 x(data)S 240 x(transmis)S 2 x(sion)S 11671 X 498 y(is)S 239 x(permitted)S 2 x(.)S 11192 21989 XY(Data)S 240 x(Structure)S 2 x(s)S 478 x(The)S 240 x(input)S 240 x(itemlist)S 240 x(is)S 240 x (used)S 239 x(to)S 240 x(specify)S 240 x(the)S 15258 X 498 y(communica)S 2 x(tions)S 240 x(port)S 239 x(and)S 240 x(the)S 240 x(protocol)S 240 x (to)S 240 x(run.)S 15258 X 498 y(The)S 240 x(following)S 240 x(table)S 240 x(lists)S 240 x(the)S 240 x(supported)S 241 x(input)S 15258 X 499 y (item)S 240 x(list)S 240 x(fields.)S 11431 24579 XY(Returns)S 14062 X (SS$_NORM)S 2 x(AL)S 18846 X(Successful)S 240 x(completi)S 2 x(on)S 8083 X 797 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(********)S 11431 X 499 y (Table:)S 480 x(ENABLE_PORT)S 241 x(input)S 240 x(itemlist)S 8083 X 797 y(Item)S 240 x(Code)S 12627 X(Type)S 15258 X(Mandatory)S 20280 X (Descrip)S 2 x(tion)S 8083 X 797 y(PPP$K_NAM)S 2 x(E)S 12627 X(ASCII)S 15976 X(Yes)S 18606 X(Name)S 240 x(of)S 240 x(PPP)S 239 x(line)S 240 x (to)S 240 x(start)S 240 x(protocol)S 18606 X 498 y(on.)S 8083 X 797 y (PPP$K_PRO)S 2 x(TOCOL)S 12627 X(WORD)S 15976 X(Yes)S 18606 X(Number)S 240 x(of)S 240 x(the)S 240 x(protocol)S 240 x(to)S 240 x(start.)S 8083 X 498 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*********)S 4497 30756 XY F24(1.4)S 398 x(VCI)S 231 x(T)S -38 x(ransmit)S 233 x(Service)S 11192 31852 XY F238(Procedur)S 2 x(e)S 717 x(u_int)S 240 x(VCI$PPP_)S 2 x(TRANSMIT_INIT)S 2 x(IATE\(VCIB)S 240 x(*Port)S 240 x(VCRP)S 14062 X 498 y(*Request)S 2 x(\))S 5 SC 22286 38258 XY F38(Protocols)S 167 x(Interface)S 399 x F40(1\2035)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-6) 12 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Protocols)S 167 x(Interface)S 4497 X 647 y(1.4)S 167 x(VCI)S 165 x(T)S -33 x(ransmit)S 168 x(Service)S 0 SC -248 x 4455 Y F238(Descript)S 2 x(ion)S 718 x(This)S 239 x(routine)S 241 x(is)S 239 x (called)S 240 x(by)S 240 x(the)S 239 x(upper)S 240 x(VCM)S 240 x(when)S 240 x(it)S 14541 X 498 y(has)S 239 x(data)S 240 x(to)S 240 x(send.)S 479 x(The)S 239 x(upper)S 240 x(VCM)S 240 x(must)S 240 x(leave)S 14541 X 498 y(HDR_SIZE)S 240 x(bytes)S 240 x(at)S 240 x(the)S 239 x(start)S 240 x(of)S 240 x(the)S 239 x(VCRP)S 240 x(to)S 14541 X 498 y(allow)S 240 x(the)S 239 x(PPP)S 240 x(protocol)S 240 x(header)S 240 x(to)S 240 x (be)S 239 x(backfil)S 2 x(led.)S 14541 X 498 y(Must)S 239 x(also)S 240 x (leave)S 240 x(FCS_SIZE)S 241 x(at)S 239 x(the)S 240 x(back)S 240 x (of)S 239 x(the)S 14541 X 499 y(VCRP)S 239 x(to)S 240 x(allow)S 240 x (an)S 239 x(FCS)S 240 x(to)S 239 x(be)S 240 x(appended)S 240 x(to)S 240 x(the)S 14541 X 498 y(frame.)S 240 x(The)S 239 x(FCS_SIZ)S 2 x(E)S 239 x(and)S 239 x(HDR_SIZ)S 2 x(E)S 239 x(fields)S 479 x(live)S 14541 X 498 y(in)S 239 x(the)S 240 x(VCIB)S 240 x(and)S 239 x(are)S 240 x(filled)S 240 x(in)S 239 x(when)S 240 x(a)S 14541 X 498 y(PORT_USABLE)S 241 x (event)S 240 x(is)S 239 x(received.)S 480 x(Completion)S 241 x(of)S 14541 X 498 y(the)S 239 x(VCRP)S 240 x(is)S 240 x(done)S 239 x(via)S 240 x(the)S 240 x(TRANSMIT_COM)S 2 x(PLETE)S 14541 X 498 y(service.)S 13584 X 498 y(NOTE:)S 240 x(Only)S 240 x(unchained)S 240 x(transmit)S 241 x(requests)S 240 x(are)S 13584 X 498 y(supported.)S 11192 11528 XY (Returns)S 719 x(SS$_NORMAL)S 18367 X(Successfu)S 2 x(l)S 239 x(completion)S 11192 12624 XY(Paramete)S 2 x(rs)S 717 x(Port)S 240 x(Request)S 18367 X (A)S 240 x(pointer)S 240 x(to)S 239 x(the)S 240 x(VCIB)S 18367 X 498 y (containin)S 2 x(g)S 239 x(the)S 240 x(request.)S 4497 14517 XY F28 (1.4.1)S 400 x(Upper)S 199 x(VCM)S 198 x(Services)S 8083 X 797 y F151 (This)S 166 x(section)S 166 x(describes)S 166 x(the)S 166 x(entry)S 167 x(points)S 166 x(that)S 166 x(must)S 165 x(exist)S 166 x(in)S 166 x (a)S 166 x(PPP)S 167 x(VCI)S 165 x(Client.)S 8083 X 897 y F36(PORTMGMT_COMPLETE)S 11192 X 598 y F238(Procedur)S 2 x(e)S 15019 X(void)S 240 x(VCI$xxx_POR)S 2 x(TMGMT_COMPLET)S 2 x(E\(VCIB)S 15019 X 498 y(*Port,)S 240 x(VCRP)S 240 x(*Request\))S 11192 18403 XY(Descript)S 2 x(ion)S 15019 X(This)S 240 x(entry)S 240 x(point)S 240 x(is)S 239 x(called)S 240 x(to)S 240 x (signal)S 240 x(to)S 15019 X 498 y(the)S 240 x(upper)S 240 x(VCM)S 239 x (the)S 240 x(completion)S 241 x(a)S 15019 X 498 y(PortMgmt_I)S 2 x(nitiate)S 240 x(request.)S 479 x(The)S 240 x(upper)S 240 x(VCM)S 15019 X 498 y (determines)S 241 x(the)S 239 x(status)S 240 x(of)S 240 x(the)S 15019 X 498 y(PortMgmt_I)S 2 x(nitiate)S 240 x(request)S 240 x(by)S 240 x(examining)S 15019 X 498 y(the)S 240 x(VCRP$Q_STATU)S 2 x(S)S 239 x(field)S 240 x (in)S 239 x(the)S 240 x(returned)S 15019 X 498 y(VCRP.)S 11431 22487 XY (Returns)S 15019 X(None)S 11192 23583 XY(Status)S 15019 X(ALL)S 240 x (FUNCTION)S 240 x(CODES:)S 15019 X 797 y(SS$_NORMAL)S 19324 X(Normal)S 240 x(successful)S 241 x(completion)S 15019 X 498 y(SS$_ILLIOF)S 2 x (UNC)S 19324 X(The)S 239 x(functio)S 2 x(n)S 239 x(code)S 240 x(field)S 240 x(of)S 239 x(the)S 19324 X 498 y(VCRP)S 240 x(had)S 239 x(a)S 240 x (value)S 240 x(that)S 239 x(did)S 240 x(not)S 19324 X 499 y(represent)S 240 x(a)S 240 x(function)S 240 x(known)S 19324 X 498 y(by)S 239 x(the)S 240 x(PPP)S 240 x(driver.)S 15019 X 797 y(ENABLE_POR)S 2 x(T:)S 15019 X 797 y(SS$_DEVACT)S 2 x(IVE)S 19085 X(The)S 239 x(VCI)S 240 x(port)S 240 x(is)S 239 x(already)S 241 x(enabled)S 15019 X 498 y(SS$_DEVOFF)S 2 x(LINE)S 718 x(No)S 239 x(Control)S 240 x(Protoco)S 2 x(l)S 239 x (registered)S 15019 X 498 y(SS$_DEVALL)S 2 x(OC)S 19085 X(The)S 239 x (protocol)S 241 x(is)S 239 x(already)S 241 x(in)S 239 x(use)S 240 x (on)S 239 x(this)S 240 x(line)S 240 x(by)S 15019 X 498 y(SS$_NOSUCH)S 2 x(DEV)S 19085 X(No)S 239 x(such)S 240 x(line.)S 15019 X 498 y(SS$_INSFME)S 2 x(M)S 19085 X(Insufficient)S 241 x(memory.)S 15019 X 498 y(SS$_INSFAR)S 2 x(G)S 19085 X(A)S 239 x(protocol)S 240 x(and/or)S 241 x(line)S 239 x (name)S 240 x(were)S 19085 X 498 y(not)S 239 x(supplied)S 241 x(in)S 239 x(the)S 240 x(input)S 19085 X 499 y(itemlist.)S 15019 X 498 y(SS$_BADPAR)S 2 x(AM)S 19085 X(A)S 239 x(specified)S 241 x(item)S 19085 X 498 y(code)S 239 x(is)S 240 x(not)S 240 x(valid.)S 240 x(The)S 239 x(code)S 240 x (of)S 19085 X 498 y(the)S 239 x(offendin)S 2 x(g)S 239 x(item)S 240 x (is)S 19085 X 498 y(returned)S 240 x(in)S 240 x(the)S 19085 X 498 y (VCRP$L_REQUE)S 2 x(ST_STATUS_QU)S 2 x(AL)S 239 x(field.)S 15019 X 498 y (SS$_VALNOT)S 2 x(VALID)S 479 x(The)S 239 x(value)S 240 x(specifie)S 2 x(d)S 239 x(for)S 19324 X 499 y(an)S 239 x(item)S 240 x(code)S 240 x (is)S 239 x(not)S 240 x(valid.)S 19324 X 498 y(The)S 239 x(code)S 240 x (of)S 240 x(the)S 239 x(offendi)S 2 x(ng)S 239 x(item)S 19324 X 498 y (is)S 239 x(returned)S 241 x(in)S 239 x(the)S 19085 X 498 y(VCRP$L_REQUE)S 2 x(ST_STATUS_QU)S 2 x(AL)S 239 x(field.)S 5 SC 4497 38258 XY F40(1\2036)S 399 x F38(Protocols)S 167 x(Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ NewCenturySchlbk-Roman Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-7) 13 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 21797 2293 XY F28(Protocols)S 167 x(Interface)S 20268 X 647 y(1.4)S 167 x(VCI)S 165 x(T)S -32 x(ransmit)S 167 x(Service)S 0 SC 13823 4428 XY F238(DISABLE_P)S 2 x(ORT:)S 15019 X 797 y(SS$_DEVINA)S 2 x(CT)S 19085 X (The)S 239 x(VCI)S 240 x(port)S 240 x(is)S 239 x(already)S 241 x(disabled)S 15019 X 498 y(SS$_OPINCO)S 2 x(MPL)S 19085 X(A)S 239 x(previous)S 240 x (disable)S 241 x(request)S 19085 X 498 y(hasn't)S 240 x(been)S 240 x (completed)S 11192 7317 XY(Paramete)S 2 x(rs)S 15019 X(Port)S 18606 X (A)S 240 x(pointer)S 240 x(to)S 239 x(the)S 240 x(VCIB)S 15019 X 498 y (Request)S 18606 X(A)S 240 x(pointer)S 240 x(to)S 239 x(the)S 240 x (VCRP)S 240 x(containing)S 18606 X 499 y(the)S 240 x(original)S 240 x (PORTMGM)S 2 x(T)S 239 x(request)S 8083 X 896 y F36(TRANSMIT_COMPLETE)S 11192 X 598 y F238(Procedur)S 2 x(e)S 14541 X(void)S 239 x(VCI$xxx)S 2 x(_TRANSMIT_COM)S 2 x(PLETE\(VCIB)S 240 x(*Port,)S 14541 X 498 y(VCRP)S 239 x(*Reques)S 2 x(t\))S 11192 11402 XY(Descript)S 2 x(ion)S 718 x (This)S 239 x(routine)S 480 x(is)S 239 x(called)S 480 x(when)S 239 x (a)S 479 x(packet)S 240 x(has)S 14541 X 498 y(been)S 16454 X(successful)S 2 x(ly)S 20280 X(queued)S 22672 X(to)S 24107 X(the)S 14541 X 498 y(communicatio)S 2 x(ns)S 717 x(port)S 718 x(\(e.g.)S 719 x(ASN2\))S 718 x(for)S 14541 X 498 y(transmission)S 480 x(or)S 718 x(data)S 718 x(transmissio)S 2 x (n)S 478 x(has)S 14541 X 499 y(failed)S 718 x(for)S 718 x(some)S 20041 X (reason)S 719 x(\(e.g.)S 718 x(the)S 14541 X 498 y(communicatio)S 2 x (ns)S 239 x(port)S 240 x(is)S 239 x(no)S 240 x(longer)S 240 x(in)S 239 x (a)S 240 x(state)S 14541 X 498 y(to)S 239 x(send)S 240 x(data\).)S 14541 X 797 y(The)S 239 x(upper)S 240 x(VCM)S 240 x(determines)S 480 x(the)S 239 x(status)S 241 x(of)S 239 x(the)S 14541 X 498 y(TRANSMIT_INI)S 2 x (TIATE)S 240 x(request)S 240 x(by)S 478 x(examini)S 2 x(ng)S 239 x(the)S 14541 X 498 y(VCRP$Q_STATU)S 2 x(S)S 239 x(field)S 240 x(in)S 239 x (the)S 240 x(returned)S 240 x(VCRP.)S 11192 X 797 y(Returns)S 14541 X (None)S 11192 18077 XY(Status)S 14541 X(SS$_NORMAL)S 19085 X(Packet)S 240 x(successfull)S 2 x(y)S 239 x(sent)S 14541 X 498 y(SS$_DEVINACT)S 19085 X(Port)S 239 x(is)S 240 x(not)S 240 x(in)S 239 x(a)S 239 x(state)S 19085 X 498 y(permitting)S 240 x(data)S 240 x(transfer)S 2 x(.)S 14541 X 498 y(SS$_IVBUFLEN)S 19085 X(The)S 239 x(buffer)S 240 x(length)S 241 x (exceeds)S 240 x(MTU)S 11192 20667 XY(Paramete)S 2 x(rs)S 14541 X(Port)S 19324 X(A)S 239 x(pointer)S 240 x(to)S 240 x(the)S 240 x(VCIB)S 14541 X 498 y(Request)S 19324 X(A)S 239 x(pointer)S 240 x(to)S 240 x(the)S 240 x (VCRP)S 19324 X 499 y(containing)S 241 x(the)S 19324 X 498 y(original)S 240 x(transmit)S 241 x(request)S 8083 X 896 y F36(RECEIVE_COMPLETE)S 11192 X 598 y F238(Procedur)S 2 x(e)S 14541 X(void)S 239 x(VCI$xxx)S 2 x(_RECEIVE_COMP)S 2 x(LETE\(VCIB)S 240 x(*Port,)S 14541 X 498 y(VCRP)S 239 x(*Reques)S 2 x(t\))S 11192 25250 XY(Descript)S 2 x(ion)S 718 x (When)S 239 x(PPP)S 240 x(receives)S 241 x(a)S 239 x(packet)S 240 x (for)S 240 x(a)S 239 x(usable)S 14541 X 498 y(port)S 239 x(of)S 240 x (an)S 239 x(upper)S 240 x(VCM,)S 240 x(it)S 240 x(calls)S 240 x(this)S 239 x(service)S 14541 X 498 y(in)S 239 x(the)S 240 x(upper)S 240 x(VCM)S 239 x(to)S 240 x(pass)S 240 x(up)S 239 x(the)S 240 x(packet.)S 14541 X 498 y(The)S 239 x(upper)S 240 x(VCM)S 240 x(is)S 239 x(responsi)S 2 x (ble)S 239 x(for)S 14541 X 499 y(deallocating)S 241 x(the)S 239 x(VCRP)S 240 x(when)S 240 x(it)S 239 x(has)S 240 x(finished)S 14541 X 498 y(processing)S 240 x(the)S 240 x(packet.)S 479 x(The)S 240 x(connectio)S 2 x(n_id)S 14541 X 498 y(field)S 240 x(of)S 239 x(the)S 240 x(VCRP)S 240 x(will)S 239 x(contain)S 241 x(the)S 239 x(protocol)S 14541 X 498 y(type)S 239 x (of)S 240 x(the)S 240 x(received)S 240 x(packet)S 14541 29833 XY(NOTE:)S 240 x(When)S 239 x(the)S 240 x(IP)S 240 x(protocol)S 240 x(is)S 239 x (enabled)S 241 x(on)S 14541 X 498 y(PPP)S 239 x(port,)S 240 x(the)S 240 x(upper)S 240 x(VCM)S 239 x(will)S 240 x(receive)S 241 x(both)S 14541 X 498 y(IP)S 239 x(and)S 240 x(VJ)S 239 x(compress)S 2 x(ed)S 239 x(packets)S 240 x(if)S 240 x(compression)S 14541 X 498 y(has)S 239 x (been)S 240 x(negotiate)S 2 x(d)S 239 x(by)S 239 x(the)S 240 x(control)S 240 x(protocol)S 14541 X 498 y(The)S 239 x(upper)S 240 x(VCM)S 240 x (uses)S 240 x(the)S 239 x(protocol)S 241 x(type)S 240 x(field)S 14541 X 499 y(to)S 239 x(distingui)S 2 x(sh)S 239 x(between)S 240 x(IP)S 240 x (and)S 239 x(VJ)S 240 x(compressed)S 14541 X 498 y(packets..)S 11192 33918 XY (Returns)S 14541 X(None)S 14541 X 797 y(Port)S 16932 X(A)S 240 x(pointer)S 240 x(to)S 239 x(the)S 240 x(VCIB)S 240 x(Parameters)S 14541 X 498 y (Request)S 718 x(A)S 240 x(pointer)S 240 x(to)S 239 x(the)S 240 x(VCRP)S 240 x(containing)S 16932 X 498 y(the)S 240 x(received)S 240 x(packet)S 5 SC 811 x 38258 Y F38(Protocols)S 167 x(Interface)S 399 x F40(1\2037)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (1-8) 14 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Protocols)S 167 x(Interface)S 4497 X 647 y(1.4)S 167 x(VCI)S 165 x(T)S -33 x(ransmit)S 168 x(Service)S 0 SC 8083 4561 XY F36(REPORT_EVENT)S 11192 X 598 y F238(Procedur)S 2 x(e)S 14541 X(void)S 239 x(VCI$xxx)S 2 x(_REPORT_EVENT)S 2 x(\(VCIB)S 240 x(*Port,)S 240 x (u_int)S 14541 X 498 y(Event,)S 240 x(u_int)S 240 x(Reason\))S 11192 6753 XY (Descript)S 2 x(ion)S 718 x(The)S 239 x(PPP)S 240 x(driver)S 240 x(reports)S 240 x(events)S 240 x(by)S 240 x(calling)S 14541 X 498 y(this)S 239 x (service)S 241 x(in)S 239 x(the)S 240 x(upper)S 240 x(VCM.)S 479 x(The)S 14541 X 498 y(VCRP$L_FUNCT)S 2 x(ION)S 239 x(field)S 240 x(of)S 240 x (the)S 239 x(VCRP)S 240 x(indicates)S 14541 X 498 y(the)S 239 x(type)S 240 x(of)S 240 x(event)S 240 x(that)S 239 x(occurred)S 2 x(.)S 478 x (Table)S 240 x(1)S 14541 X 498 y(lists)S 240 x(the)S 239 x(events)S 240 x(that)S 240 x(may)S 240 x(be)S 239 x(reported)S 2 x(.)S 14541 X 498 y(Table)S 240 x(2)S 239 x(lists)S 240 x(the)S 240 x(reasons)S 240 x (that)S 240 x(can)S 239 x(be)S 14541 X 498 y(associated)S 240 x(with)S 240 x(each)S 240 x(event.)S 11192 10837 XY(Returns)S 14541 X(None)S 11192 11933 XY(Paramete)S 2 x(rs)S 14541 X(Port)S 16932 X(A)S 240 x (pointer)S 240 x(to)S 239 x(the)S 240 x(VCIB)S 14541 X 797 y(Event)S 16932 X(The)S 240 x(event)S 240 x(that)S 240 x(occurred)S 14541 X 498 y (Reason)S 16932 X(The)S 240 x(action)S 240 x(that)S 240 x(generated)S 240 x(the)S 16932 X 499 y(event.)S 8083 X 498 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*******)S 10236 X 498 y(Table)S 240 x(1)S 478 x(Events)S 240 x(Reported)S 241 x(to)S 239 x(PPP)S 240 x(VCI)S 240 x(Client)S 13106 15819 XY(Event)S 19085 X(Description)S 11671 X 797 y(PPP$K_PORT_U)S 2 x(SABLE)S 479 x (The)S 239 x(port)S 240 x(is)S 240 x(now)S 239 x(in)S 240 x(a)S 239 x (state)S 240 x(where)S 240 x(it)S 16215 X 498 y(can)S 239 x(be)S 240 x (used)S 240 x(for)S 239 x(data)S 240 x(transfer.)S 480 x(No)S 16215 X 498 y(Reason)S 240 x(is)S 239 x(supplied)S 241 x(with)S 240 x(this)S 239 x(event.)S 11671 X 797 y(PPP$K_PORT_U)S 2 x(NUSABLE)S 479 x(The)S 240 x(port)S 240 x(can)S 239 x(no)S 240 x(longer)S 240 x(be)S 239 x (used)S 240 x(for)S 16693 X 498 y(data)S 240 x(transfer.)S 480 x(A)S 239 x(protocol)S 240 x(can)S 16693 X 498 y(elect)S 240 x(to)S 240 x (disable)S 240 x(and)S 239 x(then)S 240 x(re-enabl)S 2 x(e)S 16693 X 498 y(the)S 240 x(port)S 240 x(to)S 239 x(make)S 240 x(another)S 240 x (attempt)S 240 x(to)S 16693 X 498 y(bring)S 240 x(up)S 240 x(the)S 239 x (connectio)S 2 x(n.)S 239 x(Table)S 240 x(2)S 16693 X 499 y(lists)S 240 x(the)S 240 x(reasons)S 240 x(that)S 240 x(can)S 239 x(be)S 16693 X 498 y(generated)S 241 x(with)S 239 x(this)S 240 x(event.)S 11671 X 797 y (PPP$K_PORT_F)S 2 x(AILED)S 479 x(The)S 239 x(port)S 240 x(can)S 240 x (no)S 239 x(longer)S 240 x(be)S 240 x(used.)S 16215 X 498 y(The)S 239 x (only)S 240 x(action)S 240 x(a)S 240 x(protocol)S 240 x(can)S 240 x (take)S 16215 X 498 y(is)S 239 x(to)S 240 x(delete)S 240 x(the)S 239 x (port.)S 8083 X 498 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*******)S 8083 X 797 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*******)S 10953 X 797 y(Table)S 240 x(2)S 479 x(Reasons)S 240 x(Associated)S 241 x(with)S 240 x(Events)S 13345 X 797 y(Reason)S 19324 X(Description)S 11671 X 797 y(PPP$K_LCP_FA)S 2 x(ILED)S 16693 X(The)S 240 x(Link)S 240 x(Control)S 240 x(Protocol)S 240 x(has)S 16693 X 498 y(been)S 240 x(terminated)S 11671 28471 XY(PPP$K_NCP_FA)S 2 x(ILED)S 16693 X(The)S 240 x(Control)S 240 x(Protocol)S 240 x(has)S 240 x(been)S 16693 X 498 y(terminate)S 2 x(d)S 11671 30065 XY(PPP$KDEV_FAI)S 2 x(LED)S 16693 X(The)S 240 x(communicatio)S 2 x(ns)S 239 x(port)S 240 x (being)S 16693 X 498 y(used)S 240 x(by)S 239 x(the)S 240 x(PPP)S 240 x (line)S 239 x(has)S 240 x(failed)S 11671 31659 XY(PPP$K_LINE_D)S 2 x (ELETED)S 718 x(Network)S 240 x(manageme)S 2 x(nt)S 239 x(has)S 240 x (deleted)S 16693 X 498 y(the)S 240 x(PPP)S 239 x(line)S 11671 33253 XY (PPP$K_NO_REA)S 2 x(SON)S 16693 X(No)S 240 x(reason)S 240 x(associated)S 240 x(with)S 240 x(this)S 16693 X 498 y(event.)S 8083 X 499 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*******)S 5 SC 4497 38258 XY F40(1\2038)S 399 x F38(Protocols)S 167 x(Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-1) 15 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 26214 6776 XY F8(2)S 4497 X 448 y 22716 48 R 9996 8273 XY F208 (Network)S 331 x(Control)S 331 x(Proto)S -2 x(cols)S 332 x(Interface)S 8083 10564 XY F151(This)S 171 x(chapter)S 171 x(describes)S 170 x(the)S 171 x(interface)S 172 x(provided)S 171 x(for)S 171 x(implementing)S 171 x(network)S 171 x(control)S 8083 X 598 y(protocols.)S 8083 X 897 y (The)S 168 x(implementer)S 166 x(of)S 167 x(the)S 167 x(control)S 167 x (protocol)S 167 x(is)S 167 x(responsible)S 166 x(for)S 167 x(supplying)S 168 x(and)S 167 x(checking)S 8083 X 598 y(the)S 174 x(con\211g)S 2 x (uration)S 175 x(options)S 173 x(for)S 175 x(each)S 174 x(communications)S 175 x(port)S 174 x(the)S 174 x(control)S 175 x(protocol)S 174 x(is)S 8083 X 597 y(run)S 169 x(over)S -36 x(.)S 254 x(The)S 169 x(PPP)S 169 x (driver)S 169 x(maintains)S 168 x(the)S 168 x(\211nite)S 169 x(state)S 167 x(machine)S 169 x(associated)S 168 x(with)S 167 x(the)S 8083 X 598 y (control)S 173 x(protocol)S 171 x(runn)S 2 x(ing)S 172 x(on)S 173 x (each)S 172 x(communications)S 172 x(port.)S 261 x(A)S 172 x(vector)S 172 x(of)S 172 x(routines)S 172 x(for)S 8083 X 598 y(calling)S 173 x (into)S 172 x(the)S 173 x(PPP)S 173 x(\211nite)S 173 x(state)S 171 x (machine)S 173 x(is)S 172 x(provided.)S 262 x(This)S 173 x(method)S 172 x(was)S 171 x(chosen)S 8083 X 598 y(because)S 170 x(it)S 170 x(requires)S 170 x(the)S 170 x(least)S 170 x(amount)S 170 x(of)S 170 x(changes)S 171 x(to)S 169 x(the)S 171 x(pppd)S 169 x(code.)S 258 x(The)S 170 x (interface)S 8083 X 597 y(routines)S 173 x(use)S 172 x(the)S 173 x(standard)S 172 x(calling)S 173 x(sequence)S 173 x(and)S 173 x(are)S 173 x(callable)S 172 x(by)S 173 x(kernel)S 173 x(modules)S 8083 X 598 y(only)S -54 x (.)S 256 x(A)S 170 x(function)S 170 x(which)S 170 x(returns)S 170 x (the)S 170 x(start)S 169 x(of)S 170 x(the)S 170 x(vector)S 170 x(is)S 169 x(provided)S 170 x(for)S 170 x(modules)S 170 x(to)S 8083 X 598 y (link)S 167 x(against.)S 249 x(The)S 167 x(vector)S 167 x(provides)S 166 x(the)S 166 x(following)S 167 x(routines:)S 8083 X 897 y(\201)S 595 x(fsm_register)S 176 x(\202)S 176 x(Noti\211es)S 176 x(PPP)S 177 x (that)S 176 x(the)S 176 x(module)S 177 x(is)S 176 x(responsible)S 175 x (for)S 177 x(a)S 176 x(control)S 8980 X 597 y(protocol.)S 8083 X 897 y (\201)S 595 x(fsm_deregister)S 166 x(\202-)S 166 x(Noti\211es)S 167 x (PPP)S 167 x(that)S 166 x(the)S 167 x(module)S 167 x(is)S 166 x(no)S 167 x(longer)S 167 x(responsible)S 166 x(for)S 167 x(a)S 8980 X 598 y (control)S 166 x(protocol.)S 8083 X 896 y(\201)S 595 x(fsm_start)S 165 x (\202)S 166 x(Starts)S 165 x(a)S 166 x(control)S 166 x(protocol)S 167 x (on)S 166 x(a)S 166 x(connection.)S 8083 X 897 y(\201)S 595 x(fsm_stop)S 165 x(-)S 166 x(Stops)S 165 x(a)S 166 x(control)S 166 x(protocol)S 167 x (on)S 166 x(a)S 166 x(connection.)S 8083 X 897 y(The)S 173 x(routines)S 172 x(must)S 171 x(be)S 172 x(called)S 172 x(in)S 172 x(kernel)S 173 x (mode)S 171 x(with)S 172 x(IOLOCK)S -2 x(8)S 172 x(held.)S 261 x(The)S 173 x(callback)S 8083 X 597 y(routines)S 173 x(are)S 173 x(executed)S 174 x(in)S 173 x(kernel)S 173 x(mode)S 173 x(with)S 172 x(IOLOCK)S -2 x (8)S 173 x(held,)S 175 x(therefore)S 173 x(code)S 173 x(that)S 8083 X 598 y(implements)S 168 x(a)S 169 x(network)S 169 x(control)S 169 x(protocol)S 169 x(must)S 168 x(be)S 169 x(loaded)S 168 x(into)S 169 x(nonpaged)S 170 x(pool)S 168 x(in)S 169 x(the)S 8083 X 598 y(form)S 166 x(of)S 166 x (an)S 166 x(EXEC)S 165 x(loadable)S 166 x(image)S 166 x(or)S 167 x(device)S 166 x(driver)S -36 x(.)S 8083 X 897 y(A)S 163 x(module)S 162 x(registers)S 163 x(itself)S 162 x(as)S 162 x(willing)S 163 x(to)S 162 x(take)S 163 x (care)S 163 x(of)S 163 x(a)S 163 x(control)S 163 x(protocol)S 163 x (by)S 163 x(calling)S 163 x(the)S 8083 X 597 y(fsm_register)S 167 x (routine.)S 251 x(The)S 168 x(module)S 167 x(is)S 166 x(then)S 167 x (responsible)S 167 x(for)S 167 x(handling)S 168 x(all)S 166 x(connec)S 2 x(tions)S 8083 X 598 y(using)S 173 x(this)S 172 x(control)S 173 x (protocol)S 172 x(across)S 172 x(all)S 172 x(communications)S 172 x (ports)S 172 x(using)S 173 x(PPP)S -63 x(.)S 172 x(That)S 173 x(is,)S 8083 X 598 y(there)S 178 x(can)S 177 x(only)S 178 x(be)S 177 x(one)S 177 x(module)S 177 x(registered)S 178 x(as)S 176 x(being)S 178 x(responsible)S 177 x(for)S 177 x(the)S 177 x(control)S 8083 X 598 y(protocol)S 171 x (on)S 171 x(the)S 171 x(system)S 170 x(at)S 171 x(any)S 171 x(time.)S 258 x(The)S 172 x(fsm_register)S 170 x(routine)S 172 x(takes)S 170 x (as)S 170 x(an)S 171 x(input)S 8083 X 597 y(parameter)S 172 x(a)S 172 x (structure)S 173 x(that)S 172 x(contains)S 172 x(pointers)S 172 x(to)S 172 x(routines)S 173 x(which)S 172 x(the)S 173 x(PPP)S 172 x(driver)S 8083 X 598 y(calls)S 180 x(to)S 180 x(notify)S 180 x(the)S 180 x(module)S 181 x(of)S 179 x(state)S 180 x(transitions)S 179 x(and)S 181 x(requests)S 179 x(to)S 180 x(accept/rejec)S 2 x(t)S 8083 X 598 y(con\211g)S 2 x (uration)S 178 x(options.)S 274 x(If)S 178 x(a)S 178 x(control)S 179 x (protocol)S 178 x(does)S 178 x(not)S 178 x(want)S 178 x(to)S 178 x(be)S 178 x(noti\211ed)S 179 x(of)S 178 x(a)S 8083 X 598 y(particular)S 160 x (event,)S 162 x(it)S 158 x(does)S 159 x(not)S 160 x(supply)S 159 x(a)S 159 x(callback)S 160 x(routine)S 160 x(for)S 159 x(it.)S 250 x(If)S 158 x(no)S 160 x(callback)S 160 x(routine)S 8083 X 597 y(is)S 166 x (supplied)S 165 x(for)S 167 x(an)S 166 x(event)S 167 x(a)S 166 x(default)S 166 x(action)S 166 x(is)S 165 x(taken.)S 8083 X 897 y(A)S 176 x(control)S 176 x(protocol)S 176 x(module)S 176 x(is)S 176 x(noti\211ed)S 176 x (of)S 176 x(requests)S 175 x(to)S 176 x(start)S 175 x(the)S 176 x(control)S 177 x(protocol.)S 8083 X 598 y(The)S 179 x(module)S 179 x(itself)S 177 x (does)S 178 x(not)S 179 x(initiate)S 178 x(requests)S 178 x(to)S 178 x (start)S 178 x(a)S 178 x(control)S 179 x(protocol.)S 274 x(The)S 8083 X 598 y(PPP)S 174 x(driver)S 173 x(calls)S 172 x(the)S 173 x(control)S 173 x(protocol')S -18 x(s)S 172 x(open)S 173 x(callback)S 173 x(routine.)S 263 x(The)S 174 x(call)S 172 x(contains)S 8083 X 597 y(a)S 172 x(which)S 172 x(identi\211es)S 171 x(this)S 172 x(connection)S 173 x(to)S 171 x (the)S 172 x(state)S 171 x(id)S 171 x(machine,)S 174 x(and)S 172 x(the)S 172 x(VCIB)S 171 x(of)S 171 x(the)S 8083 X 598 y(associated)S 171 x (protocol)S 172 x(port.)S 261 x(The)S 173 x(id)S 171 x(is)S 172 x(used)S 171 x(for)S 172 x(calling)S 173 x(into)S 172 x(the)S 172 x(state)S 171 x (machine.)S 261 x(The)S 8083 X 598 y(module)S 175 x(calls)S 175 x(the)S 175 x(fsm_open)S 175 x(routine)S 176 x(to)S 175 x(accept)S 175 x(the)S 175 x(connection)S 176 x(and)S 175 x(kickstart)S 176 x(the)S 8083 X 598 y(PPP)S 174 x(state)S 171 x(machine.)S 264 x(The)S 173 x(module)S 173 x(supplies)S 172 x(a)S 173 x(which)S 173 x(is)S 172 x(the)S 173 x (modules)S 172 x(identi\211er)S 173 x(for)S 8083 X 597 y(the)S 169 x (connection)S 169 x(unit)S 169 x(\(.e.g)S 2 x(.)S 254 x(this)S 168 x (could)S 169 x(be)S 168 x(the)S 169 x(index)S 169 x(of)S 168 x(this)S 168 x(connec)S 2 x(tion)S 168 x(into)S 169 x(an)S 168 x(array)S 8083 X 598 y(of)S 170 x(connec)S 2 x(tions\).)S 257 x(Once)S 171 x(a)S 170 x (module)S 170 x(has)S 171 x(started)S 169 x(the)S 171 x(state)S 169 x (machine)S 171 x(it)S 170 x(will)S 169 x(be)S 171 x(noti\211ed)S 5 SC 18865 38258 XY F38(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 399 x F40(2\2031)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-2) 16 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 0 SC 8083 4555 XY F151(of)S 173 x(requests)S 173 x(to)S 173 x(accept/reject)S 174 x(con\211g)S 2 x(uration)S 173 x(options)S 173 x(if)S 173 x(it)S 173 x(has)S 173 x(elected)S 173 x(to)S 173 x(be)S 173 x(noti\211ed)S 8083 X 598 y(of)S 177 x(these)S 177 x(events.)S 272 x (The)S 178 x(unit)S 178 x(is)S 176 x(used)S 177 x(by)S 178 x(callbacks)S 177 x(to)S 177 x(the)S 177 x(module,)S 181 x(to)S 177 x(identify)S 177 x (the)S 8083 X 598 y(particular)S 167 x(connection)S 167 x(for)S 166 x (the)S 166 x(request.)S 8083 X 896 y(If)S 168 x(the)S 168 x(control)S 168 x(protocol)S 168 x(provider)S 168 x(does)S 168 x(not)S 168 x(want)S 167 x(to)S 168 x(start)S 167 x(the)S 168 x(control)S 168 x(protocol)S 168 x(on)S 169 x(this)S 8083 X 598 y(connection)S 168 x(it)S 167 x(calls)S 166 x(the)S 167 x(fsm_close)S 166 x(routine.)S 252 x(The)S 167 x(fsm_close)S 166 x(routine)S 168 x(can)S 167 x(also)S 166 x(be)S 167 x(called)S 8083 X 598 y(at)S 166 x(any)S 167 x(time)S 165 x(to)S 166 x(stop)S 166 x(a)S 166 x(control)S 166 x(protocol.)S 8083 X 896 y(If)S 170 x(the)S 170 x (state)S 170 x(machine)S 171 x(closes)S 169 x(a)S 170 x(connection)S 172 x(the)S 170 x(module)S 170 x(will)S 170 x(be)S 170 x(noti\211ed)S 171 x(via)S 170 x(a)S 170 x(call)S 170 x(to)S 8083 X 598 y(its)S 166 x (close)S(\()S 82 x(\))S 166 x(routine.)S 8083 X 897 y(If)S 172 x(a)S 172 x(module)S 173 x(no)S 173 x(longer)S 173 x(wants)S 172 x(to)S 172 x (be)S 172 x(responsible)S 172 x(for)S 173 x(a)S 172 x(control)S 173 x (protocol)S 173 x(it)S 172 x(calls)S 172 x(the)S 8083 X 598 y(fsm_deregister)S 172 x(routine.)S 262 x(Deregistering)S 173 x(a)S 171 x(control)S 173 x (protocol)S 172 x(closes)S 171 x(any)S 173 x(connections)S 8083 X 597 y (runnin)S 2 x(g)S 166 x(this)S 166 x(control)S 166 x(protocol.)S 4497 12675 XY F24(2.1)S 398 x(Calls)S 231 x(into)S 232 x(the)S 233 x(PPP)S 233 x(driver)S 232 x(by)S 233 x(the)S 232 x(Control)S 233 x(Protocol)S 8083 X 896 y F151(This)S 178 x(section)S 177 x(describes)S 177 x(the)S 178 x(calls)S 177 x(a)S 177 x(module)S 178 x(implementing)S 178 x(a)S 177 x(control)S 178 x(protocol)S 178 x(can)S 8083 X 598 y(make)S 166 x(into)S 167 x (the)S 166 x(state)S 165 x(machine.)S 8083 X 897 y F36(fsm_register)S 119 x 598 y F238(Procedur)S 2 x(e)S 717 x(u_int)S 240 x(fsm_regi)S 2 x (ster\()S 240 x(u_int)S 239 x(ctrlPro)S 2 x(t,)S 239 x(protentry)S 14062 X 498 y(*callbac)S 2 x(ks)S 239 x(,)S 239 x(u_int)S 240 x(*error)S 240 x (\))S 11192 X 797 y(Descript)S 2 x(ion)S 239 x(Notifies)S 241 x(PPP)S 239 x(that)S 240 x(the)S 240 x(module)S 240 x(will)S 240 x(process)S 14062 X 498 y(requests)S 241 x(to)S 239 x(start)S 240 x(the)S 240 x (given)S 240 x(control)S 240 x(protocol.)S 14062 X 498 y(The)S 240 x (module)S 240 x(is)S 240 x(then)S 239 x(responsi)S 2 x(ble)S 239 x(for)S 240 x(handling)S 14062 X 498 y(all)S 240 x(connection)S 2 x(s)S 239 x (using)S 240 x(this)S 240 x(control)S 240 x(protocol)S 14062 X 498 y (across)S 240 x(all)S 240 x(communica)S 2 x(tions)S 239 x(ports)S 240 x (using)S 240 x(PPP.)S 11192 20047 XY(Returns)S 14062 X(TRUE)S 15976 X (protocol)S 240 x(successful)S 2 x(ly)S 239 x(registere)S 2 x(d)S 14062 X 498 y(FALSE)S 719 x(protocol)S 240 x(could)S 240 x(not)S 240 x(be)S 239 x(registere)S 2 x(d.)S 15976 X 498 y(The)S 239 x(error)S 240 x(contains)S 241 x(the)S 239 x(reason)S 15976 X 498 y(for)S 239 x(the)S 240 x(failure.)S 240 x(The)S 240 x(table)S 240 x(below)S 240 x(lists)S 240 x(the)S 15976 X 499 y(errors)S 240 x(that)S 240 x(can)S 239 x(be)S 240 x(returned)S 240 x(on)S 15976 X 498 y(failure.)S 10953 23634 XY(Parameter)S 2 x(s)S 717 x(ctrlProt)S 17889 X(control)S 240 x(protocol)S 241 x(number)S 14062 X 498 y(callback)S 2 x(s)S 17889 X(structure)S 240 x(contain)S 2 x(ing)S 239 x(pointers)S 17889 X 498 y(to)S 239 x(callback)S 241 x(routines)S 240 x(for)S 240 x(the)S 240 x(control)S 17889 X 498 y(protocol)S 8083 X 797 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*******)S 9279 X 498 y(Table:)S 479 x(Errors)S 240 x(Returne)S 2 x(d)S 239 x(by)S 239 x(the)S 240 x (fsm_regis)S 2 x(ter)S 239 x(Routine)S 10953 X 797 y(Error)S 14780 X (Description)S 10475 X 797 y(SS$_VALNOTV)S 2 x(ALID)S 718 x(The)S 239 x (ctrlPro)S 2 x(tocol)S 240 x(parameter)S 240 x(does)S 240 x(not)S 240 x (specify)S 14780 X 498 y(a)S 239 x(valid)S 240 x(control)S 240 x(protocol)S 2 x(.)S 239 x(That)S 240 x(is,)S 239 x(it)S 240 x(is)S 239 x(not)S 240 x (in)S 14780 X 498 y(the)S 239 x(range)S 240 x(0x8000)S 241 x(to)S 239 x (0x3FFFF)S 10475 X 797 y(SS$_DEVALLO)S 2 x(C)S 14780 X(The)S 479 x(control)S 479 x(protocol)S 719 x(has)S 479 x(already)S 479 x(been)S 14780 X 499 y (registered.)S 10475 X 797 y(SS$_INSARG)S 14780 X(The)S 239 x(values)S 480 x(for)S 239 x(the)S 479 x(open)S 240 x(and/or)S 240 x(the)S 240 x (close)S 14780 X 498 y(callbacks)S 240 x(have)S 240 x(not)S 240 x(been)S 240 x(supplied.)S 8083 X 498 y(*********)S 2 x(************)S 2 x(************)S 2 x(************)S 2 x(*************)S 2 x(************)S 2 x(*******)S 5 SC 4497 38258 XY F40(2\2032)S 399 x F38(Network)S 166 x(Control)S 166 x(Protocols)S 167 x(Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Courier Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-3) 17 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 16982 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 12464 X 647 y(2.1)S 167 x(Calls)S 167 x(into)S 167 x(the)S 166 x(PPP)S 165 x(driver)S 167 x(by)S 166 x(the)S 167 x(Control)S 166 x (Protocol)S 0 SC 8083 4545 XY F36(fsm_deregister)S -462 x 598 y F238 (Procedur)S 2 x(e)S 717 x(void)S 240 x(fsm_dereg)S 2 x(ister\()S 240 x (u_int)S 240 x(ctrlProt)S 240 x(\))S 11192 X 797 y(Descript)S 2 x(ion)S 239 x(Notify)S 240 x(PPP)S 240 x(that)S 240 x(the)S 240 x(module)S 240 x (is)S 239 x(no)S 240 x(longer)S 14062 X 498 y(responsi)S 2 x(ble)S 239 x (for)S 240 x(a)S 239 x(control)S 240 x(protoco)S 2 x(l)S 11192 X 797 y (Returns)S 14062 X(none)S 11192 8331 XY(Paramete)S 2 x(rs)S 717 x(ctrlPro)S 2 x(t)S 18128 X(control)S 240 x(protocol)S 241 x(number)S 8083 X 897 y F36(fsm_start)S 866 x 598 y F238(Procedur)S 2 x(e)S 717 x(void)S 240 x (fsm_start)S 2 x(\()S 239 x(fsmId)S 240 x(id,)S 239 x(int)S 240 x(unit)S 240 x(\))S 11192 X 797 y(Descript)S 2 x(ion)S 239 x(Accept)S 240 x(the)S 240 x(request)S 240 x(to)S 240 x(start)S 240 x(a)S 239 x(control)S 14062 X 498 y(protocol)S 241 x(on)S 239 x(a)S 240 x(connection.)S 11192 12217 XY (Returns)S 14062 X(none)S 11192 X 797 y(Paramete)S 2 x(rs)S 478 x(id)S 15497 X(state)S 240 x(machines)S 241 x(identifier)S 240 x(for)S 240 x (the)S 240 x(connection)S 14062 X 498 y(unit)S 479 x(module's)S 241 x (identifier)S 240 x(for)S 240 x(the)S 240 x(connection)S 8083 X 896 y F36(fsm_stop)S 895 x 598 y F238(Procedur)S 2 x(e)S 14541 X(void)S 239 x (fsm_sto)S 2 x(p\()S 239 x(fsmId)S 240 x(id)S 239 x(\))S 11192 X 797 y (Descript)S 2 x(ion)S 718 x(Stop)S 239 x(a)S 240 x(control)S 240 x(protocol)S 240 x(running)S 241 x(on)S 239 x(a)S 240 x(connection)S 11192 X 797 y (Returns)S 14780 X(none)S 11192 17696 XY(Paramete)S 2 x(rs)S 717 x(id)S 240 x(state)S 479 x(machines)S 480 x(identifier)S 480 x(for)S 478 x (the)S 240 x(connectio)S 2 x(n)S 8083 X 897 y F36(fsm_send)S 784 x 598 y F238(Procedur)S 2 x(e)S 717 x(void)S 240 x(fsm_send\()S 241 x(fsmId)S 240 x(id,)S 239 x(u_char)S 240 x(code,)S 240 x(u_char)S 14062 X 498 y (newPktId)S 2 x(,)S 239 x(u_char)S 240 x(*data,)S 240 x(int)S 240 x (dataLen)S 240 x(\))S 11192 X 797 y(Descript)S 2 x(ion)S 239 x(Get)S 240 x(the)S 240 x(state)S 240 x(machine)S 240 x(to)S 239 x(send)S 240 x (a)S 239 x(control)S 241 x(packet)S 240 x(of)S 14062 X 498 y(type)S 240 x(code)S 11192 X 797 y(NOTE:)S 479 x(This)S 240 x(routine)S 241 x (is)S 239 x(only)S 240 x(supplied)S 240 x(for)S 240 x(control)S 12866 X 498 y(protoco)S 2 x(ls)S 239 x(which)S 240 x(need)S 240 x(to)S 239 x (send)S 240 x(a)S 239 x(control)S 241 x(packet.)S 12866 X 498 y(This)S 240 x(would)S 240 x(be)S 240 x(in)S 239 x(response)S 241 x(to)S 239 x (a)S 239 x(control)S 241 x(packet)S 12866 X 498 y(being)S 240 x(receive)S 2 x(d)S 239 x(which)S 240 x(the)S 240 x(state)S 239 x(machine)S 241 x (doesn't)S 12866 X 498 y(process)S 2 x(.)S 239 x(That)S 240 x(is,)S 239 x(control)S 241 x(protocols)S 240 x(which)S 240 x(need)S 240 x(to)S 12866 X 498 y(supply)S 241 x(the)S 239 x(extcode\()S 2 x(\))S 239 x (callback.)S 480 x(In)S 239 x(most)S 240 x(cases)S 240 x(a)S 12866 X 499 y(control)S 241 x(protocol)S 240 x(will)S 240 x(not)S 240 x(need)S 239 x(to)S 240 x(use)S 240 x(this)S 239 x(routine)S 2 x(.)S 11192 25866 XY (Returns)S 14062 X(none)S 11192 X 797 y(Paramete)S 2 x(rs)S 478 x 498 y (id)S 16215 X(state)S 240 x(machines)S 240 x(identifie)S 2 x(r)S 239 x (for)S 240 x(the)S 239 x(connecti)S 2 x(on)S 14062 X 797 y(code)S 16215 X (type)S 240 x(of)S 239 x(control)S 240 x(packet)S 240 x(to)S 240 x(sent)S 14062 X 797 y(newPktId)S 241 x(if)S 239 x(TRUE)S 240 x(the)S 240 x(state)S 240 x(machine)S 240 x(will)S 240 x(generate)S 240 x(a)S 16215 X 498 y (new)S 239 x(packet)S 241 x(identifier)S 240 x(for)S 240 x(this)S 16215 X 498 y(control)S 240 x(packet;)S 240 x(otherwis)S 2 x(e)S 239 x(it)S 239 x(will)S 240 x(use)S 240 x(the)S 16215 X 498 y(identifier)S 241 x (of)S 239 x(the)S 240 x(last)S 239 x(receive)S 2 x(d)S 239 x(packet.)S 14062 X 797 y(data)S 15976 X(This)S 239 x(is)S 240 x(the)S 240 x(control)S 240 x(packet)S 240 x(\(minus)S 240 x(the)S 15976 X 498 y(code,)S 240 x (identifier)S 240 x(and)S 240 x(length)S 240 x(fields.)S 15976 X 498 y (These)S 240 x(will)S 239 x(be)S 240 x(added)S 240 x(by)S 239 x(the)S 240 x(state)S 240 x(machine\).)S 14062 X 797 y(dataLen)S 241 x(Length)S 240 x(in)S 239 x(bytes)S 240 x(of)S 240 x(the)S 239 x(data)S 5 SC 18865 38258 XY F38(Network)S 166 x(Control)S 166 x(Protocols)S 167 x(Interface)S 399 x F40(2\2033)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-4) 18 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 4497 X 647 y(2.2)S 167 x(Callbacks)S 168 x(to)S 166 x(the)S 166 x(Control)S 167 x(Protocol)S 166 x(by)S 167 x(the)S 166 x(PPP)S 165 x(Driver)S 0 SC 4497 4711 XY F24(2.2)S 398 x(Callba)S -2 x(cks)S 232 x(to)S 233 x(the)S 232 x(Control)S 233 x(Protocol)S 233 x(by)S 232 x (the)S 233 x(PPP)S 233 x(Driver)S 8083 X 897 y F151(The)S 168 x(following)S 167 x(callbacks)S 167 x(can)S 168 x(be)S 167 x(provided)S 167 x(by)S 168 x(the)S 167 x(module)S 167 x(when)S 168 x(registering)S 168 x(a)S 167 x(control)S 8083 X 597 y(protocol.)S 277 x(The)S 180 x(PPP)S 180 x (driver)S 180 x(calls)S 179 x(these)S 179 x(routines)S 180 x(in)S 179 x (response)S 180 x(to)S 179 x(different)S 179 x(control)S 8083 X 598 y (packets)S 171 x(being)S 172 x(received.)S 260 x(The)S 172 x(PPP)S 172 x (driver)S 171 x(only)S 172 x(handles)S 171 x(control)S 172 x(packets)S 171 x(with)S 170 x(codes)S 8083 X 598 y(1-7)S 168 x(\(That)S 169 x(is,)S 169 x(Con\211gur)S 2 x(e-Request,)S 169 x(Con\211gure-Ack,)S 171 x(Con\211gure-Nak,)S 171 x(Con\211gure)S 2 x(-Reject,)S 8083 X 598 y(T)S -45 x(erminate-Request,)S 174 x(T)S -45 x(erminate-Ack,)S 175 x(and)S 173 x(Code-Reject\).)S 263 x (All)S 172 x(other)S 174 x(control)S 173 x(packets)S 8083 X 597 y(will)S 165 x(be)S 167 x(handed)S 166 x(to)S 166 x(the)S 166 x(control)S 167 x (protocol)S 166 x(via)S 166 x(the)S 167 x(supplied)S 165 x(extcode)S 167 x(callback.)S 8083 X 897 y(The)S 169 x(open)S 168 x(and)S 168 x (close)S 167 x(routines)S 168 x(must)S 167 x(be)S 168 x(speci\211ed.)S 253 x(The)S 168 x(cilen,)S 169 x(addci,)S 169 x(ackci,)S 169 x(nakci,)S 169 x(and)S 8083 X 598 y(rejci)S 176 x(routines)S 176 x(determine)S 176 x(the)S 176 x(host')S -19 x(s)S 175 x(negotiation)S 176 x(of)S 176 x (con\211gur)S 2 x(ation)S 175 x(options.)S 268 x(Either)S 8083 X 598 y (none)S 160 x(or)S 159 x(all)S 158 x(of)S 159 x(these)S 158 x(routines)S 159 x(must)S 158 x(be)S 159 x(supplied.)S 249 x(All)S 158 x(the)S 159 x (other)S 159 x(routines)S 159 x(are)S 159 x(optional.)S 8083 X 597 y (The)S 177 x(default)S 177 x(action)S 177 x(is)S 176 x(taken)S 177 x (if)S 176 x(the)S 177 x(routine)S 177 x(is)S 176 x(not)S 177 x(supplied.)S 270 x(All)S 176 x(the)S 177 x(routines)S 176 x(are)S 8083 X 598 y(called)S 166 x(with)S 166 x(a)S 166 x(unit)S 166 x(parameter)S 166 x(to)S 166 x (identify)S 166 x(the)S 167 x(connection)S 167 x(this)S 166 x(call)S 166 x(is)S 165 x(for)S -37 x(.)S 8083 X 897 y(The)S 173 x(PPP)S 174 x (driver)S 173 x(veri\211es)S 173 x(that)S 172 x(the)S 173 x(identi\211er)S 173 x(\211eld)S 173 x(of)S 172 x(a)S 173 x(control)S 173 x(packet)S 173 x(is)S 172 x(valid.)S 263 x(For)S 8083 X 597 y(callbacks)S 180 x (which)S 181 x(accept)S 180 x(or)S 180 x(reject)S 181 x(con\211gu)S 2 x(ration)S 180 x(options)S 180 x(\(e.g.)S 279 x(ackci\))S 180 x(the)S 180 x(control)S 8083 X 598 y(protocol)S 166 x(module)S 167 x(is)S 165 x (responsible)S 166 x(for:)S 8083 X 897 y(\201)S 595 x(Checking)S 167 x (the)S 166 x(options)S 166 x(have)S 167 x(not)S 166 x(been)S 167 x(reordered)S 8083 X 896 y(\201)S 595 x(Updating)S 166 x(its)S 166 x(copy)S 166 x (of)S 166 x(the)S 166 x(options)S 8083 X 897 y(There)S 179 x(is)S 178 x (no)S 179 x(need)S 178 x(for)S 179 x(the)S 178 x(control)S 179 x(protocol)S 178 x(module)S 179 x(to)S 178 x(ask)S 178 x(that)S 178 x(request)S 178 x (with)S 178 x(the)S 8083 X 598 y(updated)S 164 x(options)S 164 x(be)S 164 x(sent.)S 250 x(The)S 165 x(PPP)S 164 x(driver)S 165 x(will)S 164 x (callback)S 164 x(to)S 164 x(the)S 165 x(module)S 164 x(to)S 164 x(obtain)S 164 x(the)S 8083 X 598 y(updated)S 166 x(options)S 166 x(when)S 166 x (it)S 166 x(attempts)S 165 x(to)S 166 x(send)S 166 x(a)S 166 x(Con\211gure-Nak)S 167 x(or)S 167 x(Con\211gure-Reject.)S 8083 X 896 y(The)S 181 x(supported)S 180 x(callback)S 180 x(routines)S 181 x(and)S 180 x(the)S 181 x(default)S 180 x(action)S 180 x(taken)S 181 x(if)S 179 x(they)S 181 x(are)S 181 x (not)S 8083 X 598 y(supplied)S 166 x(are)S 166 x(described)S 166 x(in)S 166 x(the)S 166 x(following)S 167 x(subsections.)S 8083 X 897 y F36 (open)S 11192 X 597 y F238(Procedur)S 2 x(e)S 717 x(void)S 240 x(open\()S 240 x(fsmId)S 240 x(id,)S 240 x(PPPvcib)S 240 x(*vcib)S 240 x(\))S 11192 21946 XY (Descript)S 2 x(ion)S 718 x(This)S 239 x(functio)S 2 x(n)S 239 x(notifies)S 240 x(the)S 240 x(client)S 240 x(of)S 240 x(a)S 14541 X 498 y(request)S 240 x(to)S 239 x(start)S 240 x(a)S 240 x(control)S 240 x(protocol)S 240 x(on)S 240 x(a)S 14541 X 499 y(communicatio)S 2 x(ns)S 239 x(port.)S 479 x(The)S 240 x(control)S 240 x(protocol)S 14541 X 498 y(uses)S 239 x (the)S 240 x(fsmId)S 240 x(parameter)S 241 x(for)S 239 x(calls)S 240 x (back)S 240 x(into)S 14541 X 498 y(the)S 239 x(state)S 240 x(machine.)S 14541 X 498 y(When)S 239 x(a)S 240 x(control)S 240 x(protocol)S 240 x (receive)S 2 x(s)S 239 x(an)S 239 x(open)S 14541 X 498 y(request)S 240 x (in)S 239 x(MUST)S 240 x(respond)S 240 x(with)S 240 x(either)S 240 x (an)S 14541 X 498 y(fsm_open)S 240 x(call)S 240 x(to)S 239 x(accept)S 240 x(the)S 240 x(connectio)S 2 x(n)S 239 x(or)S 239 x(an)S 14541 X 498 y(fsm_close)S 240 x(call)S 240 x(to)S 240 x(reject)S 240 x(the)S 239 x(connecti)S 2 x(on.)S 14541 X 498 y(Failure)S 240 x(to)S 239 x (do)S 240 x(so)S 239 x(will)S 240 x(leave)S 240 x(the)S 240 x(state)S 240 x(machine)S 14541 X 499 y(in)S 239 x(an)S 240 x(undefined)S 240 x (state.)S 11192 28024 XY(Returns)S 14062 X(none)S 11192 29119 XY(Paramete)S 2 x(rs)S 478 x 499 y(id)S 15976 X(Identifier)S 240 x(for)S 240 x(fsm)S 240 x(for)S 239 x(this)S 240 x(control)S 240 x(protoco)S 2 x(l.)S 16215 X 498 y(Used)S 240 x(for)S 239 x(calls)S 240 x(into)S 240 x(the)S 240 x (state)S 240 x(machine)S 14301 X 797 y(vcib)S 16215 X(Pointer)S 240 x (to)S 240 x(PPP)S 239 x(vcib)S 240 x(\(i.e.)S 240 x(port\))S 240 x(associated)S 16215 X 498 y(with)S 240 x(this)S 239 x(control)S 241 x(protocol)S 5 SC 4497 38258 XY F40(2\2034)S 399 x F38(Network)S 166 x(Control)S 166 x (Protocols)S 167 x(Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Courier Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-5) 19 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 16982 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 11567 X 647 y(2.2)S 167 x(Callback)S 2 x(s)S 166 x(to)S 166 x(the)S 167 x(Control)S 166 x(Protocol)S 167 x(by)S 166 x(the)S 167 x(PPP)S 165 x(Driver)S 0 SC 8083 4545 XY F36(close)S 11192 X 598 y F238(Procedur)S 2 x(e)S 717 x(void)S 240 x(close\()S 240 x(int)S 240 x (unit)S 240 x(\))S 11192 6239 XY(Descript)S 2 x(ion)S 718 x(This)S 239 x (functio)S 2 x(n)S 239 x(notifies)S 240 x(a)S 240 x(client)S 240 x(that)S 240 x(the)S 14541 X 498 y(control)S 240 x(protocol)S 240 x(is)S 240 x (no)S 239 x(longer)S 240 x(needed)S 241 x(on)S 239 x(this)S 14541 X 498 y(communicatio)S 2 x(ns)S 239 x(port)S 240 x(\(there)S 240 x(is)S 239 x(no)S 14541 X 498 y(correspondin)S 2 x(g)S 239 x(protocol)S 240 x (using)S 240 x(the)S 14541 X 499 y(communicatio)S 2 x(ns)S 239 x(port\))S 240 x(or)S 239 x(the)S 240 x(protocol)S 241 x(can)S 239 x(no)S 14541 X 498 y(longer)S 240 x(be)S 239 x(run)S 240 x(on)S 239 x(this)S 240 x (communica)S 2 x(tions)S 240 x(port)S 14541 X 498 y(\(for)S 239 x(example)S 2 x(,)S 239 x(the)S 240 x(modem)S 239 x(has)S 240 x(hung)S 240 x(up)S 239 x(\).)S 14541 X 498 y(No)S 239 x(more)S 240 x(calls)S 240 x(to)S 239 x(the)S 240 x(id)S 239 x(matchin)S 2 x(g)S 239 x(this)S 240 x(unit)S 240 x(are)S 14541 X 498 y(permitted.)S 11192 11320 XY(Returns)S 14062 X (none)S 11192 X 797 y(Paramete)S 2 x(rs)S 717 x(unit)S 16215 X(Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x(connecti)S 2 x(on)S 8083 X 897 y F36(resetci)S 11192 X 597 y F238(Procedur)S 2 x(e)S 717 x (void)S 240 x(resetci\()S 241 x(int)S 239 x(unit)S 240 x(\))S 11192 14707 XY (Descript)S 2 x(ion)S 239 x(This)S 240 x(routine)S 240 x(is)S 240 x (called)S 240 x(to)S 239 x(tell)S 240 x(a)S 240 x(client)S 240 x(to)S 14062 X 498 y(set)S 240 x(its)S 240 x(configuratio)S 2 x(n)S 239 x(options)S 240 x(to)S 240 x(their)S 14062 X 499 y(initial)S 241 x(values.)S 479 x (No)S 240 x(action)S 240 x(results)S 240 x(if)S 239 x(this)S 14062 X 498 y(routine)S 241 x(is)S 239 x(not)S 240 x(supplied.)S 11192 17298 XY (Returns)S 14062 X(none)S 11192 18394 XY(Paramete)S 2 x(rs)S 717 x(unit)S 16215 X(Client's)S 19085 X(reference)S 22194 X(for)S 24107 X(this)S 16215 X 498 y(connection)S 8083 20087 XY F36(cilen)S 11192 X 598 y F238 (Procedur)S 2 x(e)S 717 x(int)S 240 x(cilen\()S 240 x(int)S 240 x(unit)S 240 x(\))S 11192 21781 XY(Descript)S 2 x(ion)S 718 x(This)S 239 x(routine)S 241 x(is)S 239 x(called)S 240 x(to)S 240 x(obtain)S 240 x(the)S 240 x (length)S 14541 X 498 y(of)S 239 x(client's)S 241 x(of)S 239 x(the)S 240 x(current)S 240 x(configurat)S 2 x(ion)S 14541 X 498 y(options.)S 479 x(This)S 240 x(is)S 240 x(the)S 239 x(length)S 240 x(of)S 240 x (the)S 239 x(options)S 14541 X 498 y(as)S 239 x(they)S 240 x(would)S 240 x(appear)S 240 x(in)S 239 x(the)S 240 x(a)S 239 x(PPP)S 240 x(packet.)S 14541 X 498 y(The)S 239 x(state)S 240 x(machine)S 241 x(calls)S 239 x (this)S 240 x(routine)S 241 x(when)S 14541 X 498 y(building)S 240 x (Configure)S 2 x(-Requests)S 479 x(Not)S 240 x(supplying)S 14541 X 499 y (this)S 239 x(routine)S 241 x(implies)S 240 x(the)S 240 x(control)S 240 x(protocol)S 14541 X 498 y(won't)S 240 x(negotiate)S 240 x(any)S 240 x(options)S 240 x(and)S 240 x(results)S 240 x(in)S 240 x(a)S 14541 X 498 y(Configure-Re)S 2 x(quest)S 240 x(with)S 239 x(no)S 240 x(options)S 240 x(being)S 14541 X 498 y(sent.)S 11192 27360 XY(Returns)S 14062 X (Length)S 240 x(of)S 240 x(client's)S 240 x(configur)S 2 x(ation)S 240 x (information)S 11192 28456 XY(Paramete)S 2 x(rs)S 717 x(unit)S 16215 X (Client's)S 19085 X(reference)S 22194 X(for)S 24107 X(this)S 16215 X 498 y(connection)S 8083 30149 XY F36(addci)S 11192 X 598 y F238(Procedur)S 2 x(e)S 717 x(void)S 240 x(addci\()S 240 x(int)S 240 x(unit,)S 240 x (u_char)S 240 x(*options,)S 241 x(int)S 239 x(*len)S 240 x(\))S 11192 31843 XY (Descript)S 2 x(ion)S 718 x(The)S 239 x(state)S 240 x(machine)S 241 x (calls)S 239 x(this)S 240 x(routine)S 241 x(when)S 14780 X 498 y(building)S 240 x(Configur)S 2 x(e-Requests.)S 14780 X 498 y(The)S 239 x(routine)S 241 x(adds)S 240 x(each)S 239 x(of)S 240 x(desired)S 14780 X 498 y(configurati)S 2 x(on)S 239 x(options)S 240 x(to)S 240 x(the)S 239 x(buffer.)S 480 x (The)S 14780 X 499 y(options)S 240 x(should)S 240 x(be)S 240 x(formatted)S 240 x(in)S 240 x(accordance)S 14780 X 498 y(with)S 240 x(the)S 239 x (control)S 241 x(protocol)S 240 x(being)S 240 x(implemente)S 2 x(d.)S 14780 X 498 y(i.e.)S 240 x(as)S 239 x(they)S 240 x(would)S 240 x(appear)S 240 x(in)S 239 x(a)S 240 x(Configure)S 240 x(Request)S 2 x(.)S 5 SC 18865 38258 XY F38(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 399 x F40(2\2035)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-6) 20 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 4497 X 647 y(2.2)S 167 x(Callbacks)S 168 x(to)S 166 x(the)S 166 x(Control)S 167 x(Protocol)S 166 x(by)S 167 x(the)S 166 x(PPP)S 165 x(Driver)S 0 SC 14780 4455 XY F238(Not)S 239 x(supplyi)S 2 x(ng)S 239 x(this)S 240 x(routine)S 240 x(implies)S 240 x(the)S 14780 X 498 y (control)S 240 x(protocol)S 241 x(won't)S 239 x(negotia)S 2 x(te)S 239 x (any)S 240 x(options)S 14780 X 498 y(and)S 239 x(results)S 241 x(in)S 239 x(a)S 240 x(Configure-Req)S 2 x(uest)S 239 x(with)S 240 x(no)S 14780 X 498 y(options)S 240 x(being)S 240 x(sent.)S 11192 7045 XY(Returns)S 14062 X(none)S 11192 8141 XY(Paramete)S 2 x(rs)S 478 x 498 y(unit)S 15976 X(Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x (connectio)S 2 x(n)S 14062 X 797 y(options)S 241 x(Pointer)S 240 x(to)S 239 x(buffer)S 240 x(to)S 240 x(copy)S 240 x(configurati)S 2 x(on)S 15976 X 498 y(options)S 240 x(to)S 14062 X 797 y(len)S 15976 X(On)S 239 x(input)S 240 x(-)S 239 x(length)S 240 x(of)S 240 x(buffer)S 15976 X 498 y(On)S 239 x(output)S 240 x(-)S 240 x(length)S 240 x(of)S 239 x (configura)S 2 x(tion)S 18846 X 499 y(options)S 240 x(in)S 239 x(buffer)S 8083 X 896 y F36(ackci)S 11192 X 598 y F238(Procedur)S 2 x(e)S 717 x (int)S 240 x(ackci\()S 240 x(int)S 240 x(unit,)S 240 x(u_char)S 240 x (*options,)S 480 x(int)S 14062 X 498 y(len)S 240 x(\))S 11192 14816 XY (Descript)S 2 x(ion)S 718 x(The)S 239 x(state)S 240 x(machine)S 241 x (calls)S 239 x(this)S 240 x(routine)S 241 x(when)S 239 x(it)S 14541 X 498 y(has)S 239 x(received)S 241 x(a)S 239 x(Configure-)S 2 x(Ack)S 239 x(for)S 240 x(the)S 240 x(control)S 14541 X 498 y(protocol,)S 240 x (i.e.)S 240 x(the)S 240 x(remote)S 240 x(end)S 239 x(has)S 240 x(accepted)S 14541 X 498 y(the)S 239 x(clients)S 241 x(configuration)S 241 x(options.)S 14541 X 499 y(The)S 239 x(routine)S 241 x(parses)S 240 x(each)S 239 x (option)S 241 x(in)S 239 x(the)S 240 x(options)S 14541 X 498 y(buffer)S 240 x(and)S 239 x(checks)S 241 x(that)S 239 x(it)S 240 x(is)S 239 x (formatte)S 2 x(d)S 14541 X 498 y(correctly)S 240 x(and)S 240 x(that)S 240 x(each)S 239 x(option)S 241 x(appears)S 240 x(in)S 239 x(the)S 14541 X 498 y(same)S 239 x(order)S 240 x(as)S 240 x(it)S 239 x(was)S 240 x(specified)S 241 x(in)S 239 x(the)S 240 x(addci)S 14541 X 498 y(routine.)S 479 x (If)S 240 x(all)S 239 x(the)S 240 x(options)S 240 x(meet)S 240 x(these)S 14541 X 498 y(requirements)S 241 x(then)S 240 x(the)S 239 x(routine)S 240 x(returns)S 241 x(1)S 239 x(\(to)S 14541 X 498 y(indicate)S 240 x (a)S 239 x(valid)S 240 x(Ack\);)S 240 x(otherwis)S 2 x(e)S 239 x(0)S 239 x(is)S 14541 X 498 y(returned.)S 14541 X 797 y(Not)S 239 x(supplyin)S 2 x(g)S 239 x(this)S 240 x(routine)S 240 x(implies)S 240 x(the)S 14541 X 499 y(control)S 240 x(protocol)S 240 x(won't)S 240 x(negotiat)S 2 x (e)S 239 x(any)S 240 x(options)S 14541 X 498 y(and)S 239 x(any)S 240 x (Configure-)S 2 x(Ack)S 239 x(received)S 241 x(containing)S 14541 X 498 y(options)S 240 x(is)S 239 x(ignored)S 241 x(by)S 239 x(the)S 240 x (state)S 240 x(machine.)S 11192 23683 XY(Returns)S 14062 X(1)S 15976 X (if)S 239 x(Ack)S 240 x(is)S 239 x(valid)S 14062 X 498 y(0)S 15976 X (invalid)S 240 x(ack)S 11192 25277 XY(Paramete)S 2 x(rs)S 478 x 498 y (unit)S 15976 X(Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x(connectio)S 2 x(n)S 14062 X 797 y(options)S 241 x(Pointer)S 240 x (to)S 239 x(buffer)S 240 x(contain)S 2 x(ing)S 239 x(configur)S 2 x (ation)S 15976 X 498 y(options)S 14062 X 797 y(len)S 15976 X(Length)S 240 x(of)S 239 x(configura)S 2 x(tion)S 239 x(options)S 8083 X 897 y F36(nakci)S 11192 X 597 y F238(Procedur)S 2 x(e)S 717 x(int)S 240 x (nackci\()S 240 x(int)S 240 x(unit,)S 240 x(u_char)S 240 x(*buffer,)S 480 x(int)S 14062 X 499 y(len)S 240 x(\))S 11192 30955 XY(Descript)S 2 x(ion)S 718 x(The)S 239 x(state)S 240 x(machine)S 241 x(calls)S 239 x (this)S 240 x(routine)S 241 x(when)S 239 x(it)S 14541 X 499 y(has)S 239 x(received)S 241 x(a)S 239 x(Configure-)S 2 x(Nak)S 239 x(for)S 240 x(the)S 240 x(control)S 14541 X 498 y(protocol.)S 240 x(i.e.)S 240 x (the)S 240 x(remote)S 240 x(end)S 239 x(doesn't)S 241 x(like)S 14541 X 498 y(some)S 239 x(of)S 240 x(the)S 240 x(values)S 240 x(in)S 239 x (the)S 240 x(requested)S 14541 X 498 y(configuratio)S 2 x(n)S 239 x (options.)S 14541 X 498 y(This)S 239 x(routine)S 241 x(is)S 239 x(responsib)S 2 x(le)S 239 x(for)S 240 x(checking)S 14541 X 498 y(that)S 239 x(this)S 240 x(is)S 240 x(a)S 239 x(valid)S 240 x(Nak.)S 479 x(The)S 240 x(Nak)S 239 x(is)S 240 x(valid:)S 14541 X 498 y(if)S 239 x(all)S 240 x(the)S 239 x(options)S 241 x(appearing)S 240 x(in)S 240 x(the)S 239 x(buffer)S 14780 X 499 y(are)S 239 x(formatt)S 2 x(ed)S 239 x(according)S 241 x (to)S 239 x(the)S 240 x(control)S 14780 X 498 y(protocol.)S 5 SC 4497 38258 XY F40(2\2036)S 399 x F38(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-7) 21 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 16982 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 11567 X 647 y(2.2)S 167 x(Callback)S 2 x(s)S 166 x(to)S 166 x(the)S 167 x(Control)S 166 x(Protocol)S 167 x(by)S 166 x(the)S 167 x(PPP)S 165 x(Driver)S 0 SC 14780 4455 XY F238(If)S 239 x(an)S 240 x (option)S 240 x(was)S 240 x(specified)S 240 x(by)S 240 x(the)S 239 x (addci)S 14780 X 498 y(routine,)S 479 x(then)S 240 x(option)S 240 x (appears)S 241 x(in)S 239 x(the)S 240 x(same)S 14780 X 498 y(order)S 240 x(as)S 239 x(specifie)S 2 x(d)S 239 x(by)S 239 x(the)S 240 x(addci)S 240 x(routine.)S 14780 X 797 y(If)S 239 x(an)S 240 x(option)S 240 x (was)S 240 x(not)S 239 x(specified)S 241 x(by)S 239 x(the)S 240 x(addci)S 14780 X 498 y(routine)S 240 x(it)S 240 x(appears)S 240 x(after)S 240 x (any)S 239 x(of)S 240 x(the)S 14780 X 498 y(options)S 240 x(that)S 240 x (were)S 240 x(specified)S 240 x(by)S 240 x(the)S 239 x(addc)S 14780 X 499 y(routine.)S 14062 X 797 y(If)S 240 x(the)S 239 x(Nack)S 240 x(is)S 240 x(invalid)S 240 x(the)S 240 x(routine)S 240 x(returns)S 240 x(0.)S 14062 X 498 y(If)S 240 x(the)S 239 x(Nack)S 240 x(is)S 240 x(valid)S 240 x(the)S 239 x(routine)S 241 x(returns)S 240 x(1,)S 14062 X 498 y (for)S 240 x(any)S 240 x(options)S 240 x(in)S 239 x(the)S 240 x(buffer)S 240 x(that)S 240 x(were)S 14062 X 498 y(specifie)S 2 x(d)S 239 x(by)S 239 x(the)S 240 x(addci)S 240 x(routine,)S 240 x(the)S 240 x(nakci)S 14062 X 498 y(routine)S 241 x(updates)S 240 x(the)S 240 x(client's)S 240 x(value)S 240 x(of)S 239 x(the)S 14062 X 498 y(options)S 241 x(\(preferably)S 241 x(to)S 239 x(the)S 240 x(value)S 240 x(the)S 239 x(option)S 14062 X 498 y(has)S 240 x(in)S 239 x(the)S 240 x(buffer\);)S 241 x(for)S 239 x (any)S 240 x(options)S 240 x(appearing)S 14062 X 498 y(in)S 240 x(the)S 239 x(buffer)S 241 x(that)S 239 x(weren't)S 241 x(specified)S 240 x (by)S 240 x(the)S 14062 X 499 y(addci)S 240 x(routine,)S 480 x(the)S 240 x(nackci)S 240 x(routine)S 240 x(updates)S 14062 X 498 y(the)S 240 x (client's)S 240 x(options)S 241 x(so)S 239 x(that)S 240 x(it)S 239 x (will)S 240 x(be)S 14062 X 498 y(specifie)S 2 x(d)S 239 x(the)S 240 x (next)S 239 x(time)S 240 x(the)S 240 x(addci)S 240 x(routine)S 240 x (is)S 14062 X 498 y(called.)S 14062 X 797 y(Not)S 240 x(supplying)S 241 x(this)S 239 x(routine)S 241 x(implies)S 240 x(that)S 479 x(the)S 14062 X 498 y(control)S 241 x(protocol)S 240 x(will)S 240 x(not)S 239 x (negotia)S 2 x(te)S 239 x(any)S 240 x(options)S 14062 X 498 y(and)S 240 x(any)S 240 x(Configure-Na)S 2 x(k)S 239 x(received)S 240 x(containi)S 2 x(ng)S 14062 X 498 y(options)S 241 x(is)S 239 x(ignored)S 240 x(by)S 240 x(the)S 239 x(state)S 240 x(machine)S 11192 17406 XY(Returns)S 14062 X (1)S 15976 X(if)S 239 x(nack)S 240 x(is)S 239 x(valid)S 14062 X 498 y (0)S 15976 X(invalid)S 240 x(nack)S 11192 19000 XY(Paramete)S 2 x(rs)S 478 x 498 y(unit)S 15976 X(Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x(connectio)S 2 x(n)S 14062 X 499 y(buffer)S 480 x (Pointer)S 240 x(to)S 239 x(buffer)S 240 x(contain)S 2 x(ing)S 239 x (configur)S 2 x(ation)S 15976 X 498 y(options)S 14062 X 498 y(len)S 15976 X(Length)S 240 x(of)S 239 x(configura)S 2 x(tion)S 239 x(options)S 8083 X 896 y F36(rejci)S 10475 X 598 y F238(Procedure)S 719 x(int)S 479 x(rejci\()S 240 x(int)S 239 x(unit,)S 240 x(u_char)S 240 x(*buffer)S 2 x(,)S 239 x(int)S 240 x(len\))S 10714 23583 XY(Descriptio)S 2 x(n)S 717 x(The)S 240 x(state)S 240 x(machine)S 240 x(calls)S 240 x(this)S 240 x(routine)S 240 x(when)S 240 x(it)S 14062 X 498 y(has)S 240 x(received)S 240 x(a)S 240 x(Configure-Re)S 2 x(j)S 239 x(for)S 240 x(the)S 239 x (control)S 14062 X 498 y(protocol)S 2 x(.)S 239 x(That)S 240 x(is,)S 239 x(the)S 240 x(remote)S 240 x(has)S 240 x(returned)S 240 x(the)S 14062 X 499 y(options)S 241 x(it)S 239 x(is)S 240 x(NOT)S 239 x(willing)S 240 x(to)S 240 x(negotiate.)S 14062 X 498 y(The)S 240 x(routine)S 240 x (parses)S 240 x(each)S 240 x(option)S 240 x(in)S 240 x(the)S 239 x(options)S 14062 X 498 y(buffer)S 240 x(and)S 240 x(checks)S 240 x(that)S 240 x (it)S 239 x(is)S 240 x(formatted)S 14062 X 498 y(correctl)S 2 x(y)S 239 x(and)S 240 x(that)S 239 x(each)S 240 x(option)S 240 x(in)S 240 x (the)S 239 x(buffer)S 14062 X 498 y(appears)S 241 x(in)S 239 x(the)S 240 x(same)S 240 x(order)S 239 x(as)S 240 x(it)S 239 x(was)S 240 x(specified)S 14062 X 498 y(in)S 240 x(the)S 17171 X(routine)S 2 x(.)S 478 x(If)S 239 x(all)S 240 x(the)S 240 x(options)S 31521 X(addci)S 14062 X 498 y (meet)S 240 x(these)S 240 x(requireme)S 2 x(nts)S 239 x(then)S 240 x (the)S 240 x(routine)S 14062 X 498 y(returns)S 241 x(1)S 239 x(\(to)S 240 x(indicate)S 240 x(a)S 239 x(valid)S 22194 X(\)and)S 240 x(the)S 37500 X(Rej)S 14062 X 499 y(routine)S 241 x(updates)S 240 x(the)S 240 x (copy)S 239 x(of)S 240 x(the)S 239 x(client')S 2 x(s)S 14062 X 498 y (options)S 241 x(so)S 239 x(that)S 240 x(none)S 240 x(of)S 239 x(the)S 240 x(options)S 240 x(appearing)S 14062 X 498 y(in)S 240 x(the)S 239 x (buffer)S 241 x(are)S 239 x(negotiate)S 2 x(d)S 239 x(\(i.e.)S 240 x (will)S 240 x(not)S 14062 X 498 y(be)S 240 x(inserted)S 240 x(by)S 240 x (the)S 19563 X(i)S 239 x(routine\))S 2 x(.)S 32717 X(addc)S 14062 X 498 y(If)S 240 x(one)S 239 x(or)S 240 x(more)S 240 x(options)S 240 x (are)S 240 x(formatted)S 14062 X 498 y(incorrec)S 2 x(tly)S 239 x(or)S 240 x(are)S 239 x(out)S 240 x(of)S 239 x(order)S 240 x(0)S 240 x(is)S 239 x(returned)S 14062 X 498 y(\(to)S 240 x(indicate)S 240 x(an)S 240 x (invalid)S 240 x(Rej\))S 14062 X 797 y(Not)S 240 x(supplying)S 241 x (this)S 239 x(routine)S 241 x(implies)S 240 x(the)S 14062 X 499 y(control)S 241 x(protocol)S 240 x(won't)S 240 x(negotiate)S 241 x(any)S 239 x(options)S 14062 X 498 y(and)S 240 x(any)S 240 x(Configure-Re)S 2 x(j)S 239 x(received)S 240 x(containi)S 2 x(ng)S 14062 X 498 y(options)S 241 x(is)S 239 x(ignored)S 240 x(by)S 240 x(the)S 239 x(state)S 240 x(machine)S 11192 35439 XY (Returns)S 14062 X(1)S 15976 X(if)S 239 x(reject)S 240 x(is)S 240 x (valid)S 14062 X 498 y(0)S 15976 X(invalid)S 240 x(reject)S 5 SC -458 x 38258 Y F38(Network)S 166 x(Control)S 166 x(Protocols)S 167 x(Interface)S 399 x F40(2\2037)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-8) 22 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 4497 X 647 y(2.2)S 167 x(Callbacks)S 168 x(to)S 166 x(the)S 166 x(Control)S 167 x(Protocol)S 166 x(by)S 167 x(the)S 166 x(PPP)S 165 x(Driver)S 0 SC 11192 4455 XY F238(Paramete)S 2 x(rs)S 478 x(unit)S 15976 X(Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x (connectio)S 2 x(n)S 14062 X 797 y(buffer)S 480 x(Pointer)S 240 x(to)S 239 x(buffer)S 240 x(contain)S 2 x(ing)S 239 x(configur)S 2 x(ation)S 15976 X 498 y(options)S 14062 X 797 y(len)S 15976 X(Length)S 240 x(of)S 239 x(configura)S 2 x(tion)S 239 x(options)S 8083 X 897 y F36(reqci)S 11192 X 597 y F238(Procedur)S 2 x(e)S 717 x(int)S 240 x(reqci\()S 240 x (int)S 240 x(unit,)S 240 x(u_char)S 240 x(*options,)S 240 x(int)S 14062 X 499 y(*len,)S 240 x(int)S 240 x(reject_if_)S 2 x(disagree)S 240 x(\))S 10714 9635 XY(Descriptio)S 2 x(n)S 717 x(The)S 240 x(state)S 240 x(machine)S 240 x(calls)S 240 x(this)S 240 x(routine)S 240 x(when)S 240 x(it)S 14062 X 499 y(has)S 240 x(received)S 240 x(a)S 240 x(Configure-Re)S 2 x(quest)S 240 x(for)S 239 x(the)S 14062 X 498 y(control)S 241 x(protocol)S 240 x (from)S 240 x(the)S 239 x(peer.)S 14062 X 498 y(The)S 240 x(routine)S 240 x(parses)S 240 x(each)S 240 x(option)S 240 x(in)S 240 x(the)S 239 x (buffer)S 14062 X 498 y(and)S 240 x(decides)S 240 x(whether)S 241 x (to)S 239 x(accept/rej)S 2 x(ect)S 239 x(the)S 14062 X 498 y(option..)S 480 x(If)S 239 x(all)S 240 x(the)S 240 x(options)S 240 x(in)S 239 x (the)S 240 x(buffer)S 14062 X 498 y(are)S 240 x(formatted)S 241 x(correctly)S 240 x(and)S 240 x(acceptable)S 241 x(to)S 239 x(the)S 14062 X 498 y (client,)S 241 x(then)S 239 x(the)S 240 x(routine)S 240 x(returns)S 241 x(CONFACK.)S 14062 X 498 y(If)S 240 x(the)S 239 x(client)S 241 x (finds)S 240 x(one)S 239 x(or)S 240 x(more)S 239 x(options)S 241 x(it)S 239 x(is)S 14062 X 499 y(not)S 240 x(willing)S 240 x(to)S 240 x(negotiate)S 240 x(on)S 240 x(then)S 240 x(it)S 239 x(returns)S 14062 X 498 y(CONFREJ)S 241 x(and)S 239 x(updates)S 241 x(the)S 239 x(options)S 240 x(buffer)S 241 x(to)S 14062 X 498 y(contain)S 241 x(the)S 239 x(options)S 241 x (it)S 239 x(is)S 239 x(not)S 240 x(willing)S 240 x(to)S 14062 X 498 y (negotiat)S 2 x(e.)S 478 x(If)S 240 x(the)S 239 x(client)S 240 x(finds)S 240 x(an)S 14062 X 498 y(incorrec)S 2 x(tly)S 239 x(formatte)S 2 x(d)S 239 x(option,)S 240 x(the)S 240 x(routine)S 14062 X 498 y(returns)S 241 x(CONREJ)S 240 x(and)S 239 x(options)S 241 x(parameter)S 240 x(is)S 14062 X 498 y(updated)S 241 x(to)S 239 x(point)S 240 x(to)S 240 x(all)S 239 x(options)S 240 x(from)S 240 x(the)S 240 x(bad)S 14062 X 499 y(option)S 240 x(onwards)S 241 x(i.e.)S 240 x(the)S 239 x(remainder)S 241 x(of)S 239 x(the)S 14062 X 498 y(original)S 241 x(options)S 240 x(buffer.)S 14062 X 498 y(If)S 240 x(the)S 239 x(client)S 241 x(is)S 239 x(prepared)S 240 x(to)S 240 x(negotiate)S 241 x(on)S 239 x(all)S 14062 X 498 y(the)S 240 x(options)S 240 x(but)S 240 x(finds)S 240 x(one)S 239 x(or)S 240 x (more)S 240 x(values)S 14062 X 498 y(specifie)S 2 x(d)S 239 x(in)S 239 x (the)S 240 x(options)S 240 x(unaccept)S 2 x(able,)S 240 x(the)S 14062 X 498 y(routine)S 241 x(returns)S 240 x(CONFNAK)S 240 x(and)S 240 x(updates)S 240 x(the)S 14062 X 498 y(option)S 240 x(in)S 240 x(buffer)S 240 x(to)S 240 x(contain)S 240 x(an)S 239 x(acceptab)S 2 x(le)S 14062 X 498 y(value.)S 14062 X 499 y(If)S 240 x(the)S 239 x(process)S 2 x(ing)S 239 x(results)S 240 x(in)S 240 x(a)S 239 x(NAK)S 240 x(and)S 240 x(the)S 14062 X 498 y (reject_i)S 2 x(f_disagree)S 240 x(flag)S 240 x(is)S 240 x(set,)S 239 x (then)S 240 x(the)S 14062 X 498 y(routine)S 241 x(must)S 239 x(return)S 241 x(CONFREJ.)S 14062 X 797 y(Not)S 240 x(supplying)S 241 x(this)S 239 x(routine)S 241 x(is)S 239 x(equivalen)S 2 x(t)S 239 x(to)S 14062 X 498 y(not)S 240 x(allowing)S 240 x(any)S 240 x(options)S 240 x(to)S 240 x(be)S 239 x(negotiat)S 2 x(ed)S 239 x(by)S 14062 X 498 y(the)S 240 x(peer,)S 240 x(that)S 240 x(is,)S 239 x(if)S 240 x(the)S 239 x (peer's)S 241 x(request)S 240 x(contains)S 14062 X 498 y(any)S 240 x (options)S 240 x(a)S 240 x(Configure-Rej)S 241 x(will)S 240 x(be)S 239 x (sent)S 11192 25974 XY(Returns)S 14062 X(CONFACK)S 17889 X(All)S 240 x (the)S 239 x(options)S 240 x(are)S 17889 X 498 y(acceptable)S 241 x (to)S 239 x(the)S 240 x(client)S 14062 X 498 y(CONFNAK)S 17889 X(One)S 240 x(or)S 239 x(more)S 240 x(options)S 240 x(is)S 240 x(not)S 17889 X 499 y(acceptable)S 14062 X 498 y(CONFREJ)S 17889 X(The)S 240 x(client)S 240 x(is)S 239 x(not)S 240 x(willing)S 240 x(to)S 17889 X 498 y(negotiate)S 240 x(on)S 240 x(one)S 240 x(or)S 239 x(more)S 240 x(options)S 11192 29561 XY (Paramete)S 2 x(rs)S 478 x 498 y(unit)S 17650 X(Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 17650 X 498 y(connection)S 240 x(options)S 17650 X 498 y(On)S 239 x(Input:)S 17650 X 498 y(Pointer)S 240 x(to)S 239 x(buffer)S 241 x(containing)S 17650 X 498 y(configuratio)S 2 x(n)S 239 x(options)S 17889 X 797 y(On)S 239 x(Output:)S 17889 X 499 y(Pointer)S 240 x(to)S 240 x(buffer)S 240 x(with)S 240 x(options)S 240 x(to)S 17889 X 498 y(Ack/Reject/)S 2 x(Nak)S 14062 X 797 y(len)S 17889 X(On)S 239 x (Input:)S 17889 X 498 y(Length)S 240 x(of)S 239 x(configu)S 2 x(ration)S 240 x(options)S 17889 X 797 y(On)S 239 x(Output:)S 17889 X 498 y(Length)S 240 x(of)S 239 x(options)S 241 x(to)S 239 x(Ack/Rej/)S 2 x(Nak)S 5 SC 4497 38258 XY F40(2\2038)S 399 x F38(Network)S 166 x(Control)S 166 x (Protocols)S 167 x(Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-9) 23 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 16982 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 11567 X 647 y(2.2)S 167 x(Callback)S 2 x(s)S 166 x(to)S 166 x(the)S 167 x(Control)S 166 x(Protocol)S 167 x(by)S 166 x(the)S 167 x(PPP)S 165 x(Driver)S 0 SC 12149 4455 XY F238(reject_if_)S 2 x (disagree)S 17889 X(The)S 240 x(Client)S 240 x(must)S 239 x(return)S 241 x(REJ)S 17889 X 498 y(instead)S 240 x(of)S 240 x(a)S 239 x(NAK)S 240 x(when)S 239 x(this)S 240 x(flag)S 240 x(is)S 17889 X 498 y(set)S 240 x(to)S 239 x(TRUE.)S 8083 X 897 y F36(up)S 11192 X 598 y F238(Procedur)S 2 x(e)S 717 x(void)S 240 x(up\()S 240 x(int)S 239 x(unit)S 240 x(\))S 11192 8041 XY(Descript)S 2 x(ion)S 718 x(This)S 239 x(routine)S 241 x (is)S 239 x(called)S 240 x(to)S 240 x(notify)S 240 x(a)S 239 x(client)S 14541 X 499 y(that)S 239 x(the)S 240 x(control)S 240 x(protocol)S 241 x (has)S 239 x(entered)S 241 x(the)S 14541 X 498 y(OPENED)S 240 x(state)S 240 x(i.e.)S 240 x(the)S 239 x(correspon)S 2 x(ding)S 239 x(protoco)S 2 x(l)S 14541 X 498 y(can)S 239 x(now)S 240 x(be)S 239 x(used)S 240 x (on)S 240 x(the)S 239 x(connecti)S 2 x(on.)S 14541 X 498 y(The)S 239 x (routine)S 241 x(should)S 240 x(take)S 239 x(any)S 240 x(action)S 240 x (it)S 240 x(deems)S 14541 X 498 y(necessary.)S 480 x(No)S 239 x(action)S 240 x(results)S 240 x(if)S 240 x(this)S 240 x(routine)S 14541 X 498 y (is)S 239 x(not)S 240 x(supplied)S 14541 X 797 y(NOTE)S 239 x(:)S 479 x (The)S 240 x(protocol)S 240 x(using)S 240 x(the)S 240 x(VCI)S 239 x (interfac)S 2 x(e)S 14541 X 498 y(will)S 239 x(be)S 240 x(notified)S 240 x(separate)S 2 x(ly)S 239 x(that)S 240 x(it)S 239 x(can)S 240 x (be)S 14541 X 498 y(now)S 239 x(be)S 240 x(used.)S 11192 13919 XY(Returns)S 14062 X(none)S 11192 15015 XY(Paramete)S 2 x(rs)S 717 x(unit)S 16215 X (Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x(connecti)S 2 x(on)S 8083 X 897 y F36(down)S 11192 X 598 y F238(Procedur)S 2 x(e)S 717 x(void)S 240 x(down\()S 240 x(int)S 240 x(unit)S 240 x(\))S 11192 17606 XY (Descript)S 2 x(ion)S 718 x(This)S 239 x(routine)S 241 x(is)S 239 x (called)S 240 x(to)S 240 x(notify)S 240 x(a)S 239 x(client)S 14541 X 498 y(that)S 239 x(the)S 240 x(control)S 240 x(protocol)S 241 x(has)S 239 x(left)S 240 x(the)S 240 x(OPENED)S 14541 X 498 y(state)S 240 x (i.e.)S 239 x(the)S 240 x(correspond)S 2 x(ing)S 239 x(protocol)S 241 x (can)S 239 x(no)S 14541 X 498 y(longer)S 240 x(be)S 239 x(used)S 240 x (on)S 240 x(the)S 239 x(connectio)S 2 x(n.)S 14541 X 498 y(The)S 239 x (routine)S 241 x(should)S 240 x(take)S 239 x(any)S 240 x(action)S 240 x (it)S 240 x(deems)S 14541 X 498 y(necessary.)S 480 x(No)S 239 x(action)S 240 x(results)S 240 x(if)S 240 x(this)S 240 x(routine)S 14541 X 498 y (is)S 239 x(not)S 240 x(supplied.)S 14541 X 498 y(NOTE:)S 479 x(The)S 239 x(protoco)S 2 x(l)S 239 x(using)S 240 x(the)S 239 x(VCI)S 240 x (interface)S 15976 X 499 y(will)S 239 x(be)S 240 x(notified)S 240 x (separate)S 2 x(ly)S 239 x(that)S 240 x(it)S 239 x(can)S 240 x(no)S 15976 X 498 y(longer)S 240 x(be)S 239 x(used.)S 11192 23185 XY(Returns)S 14062 X(none)S 11192 24281 XY(Paramete)S 2 x(rs)S 478 x(unit)S 15976 X (Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x(connectio)S 2 x(n)S 8083 X 896 y F36(extcode)S 11192 X 598 y F238(Procedur)S 2 x (e)S 717 x(int)S 240 x(extcode\()S 240 x(int)S 240 x(unit,)S 240 x(int)S 240 x(code,)S 240 x(int)S 239 x(id,)S 14062 X 498 y(u_char)S 240 x(*pkt,)S 240 x(int)S 240 x(len\))S 10475 27369 XY(Description)S 14062 X(The)S 240 x(state)S 240 x(machine)S 240 x(calls)S 240 x(this)S 240 x(routine)S 240 x(when)S 240 x(it)S 14062 X 498 y(has)S 240 x(received)S 240 x(a)S 240 x(packet)S 240 x(for)S 239 x(the)S 240 x(control)S 14062 X 498 y (protocol)S 241 x(that)S 240 x(the)S 239 x(state)S 240 x(machine)S 240 x (doesn't)S 14062 X 498 y(handle)S 240 x(\(i.e.)S 240 x(the)S 240 x(packet)S 240 x(isn't)S 240 x(a)S 239 x(Configu)S 2 x(re-)S 14062 X 498 y(Request,)S 241 x(Configure-A)S 2 x(ck,)S 478 x(Configur)S 2 x(e-Nak,)S 14062 X 499 y(Configur)S 2 x(e-Reject,)S 240 x(Terminate)S 2 x(-Request,)S 14062 X 498 y(Terminat)S 2 x(e-Ack)S 240 x(or)S 239 x(Code-Rejec)S 2 x(t\).)S 14062 X 498 y(It)S 240 x(is)S 239 x(up)S 240 x(to)S 239 x(the)S 240 x (routine)S 240 x(to)S 240 x(decided)S 240 x(what)S 240 x(to)S 239 x (do)S 14062 X 498 y(with)S 240 x(the)S 240 x(packet.)S 240 x(If)S 240 x (the)S 239 x(routine)S 240 x(elects)S 241 x(to)S 14062 X 498 y(handle)S 240 x(the)S 240 x(packet)S 240 x(it)S 240 x(returns)S 240 x(1;)S 239 x (otherwi)S 2 x(se)S 239 x(it)S 14062 X 498 y(returns)S 241 x(0.)S 478 x (It)S 240 x(the)S 239 x(client)S 240 x(doesn't)S 241 x(handle)S 240 x (the)S 14062 X 498 y(packet,)S 241 x(the)S 239 x(state)S 240 x(machine)S 240 x(will)S 240 x(send)S 240 x(a)S 239 x(Code-)S 14062 X 499 y(Reject.)S 14062 X 797 y(If)S 240 x(this)S 240 x(return)S 240 x(is)S 239 x(supplied)S 241 x(a)S 239 x(Code-Rejec)S 2 x(t)S 239 x(will)S 14062 X 498 y(be)S 240 x(sent.)S 11192 35738 XY(Returns)S 14062 X(1)S 15976 X(packet)S 240 x(recognised)S 240 x(and)S 240 x(handled)S 240 x(by)S 240 x(client)S 14062 X 498 y(0)S 15976 X(packet)S 240 x(not)S 239 x(handled)S 241 x (by)S 239 x(client)S 5 SC 18865 38258 XY F38(Network)S 166 x(Control)S 166 x(Protocols)S 167 x(Interface)S 399 x F40(2\2039)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (2-10) 24 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Network)S 166 x(Control)S 166 x(Protocols)S 167 x (Interface)S 4497 X 647 y(2.2)S 167 x(Callbacks)S 168 x(to)S 166 x(the)S 166 x(Control)S 167 x(Protocol)S 166 x(by)S 167 x(the)S 166 x(PPP)S 165 x(Driver)S 0 SC 11192 4455 XY F238(Paramete)S 2 x(rs)S 717 x(unit)S 16215 X(Client's)S 240 x(reference)S 241 x(for)S 239 x(this)S 240 x (connecti)S 2 x(on)S 14301 X 797 y(code)S 16215 X(type)S 240 x(of)S 239 x(control)S 240 x(packet)S 14301 X 797 y(id)S 16215 X(identifier)S 241 x(field)S 239 x(of)S 240 x(control)S 240 x(packet)S 14301 X 797 y (pkt)S 16215 X(pointer)S 240 x(to)S 240 x(control)S 240 x(packet)S 240 x (data)S 14301 X 797 y(len)S 16215 X(length)S 240 x(of)S 239 x(control)S 241 x(packet)S 240 x(data)S 5 SC 4497 38258 XY F40(2\20310)S 399 x F38 (Network)S 166 x(Control)S 166 x(Protocols)S 167 x(Interface)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold Courier %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (3-1) 25 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 26214 6776 XY F8(3)S 4497 X 448 y 22716 48 R 17635 8242 XY F208 (Progr)S -2 x(amming)S 331 x(Notes)S 8083 10534 XY F151(This)S 177 x (chapter)S 176 x(describes)S 176 x(how)S 176 x(to)S 176 x(use)S 177 x (the)S 176 x(programming)S 177 x(interfaces)S 177 x(to)S 176 x(implement)S 8083 X 597 y(protocols)S 166 x(and)S 166 x(control)S 167 x(protocols)S 166 x(for)S 166 x(PPP)S -64 x(.)S 4497 12460 XY F24(3.1)S 398 x(Control)S 232 x(Protocols)S 4497 14452 XY F28(3.1.1)S 400 x(Registering)S 200 x (a)S 200 x(Control)S 199 x(Protocol)S 8083 X 797 y F151(Call)S 176 x (fsm_register)S(\()S 82 x(\))S(,)S 179 x(supplying)S 177 x(the)S 177 x (control)S 176 x(protocol)S 176 x(and)S 177 x(pointers)S 176 x(to)S 176 x(the)S 176 x(callback)S 8083 X 598 y(routines)S 173 x(as)S 172 x (input)S 173 x(parameters.)S 263 x(Pointers)S 173 x(to)S 172 x(the)S 173 x(callback)S 173 x(routines)S 173 x(are)S 173 x(provided)S 173 x (by)S 8083 X 598 y(\211lling)S 167 x(in)S 166 x(the)S 167 x(relevant)S 167 x(\211elds)S 165 x(in)S 167 x(the)S 166 x(entry)S 167 x(parameter)S -37 x(.)S 8083 X 896 y(Once)S 168 x(a)S 167 x(control)S 168 x(protocol)S 168 x(has)S 168 x(been)S 168 x(registered)S 167 x(the)S 168 x(module)S 168 x(will)S 167 x(receive)S 168 x(noti\211cation)S 168 x(of)S 8083 X 598 y(requests)S 166 x(to)S 166 x(start)S 165 x(a)S 166 x(control)S 167 x(protocol)S 8083 X 897 y(The)S 163 x(registering)S 163 x(of)S 162 x (a)S 163 x(control)S 162 x(protocol)S 163 x(MUST)S 162 x(take)S 163 x (place)S 162 x(before)S 162 x(any)S 163 x(requests)S 162 x(to)S 162 x (start)S 8083 X 598 y(the)S 158 x(corresponding)S 159 x(protocol)S 158 x (occur)S -36 x(.)S 250 x(It)S 157 x(is)S 157 x(therefore)S 159 x(recommended)S 158 x(that)S 157 x(the)S 158 x(registering)S 8083 X 597 y(of)S 162 x (a)S 162 x(control)S 162 x(protocol)S 162 x(takes)S 162 x(place)S 161 x (when)S 163 x(the)S 162 x(module)S 162 x(implementing)S 162 x(is)S 161 x (initialised.)S 249 x(If)S 161 x(a)S 8083 X 598 y(request)S 167 x(to)S 166 x(start)S 166 x(a)S 167 x(protocol)S 167 x(occurs)S 167 x(before)S 167 x(a)S 167 x(corresponding)S 168 x(control)S 167 x(protocol)S 167 x (has)S 166 x(been)S 8083 X 598 y(registered,)S 167 x(the)S 166 x(request)S 166 x(will)S 166 x(fail.)S 4497 22323 XY F28(3.1.2)S 400 x(Deregistering)S 200 x(a)S 200 x(Control)S 199 x(Protocol)S 8083 X 797 y F151(Call)S 166 x(the)S 166 x(fsm_deregister0)S 166 x(routine.)S 8083 X 896 y(The)S 184 x(state)S 182 x(machine)S 184 x(will)S 182 x(stop)S 182 x(any)S 184 x(connection)S 2 x(s)S 182 x(using)S 184 x(the)S 183 x(control)S 184 x(protocol.)S 283 x(The)S 8083 X 598 y(module)S 166 x(will)S 166 x (receive)S 167 x(noti\211cation)S 166 x(that)S 166 x(the)S 167 x(connections)S 166 x(have)S 167 x(been)S 167 x(stopped.)S 4497 25710 XY F28(3.1.3)S 400 x(Receiving)S 201 x(Noti\211cation)S 201 x(of)S 199 x(a)S 200 x (New)S 199 x(Connection)S 8083 26806 XY F151(1.)S 482 x(The)S 190 x (module')S -19 x(s)S 189 x(open)S(\()S 83 x(\))S 189 x(routine)S 190 x (is)S 189 x(called.)S 296 x(The)S 190 x(id)S 189 x(parameter)S 189 x (identi\211es)S 189 x(the)S 8980 X 598 y(connection)S 182 x(to)S 180 x (the)S 180 x(state)S 180 x(machine)S 181 x(and)S 181 x(must)S 180 x (be)S 180 x(used)S 180 x(for)S 181 x(calls)S 180 x(into)S 180 x(the)S 181 x(state)S 8980 X 597 y(machine.)S 8083 X 897 y(2.)S 482 x(The)S 175 x(module)S 175 x(can)S 175 x(accept)S 175 x(this)S 175 x(connection)S 176 x(by)S 175 x(call)S 175 x(the)S 175 x(fsm_st)S -2 x(art)S(\()S 83 x (\))S 175 x(routine.)S 268 x(The)S 8980 X 598 y(connection)S 179 x(is)S 177 x(identi\211ed)S 177 x(by)S 178 x(the)S 178 x(id)S 177 x(parameter)S -37 x(.)S 273 x(The)S 178 x(module)S 178 x(supplies)S 177 x(it')S -20 x (s)S 178 x(own)S 8980 X 598 y(reference)S 175 x(to)S 175 x(this)S 174 x (connection)S 175 x(\(e.g.)S 268 x(the)S 174 x(index)S 176 x(into)S 174 x(an)S 175 x(array)S 175 x(of)S 175 x(connections\))S 175 x(by)S 8980 X 597 y(\211lling)S 161 x(in)S 161 x(the)S 160 x(unitparameter)S -36 x(.)S 249 x(When)S 161 x(the)S 161 x(state)S 160 x(machine)S 161 x (calls)S 160 x(back)S 160 x(to)S 161 x(the)S 160 x(module)S 8980 X 598 y (the)S 166 x(ref)S 166 x(is)S 166 x(used)S 166 x(by)S 166 x(the)S 166 x (module)S 167 x(to)S 166 x(identify)S 166 x(the)S 166 x(connection.)S 8083 X 897 y(3.)S 482 x(If)S 177 x(the)S 178 x(module)S 179 x(accepts)S 177 x(the)S 178 x(connec)S 2 x(tion,)S 181 x(the)S 178 x(state)S 177 x (machine)S 179 x(will)S 177 x(negotiate)S 178 x(the)S 8980 X 598 y(con\211gu)S 2 x(ration)S 178 x(options)S 178 x(with)S 179 x(the)S 178 x(peer)S 179 x (and)S 179 x(will)S 177 x(call)S 179 x(various)S 179 x(callback)S 179 x (routines)S 8980 X 597 y(as)S 190 x(part)S 190 x(of)S 190 x(this)S 191 x (process.)S 297 x(The)S 192 x(section)S 190 x(Example)S 190 x(operation)S 191 x(of)S 190 x(Negotiating)S 8980 X 598 y(Con\211guration)S 167 x (Options)S 166 x(below)S 165 x(shows)S 165 x(a)S 166 x(typical)S 167 x (exchang)S 2 x(e.)S 5 SC 226 x 38258 Y F38(Program)S 2 x(ming)S 166 x (Notes)S 399 x F40(3\2031)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (BLACK) %%+ (FOOTCOLOR) % %%Page: (3-2) 26 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Programming)S 167 x(Notes)S 4497 X 647 y(3.1)S 167 x(Control)S 166 x(Protocols)S 0 SC 4497 4636 XY(3.1.4)S 400 x(Example)S 200 x(operatio)S 2 x(n)S 199 x(of)S 200 x(Negotiating)S 200 x(Con\211guration)S 201 x(Options)S 8083 X 797 y F151(A)S 166 x(typical)S 166 x(exchang)S 2 x(e)S 166 x(\(of)S 166 x(a)S 166 x(registered)S 166 x(control)S 167 x (protocol\))S 166 x(is)S 165 x(as)S 166 x(follows:)S 8083 X 897 y(\201)S 595 x(PPP)S 178 x(driver)S 178 x(calls)S 177 x(the)S 177 x(open)S(\()S 83 x(\))S 177 x(routine)S 178 x(to)S 177 x(signal)S 178 x(to)S 177 x (the)S 177 x(module)S 178 x(of)S 177 x(a)S 177 x(request)S 177 x(to)S 8980 X 597 y(start)S 175 x(the)S 176 x(control)S 176 x(protocol)S 176 x (on)S 176 x(a)S 176 x(communications)S 176 x(port.)S 269 x(The)S 176 x (opencall)S 176 x(contains)S 8980 X 598 y(the)S 166 x(name)S 166 x(of)S 166 x(the)S 166 x(device)S 167 x(and)S 166 x(idto)S 166 x(identify)S 166 x(this)S 166 x(connection)S 168 x(to)S 165 x(the)S 167 x(state)S 165 x(machine.)S 8083 X 897 y(\201)S 595 x(The)S 167 x(module)S 166 x (accepts)S 165 x(the)S 167 x(request)S 166 x(by)S 166 x(calling)S 167 x (fsm_open)S(\()S 83 x(\))S(.)S 8083 X 896 y(\201)S 595 x(PPP)S 174 x (driver)S 174 x(calls)S 172 x(the)S 174 x(cilen)S(\()S 83 x(\))S 173 x (and)S 174 x(addci)S(\()S 82 x(\))S 174 x(routines)S 173 x(to)S 173 x (obtain)S 173 x(the)S 174 x(con\211gu)S 2 x(ration)S 8980 X 598 y(options)S 166 x(to)S 165 x(request.)S 8083 X 897 y(\201)S 595 x(The)S 187 x(remote)S 186 x(end)S 187 x(accepts)S 186 x(the)S 186 x(con\211g)S 2 x(uration)S 187 x(options.)S 289 x(PPP)S 187 x(driver)S 188 x(calls)S 185 x(the)S 8980 X 598 y(module')S -19 x(s)S 166 x(ackci)S 166 x(routine.)S 8083 X 896 y(\201)S 595 x(The)S 167 x(remote)S 167 x(end)S 167 x(sends)S 166 x (its)S 166 x(con\211g)S 2 x(uration)S 167 x(options.)S 251 x(PPP)S 167 x (driver)S 168 x(calls)S 166 x(the)S 167 x(module')S -19 x(s)S 8980 X 598 y(reqci)S(\()S 83 x(\))S 166 x(routine.)S 8083 X 897 y(\201)S 595 x (The)S 174 x(module)S 173 x(\211nds)S 173 x(all)S 173 x(the)S 173 x (options)S 173 x(acceptable)S 173 x(and)S 174 x(indicates)S 172 x(this)S 173 x(in)S 174 x(the)S 173 x(return)S 8980 X 597 y(value)S 168 x(of)S 166 x(the)S 168 x(reqci)S(\()S 83 x(\))S 167 x(call.)S 251 x(\(Isn')S -10 x(t)S 167 x(this)S 166 x(amazing)S 167 x(-)S 167 x(neither)S 168 x (peer)S 167 x(disagreed)S 167 x(with)S 167 x(any)S 8980 X 598 y(of)S 166 x(the)S 166 x(options\))S 8083 X 897 y(\201)S 595 x(The)S 186 x (control)S 185 x(protocol)S 186 x(enters)S 185 x(the)S 185 x(OPENED)S 184 x(state.)S 287 x(PPP)S 186 x(signals)S 185 x(this)S 185 x(to)S 185 x (the)S 8980 X 597 y(module)S 166 x(by)S 167 x(calling)S 166 x(its)S 166 x(up)S(\()S 83 x(\))S 166 x(routine.)S 4497 17587 XY F28(3.1.5)S 400 x(Receiving)S 201 x(Noti\211cation)S 201 x(that)S 199 x(a)S 200 x (Connection)S 201 x(has)S 200 x(Closed)S 8083 X 797 y F151(The)S 167 x (modules')S 166 x(close)S(\()S 82 x(\))S 167 x(routine)S 166 x(will)S 166 x(be)S 166 x(called.)S 250 x(No)S 166 x(further)S 167 x(action)S 167 x(is)S 165 x(required)S 167 x(from)S 166 x(the)S 8083 X 598 y(module.)S 4497 20078 XY F28(3.1.6)S 400 x(Stopping)S 200 x(a)S 199 x(Connecti)S 2 x(on)S 8083 X 797 y F151(Call)S 171 x(the)S 171 x(fsm_close)S(\()S 82 x(\))S 172 x(routine)S 172 x(supplying)S 172 x(the)S 171 x(id)S 171 x (of)S 172 x(the)S 171 x(connection)S 173 x(to)S 171 x(be)S 171 x(closed.)S 260 x(The)S 8083 X 598 y(module)S 166 x(does)S 166 x(not)S 166 x(receive)S 167 x(noti\211cation)S 167 x(that)S 166 x(the)S 166 x(connection)S 167 x (was)S 166 x(closed.)S 4497 22718 XY F24(3.2)S 398 x(Protocols)S 4497 24711 XY F28(3.2.1)S 400 x(Starting)S 199 x(a)S 200 x(Protocol)S 8083 25807 XY F151(1.)S 482 x(The)S 172 x(Protocol)S 173 x(VCM)S 171 x(allocates)S 171 x(a)S 172 x(VCIB)S 170 x(and)S 172 x(initialises)S 171 x(the)S 172 x (required)S 172 x(\211elds)S 172 x(of)S 172 x(the)S 8980 X 597 y(VCIB.)S 8083 X 897 y(2.)S 482 x(The)S 169 x(Protocol)S 169 x(VCM)S 169 x(calls)S 168 x(the)S 169 x(CREA)S -29 x(TE_PORT)S 168 x(routine)S 170 x(\(through)S 170 x(the)S 169 x(registry\))S 169 x(to)S 8980 X 598 y(open)S 166 x (a)S 166 x(port)S 166 x(to)S 166 x(the)S 166 x(PPP)S 167 x(driver)S -36 x(.)S 8083 X 896 y(3.)S 482 x(The)S 170 x(Protocol)S 169 x(VCM)S 169 x(call)S 169 x(the)S 169 x(PORTMGMT_INITIA)S -28 x(TE)S 169 x(requesting)S 170 x(an)S 169 x(ENABLE_)S 8980 X 598 y(PORT)S 180 x(function.)S 279 x (The)S 181 x(item)S 180 x(list)S 180 x(supplied)S 180 x(as)S 180 x(part)S 180 x(of)S 180 x(calling)S 181 x(this)S 180 x(routine)S 182 x(will)S 8980 X 598 y(contain)S 170 x(the)S 170 x(protocol)S 170 x(to)S 170 x (start)S 169 x(and)S 170 x(the)S 170 x(name)S 170 x(of)S 170 x(the)S 170 x(PPP)S 170 x(line)S 170 x(to)S 170 x(start)S 169 x(it)S 169 x(on.)S 258 x(For)S 8980 X 598 y(this)S 181 x(function)S 183 x(to)S 181 x(succeed)S 183 x(a)S 181 x(corresponding)S 183 x(control)S 183 x(protocol)S 181 x (must)S 182 x(have)S 182 x(been)S 8980 X 597 y(registered)S 166 x(if)S 166 x(one)S 166 x(is)S 166 x(required.)S 8083 X 897 y(4.)S 482 x(The)S 174 x(Protocol)S 173 x(VCM)S 173 x(receives)S 173 x(noti\211cation)S 174 x(of)S 173 x(the)S 173 x(status)S 173 x(of)S 173 x(the)S 173 x(ENABLE_PO)S -2 x(RT)S 8980 X 598 y(function)S 167 x(through)S 168 x(a)S 166 x(call)S 167 x(to)S 166 x(it')S -19 x(s)S 166 x(PORTMGMT_COMPLETE)S 166 x(routine.)S 251 x(If)S 166 x(success)S 166 x(is)S 8980 X 598 y(indicated)S 166 x (the)S 166 x(Protocol)S 167 x(VCM)S 165 x(waits)S 165 x(for)S 166 x (a)S 166 x(PORT_USABLE)S 165 x(event.)S 8083 X 896 y(5.)S 482 x(The)S 176 x(Protocol)S 176 x(VCM)S 176 x(receives)S 176 x(a)S 176 x(PORT_USABLE)S 174 x(event.)S 270 x(It)S 175 x(can)S 176 x(now)S 176 x(send)S 176 x (data)S 8980 X 598 y(and)S 166 x(will)S 165 x(receive)S 167 x(data)S 166 x(from)S 166 x(the)S 166 x(peer)S -36 x(.)S 5 SC 4497 38258 XY F40 (3\2032)S 399 x F38(Program)S 2 x(ming)S 166 x(Notes)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (3-3) 27 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 21499 2293 XY F28(Programming)S 167 x(Notes)S 23458 X 647 y(3.2)S 167 x(Protocols)S 0 SC 4497 4636 XY(3.2.2)S 400 x(Stopping)S 200 x(a)S 199 x(Protocol)S 8083 5732 XY F151(1.)S 482 x(The)S 194 x(protocol)S 194 x(VCM)S 193 x(calls)S 193 x(PORTMGMT_INITIA)S -28 x(TE)S 193 x(routine)S 194 x(specifying)S 195 x(a)S 8980 X 598 y(DISAB)S -2 x(LE_PORT)S 166 x (function.)S 8083 X 896 y(2.)S 482 x(The)S 177 x(protocol)S 177 x(VCM)S 176 x(calls)S 176 x(the)S 176 x(DELETE_PORT)S 175 x(routine)S 178 x (\(through)S 178 x(the)S 176 x(registry\))S 8980 X 598 y(to)S 170 x (close)S 169 x(the)S 171 x(port)S 170 x(to)S 169 x(PPP)S -63 x(.)S 170 x (When)S 171 x(this)S 170 x(routine)S 170 x(returns)S 171 x(the)S 170 x (Protocol)S 170 x(VCM)S 170 x(should)S 8980 X 598 y(delete)S 166 x(the)S 166 x(VCIB)S 165 x(being)S 166 x(used)S 166 x(for)S 167 x(the)S 166 x (connection.)S 4497 9518 XY F28(3.2.3)S 400 x(Events)S -101 x 697 y F238(Port_Usab)S 2 x(le)S 239 x(Event)S 10953 X 498 y(This)S 240 x(events)S 240 x(signals)S 240 x(that)S 240 x(data)S 240 x(reception)S 241 x(and)S 239 x(transmis)S 2 x(sion)S 239 x(can)S 10953 X 498 y(now)S 240 x(take)S 240 x(place.)S 479 x(When)S 240 x(a)S 239 x(Protocol)S 241 x(VCM)S 239 x (see)S 240 x(this)S 240 x(event)S 240 x(it)S 10953 X 498 y(should)S 240 x(be)S 240 x(prepared)S 240 x(to)S 240 x(receive)S 240 x(data)S 240 x(from)S 240 x(that)S 239 x(time)S 240 x(on.)S 479 x(The)S 10953 X 499 y(Protocol)S 241 x(VCM)S 239 x(can)S 240 x(send)S 240 x(data)S 240 x (at)S 239 x(any)S 240 x(time)S 239 x(after)S 240 x(receivi)S 2 x(ng)S 239 x(this)S 10953 X 498 y(event.)S 8083 14100 XY(Port_Unus)S 2 x(able)S 239 x(Event)S 10953 X 499 y(This)S 240 x(events)S 240 x(signals)S 240 x (to)S 240 x(the)S 240 x(Protocol)S 240 x(VCM)S 240 x(that)S 239 x(it)S 240 x(MUST)S 240 x(stop)S 10953 X 498 y(sending)S 240 x(data)S 240 x (and)S 240 x(that)S 240 x(no)S 239 x(more)S 240 x(data)S 240 x(will)S 240 x(be)S 239 x(handed)S 240 x(up)S 240 x(to)S 239 x(the)S 10953 X 498 y(Protocol)S 241 x(VCM.)S 479 x(The)S 239 x(event)S 240 x(indicate)S 2 x(s)S 239 x(a)S 239 x(temporary)S 241 x(condition)S 10953 X 498 y (only.)S 479 x(A)S 240 x(PORT_USABLE)S 241 x(event)S 240 x(will)S 239 x (be)S 240 x(generated)S 240 x(when)S 240 x(the)S 240 x(port)S 10953 X 498 y(is)S 240 x(available)S 240 x(for)S 240 x(data)S 240 x(transmissio)S 2 x(n/reception)S 240 x(again.)S 10953 X 797 y(A)S 239 x(Protoco)S 2 x (l)S 239 x(VCM)S 240 x(can)S 239 x(disable)S 241 x(and)S 239 x(re-enable)S 241 x(the)S 239 x(port)S 240 x(to)S 240 x(restart)S 10953 X 498 y(the)S 240 x(protocol.)S 8083 18982 XY(Port_Fail)S 2 x(ed)S 239 x(Event)S 10953 X 498 y(This)S 240 x(event)S 240 x(signals)S 240 x(to)S 240 x(the)S 239 x (Protoco)S 2 x(l)S 239 x(VCM)S 239 x(that)S 240 x(protocol)S 241 x(can)S 239 x(no)S 10953 X 498 y(longer)S 240 x(be)S 240 x(run)S 239 x(because)S 241 x(of)S 239 x(a)S 240 x(permanent)S 240 x(condition)S 2 x(.)S 478 x (The)S 10953 X 499 y(Protocol)S 241 x(VCM)S 239 x(should)S 240 x(take)S 240 x(the)S 240 x(actions)S 240 x(outlined)S 241 x(in)S 239 x(Stopping)S 241 x(a)S 10953 X 498 y(Protocol)S 241 x(on)S 239 x(page)S 240 x(41.)S 4497 22469 XY F24(3.3)S 398 x(T)S -52 x(ypical)S 232 x(Sequence)S 231 x (for)S 233 x(Starting)S 234 x(a)S 232 x(Protocol)S 8083 X 897 y F151 (This)S 170 x(section)S 170 x(lists)S 169 x(the)S 170 x(sequence)S 171 x (of)S 170 x(events)S 170 x(that)S 170 x(occur)S 171 x(when)S 170 x(starting)S 170 x(a)S 170 x(protocol)S 171 x(and)S 8083 X 597 y(corresponding)S 177 x(control)S 177 x(protocol)S 176 x(on)S 176 x(an)S 176 x(asynchron)S 2 x(ous)S 175 x(device.)S 270 x(They)S 177 x(are)S 176 x(discussed)S 8083 X 598 y(in)S 185 x(reference)S 185 x(to)S 184 x(a)S 184 x("protocol)S 184 x(module)S 185 x(which)S 184 x(implements)S 184 x(both)S 184 x(the)S 185 x(protocol)S 184 x(and)S 8083 X 598 y(corresponding)S 168 x(control)S 166 x(protocol.)S 8083 X 897 y(1.)S 482 x(The)S 183 x(protocol)S 183 x (module)S 182 x(registers)S 183 x(the)S 182 x(control)S 183 x(protocol)S 183 x(via)S 183 x(a)S 182 x(call)S 183 x(to)S 182 x(the)S 183 x(fsm_)S 8980 X 597 y(register)S 166 x(routine.)S 8083 X 897 y(2.)S 482 x(A)S 173 x(user)S 175 x(types)S 173 x(the)S 175 x("CONNE)S -2 x(CT")S 174 x (command)S 174 x(in)S 174 x(the)S 174 x(PPP)S 175 x(utility)S 174 x (to)S 174 x(start)S 173 x(PPP)S 175 x(on)S 8980 X 598 y(the)S 173 x (asynchr)S 2 x(onous)S 173 x(device.)S 265 x(The)S 174 x(utility)S 174 x (calls)S 173 x(the)S 173 x(protocol)S 174 x(modules')S -19 x(s)S 172 x (registered)S 8980 X 598 y(network)S 168 x(callback)S 168 x(routine.)S 254 x(The)S 169 x(network)S 168 x(callback)S 168 x(routine)S 168 x(contains)S 168 x(the)S 168 x(name)S 168 x(of)S 8980 X 597 y(the)S 166 x(asynchron)S 2 x(ous)S 166 x(device.)S 8083 X 897 y(3.)S 482 x(The)S 168 x(protocol)S 167 x(module)S 168 x(creates)S 167 x(and)S 168 x(initialises)S 166 x (a)S 168 x(PPP)S 168 x(VCIB.)S 167 x(The)S 168 x(protocol)S 167 x(module)S 8980 X 598 y(calls)S 171 x(the)S 172 x(PPP)S 172 x(VCM')S -19 x(s)S 171 x(CREA)S -29 x(TE_PORT)S 171 x(and)S 172 x(ENABLE_POR)S -2 x(T)S 172 x(routines)S 172 x(to)S 171 x(start)S 8980 X 597 y(the)S 172 x(protocol)S 173 x(on)S 172 x(the)S 173 x(asynchronou)S 2 x(s)S 172 x(device.)S 262 x (The)S 173 x(ENABLE_PORT)S 171 x(call)S 172 x(speci\211es)S 8980 X 598 y (the)S 172 x(name)S 171 x(of)S 172 x(the)S 172 x(asynchrono)S 2 x(us)S 171 x(and)S 172 x(the)S 172 x(protocol)S 172 x(to)S 171 x(start.)S 260 x (It)S 171 x(is)S 171 x(the)S 172 x(ENABLE_)S 8980 X 598 y(PORT)S 172 x (call)S 173 x(which)S 173 x(causes)S 173 x(the)S 173 x(PPP)S 173 x(driver)S 174 x(to)S 173 x(commence)S 173 x(the)S 173 x(negotiation)S 173 x(of)S 173 x(the)S 8980 X 598 y(corresponding)S 167 x(control)S 167 x(protocol.)S 8083 X 896 y(4.)S 482 x(The)S 192 x(protocol)S 191 x(module')S -19 x (s)S 191 x(open)S 191 x(is)S 191 x(called)S 191 x(to)S 191 x(notify)S 191 x(it)S 191 x(of)S 191 x(a)S 191 x(request)S 191 x(to)S 191 x(start)S 8980 X 598 y(the)S 183 x(control)S 183 x(protocol.)S 284 x(The)S 183 x (open)S 183 x(routine)S 184 x(has)S 183 x(a)S 182 x(pointer)S 184 x (to)S 182 x(the)S 183 x(VCIB)S 182 x(of)S 183 x(the)S 8980 X 598 y(corresponding)S 167 x(protocol)S 166 x(as)S 166 x(one)S 166 x(of)S 166 x(it')S -19 x (s)S 166 x(parameters.)S 8083 X 896 y(5.)S 482 x(The)S 167 x(protocol)S 166 x(module)S 166 x(calls)S 166 x(the)S 166 x(fsm_open)S 166 x(routine)S 166 x(to)S 166 x(accept)S 166 x(the)S 167 x(connection.)S 5 SC 22038 38258 XY F38(Program)S 2 x(ming)S 166 x(Notes)S 399 x F40(3\2033)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Courier Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (3-4) 28 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 4 SC 4497 2293 XY F28(Programming)S 167 x(Notes)S 4497 X 647 y(3.3)S 167 x(T)S -44 x(ypical)S 167 x(Sequenc)S 2 x(e)S 166 x(for)S 166 x(Starting)S 166 x(a)S 167 x(Protocol)S 0 SC 8083 4555 XY F151(6.)S 482 x(The)S 172 x (con\211gur)S 2 x(ation)S 171 x(options)S 171 x(for)S 171 x(the)S 171 x (control)S 172 x(protocol)S 171 x(are)S 171 x(negotiated.)S 261 x(\(These)S 171 x(are)S 8980 X 598 y(documented)S 166 x(in)S 167 x(the)S 166 x(preceding)S 167 x(section.\))S 8083 X 897 y(7.)S 482 x(The)S 172 x(protocol)S 172 x (module)S 173 x(is)S 171 x(noti\211ed)S 172 x(that)S 172 x(data)S 172 x (transmission)S 171 x(is)S 171 x(now)S 172 x(possible)S 171 x(via)S 172 x(a)S 8980 X 597 y(call)S 166 x(to)S 166 x(the)S 166 x(REPORT_EV)S -2 x(ENT)S 166 x(routine)S 167 x(with)S 166 x(a)S 166 x(PORT_USAB)S -2 x(LE)S 166 x(event.)S 8083 X 897 y(8.)S 482 x(The)S 167 x(protocol)S 166 x(module)S 166 x(now)S 166 x(sends)S 166 x(and)S 166 x(receives)S 166 x(data.)S 5 SC 4497 38258 XY F40(3\2034)S 399 x F38(Program)S 2 x (ming)S 166 x(Notes)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (HEADCOLOR) %%+ (BLACK) %%+ (FOOTCOLOR) % %%Page: (4-1) 29 %%PageFonts: (atend) %%PageProcessColors: (atend) %%PageCustomColors: (atend) PaperHeight PaperWidth PM 0 0 XY 0 SC 26214 6776 XY F8(4)S 4497 X 448 y 22716 48 R 16363 8273 XY F208 (Compiling)S 330 x(and)S 332 x(Linking)S 8083 10564 XY F151(An)S 179 x (implementation)S 178 x(gains)S 178 x(access)S 178 x(to)S 178 x(the)S 179 x(protocol)S 178 x(\(VCI\))S 178 x(,)S 178 x(control)S 179 x(protocol)S 179 x(and)S 8083 X 598 y(management)S 181 x(interfaces)S 181 x(through)S 182 x(a)S 180 x(vectors)S 181 x(of)S 180 x(routines.)S 279 x(There)S 181 x(is)S 180 x(a)S 181 x(separate)S 8083 X 598 y(vector)S 172 x(for)S 171 x(each)S 172 x(interface.)S 261 x(Each)S 171 x(vector)S 172 x(contains)S 171 x(pointers)S 171 x(to)S 171 x(the)S 172 x(routines)S 171 x(for)S 172 x(that)S 8083 X 598 y(interface.)S 259 x(The)S 171 x(routine)S 171 x (PPPD$LIBRTNS)S 170 x(returns)S 171 x(a)S 170 x(pointer)S 170 x(to)S 171 x(the)S 170 x(vector)S 171 x(for)S 171 x(each)S 8083 X 598 y(of)S 172 x(the)S 172 x(interfaces.)S 261 x(This)S 172 x(function)S 172 x (takes)S 172 x(as)S 171 x(an)S 172 x(input)S 172 x(parameter)S 172 x (the)S 172 x(a)S 171 x(constant)S 172 x(for)S 8083 X 597 y(the)S 171 x (vector)S 170 x(to)S 170 x(be)S 171 x(returned.)S 258 x(The)S 171 x (header)S 171 x(\211le)S 170 x(ppp_lib.h)S 171 x(de\211nes)S 170 x(the)S 171 x(prototype)S 170 x(of)S 170 x(the)S 8083 X 598 y(PPPD$LIBRTNS)S 169 x(routine)S 171 x(and)S 169 x(constants)S 170 x(for)S 169 x(each)S 171 x(of)S 169 x(the)S 170 x(vectors.)S 257 x(The)S 170 x(header)S 170 x (\211les)S 8083 X 598 y(ppp_vci_if.h,)S 174 x(fsm_if.h,)S 172 x(and)S 171 x(ppp_mgmt_if.h)S 171 x(contain)S 171 x(de\211nitions)S 171 x(of)S 171 x(the)S 171 x(vectors)S 171 x(and)S 8083 X 598 y(the)S 167 x(routines)S 167 x(in)S 167 x(them)S 167 x(for)S 166 x(the)S 167 x(protocol,)S 168 x (control)S 167 x(protocol)S 167 x(and)S 166 x(management)S 168 x(interfaces)S 8083 X 597 y(respectively)S -54 x(.)S 8083 X 897 y(Sample)S 166 x(code)S 167 x(for)S 166 x(implementing)S 167 x(and)S 166 x(protocol)S 167 x (and)S 166 x(a)S 166 x(control)S 167 x(protocol)S 167 x(can)S 166 x (be)S 167 x(found)S 167 x(in)S 8083 X 598 y(SYS$EXA)S -2 x(MPLES.)S 4497 18767 XY F24(4.1)S 398 x(Interface)S 232 x(Heade)S -2 x(r)S 233 x (Files)S 8083 X 897 y F151(The)S 181 x(following)S 181 x(table)S 179 x (lists)S 180 x(the)S 180 x(header)S 181 x(\211les)S 180 x(needed)S 181 x (for)S 180 x(implementing)S 181 x(a)S 180 x(protocol)S 8083 X 597 y (and/or)S 169 x(a)S 169 x(control)S 168 x(protocol.)S 254 x(The)S 169 x (header)S 169 x(\211le)S 168 x(required)S 169 x(for)S 169 x(implementing)S 168 x(an)S 169 x(alternate)S 8083 X 598 y(management)S 167 x(utility)S 166 x(is)S 166 x(also)S 165 x(listed.)S 8083 22304 XY F36(T)S -36 x (able)S 150 x(4)S(\203)S(1)S 398 x(PPP)S 150 x(Interface)S 150 x(Header)S 149 x(Files)S 8083 X 324 y 19128 24 R 8083 23126 XY F40(Header)S 150 x (File)S 12865 X(Description)S 8083 X 299 y 19128 24 R 8083 24022 XY F155(ppp_vci_if)S 2 x(.h)S 12865 X(Contains)S 166 x(de\211nitions)S 166 x(and)S 165 x(protot)S 2 x(ypes)S 165 x(for)S 165 x(writing)S 166 x (to)S 166 x(the)S 165 x(PPP)S 166 x(VCI)S 12865 X 498 y(interfa)S 2 x (ce.)S 8083 X 748 y(fsm_if.h)S 12865 X(Contains)S 172 x(de\211nitio)S 2 x(ns)S 171 x(and)S 172 x(proto)S 2 x(types)S 172 x(for)S 172 x(writing)S 172 x(to)S 173 x(the)S 172 x(control)S 12865 X 498 y(protoco)S 2 x(l)S 149 x(interfa)S 2 x(ce.)S 8083 X 747 y(ppp_l)S 2 x(ib.h)S 12865 X(Contains)S 161 x(de\211nitio)S 2 x(ns)S 160 x(and)S 161 x(proto)S 2 x(type)S 161 x (for)S 161 x(interf)S 2 x(acing)S 161 x(to)S 161 x(PPP)S 161 x(library)S 12865 X 498 y(routine.)S 8083 X 747 y(pppusr)S -32 x(.h)S 12865 X(Contains)S 150 x(de\211nitions)S 150 x(of)S 150 x(PPP)S 149 x(constants)S 150 x (eg.)S 224 x(PPP)S 149 x(protoco)S 2 x(l)S 149 x(types.)S 8083 X 748 y (ppp_mgmt_if.h)S 12865 X(Contains)S 179 x(de\211nitions)S 179 x(and)S 178 x(protot)S 2 x(ypes)S 178 x(for)S 178 x(to)S 179 x(the)S 179 x(management)S 12865 X 498 y(interfa)S 2 x(ce.)S 224 x(Used)S 149 x(to)S 150 x(implement)S 150 x(an)S 150 x(alternat)S 2 x(e)S 149 x(utilit)S 2 x(y)S 149 x(to)S 150 x(manage)S 149 x(PPP)S -58 x(.)S 8083 X 398 y 19128 24 R 4497 30897 XY F24(4.2)S 398 x(Linking)S -262 x 896 y F151(An)S 169 x(implementation)S 169 x(needs)S 169 x(to)S 169 x(link)S 170 x(with)S 169 x(the)S 169 x (PPP_LIB.OBJ)S 169 x(object)S 170 x(module)S 169 x(if)S 169 x(it)S 169 x (calls)S 8083 X 598 y(the)S 181 x(PPPD$LIBRTNS)S 181 x(functions)S 181 x (This)S 181 x(function)S 182 x(is)S 180 x(de\211ned)S 182 x(in)S 181 x (the)S 181 x(object)S 182 x(module)S 8083 X 598 y(PPP_LIB,)S 174 x(which)S 173 x(is)S 172 x(contained)S 173 x(in)S 173 x(the)S 173 x(object)S 173 x (library)S 174 x(VMS$VOLA)S -29 x(TILE_PRIV)S -56 x(A)S -28 x(TE_)S 8083 X 597 y(INTERF)S -37 x(ACES.OLB.)S 168 x(VMS$VOLA)S -29 x(TILE_PRIV)S -56 x(A)S -27 x(TE_INTERF)S -38 x(ACES.OLB)S 168 x(is)S 168 x(found)S 170 x(in)S 8083 X 598 y(the)S 166 x(SYS$SHARE)S -2 x(:)S 166 x(directory)S -54 x(.)S 5 SC 21572 38258 XY F38(Compiling)S 166 x(and)S 167 x(Linking)S 399 x F40(4\2031)S EP PP %%PageTrailer %%PageFonts: Helvetica-Bold NewCenturySchlbk-Roman %%+ Helvetica %%PageProcessColors: %%PageCustomColors: (BLACK) %%+ (FOOTCOLOR) % %%Page: (4-2) 30 %DEC_EDMS_BlankPage PP %%PageTrailer %%PageFonts: %%PageProcessColors: %%PageCustomColors: % %%Trailer %%Pages: 30 %%BoundingBox: 0 0 612 792 %%DocumentFonts: Courier Helvetica %%+ Helvetica-Bold NewCenturySchlbk-Bold %%+ NewCenturySchlbk-Roman NewCenturySchlbk-Italic %%DocumentNeededFonts: Courier Helvetica %%+ Helvetica-Bold NewCenturySchlbk-Bold %%+ NewCenturySchlbk-Roman NewCenturySchlbk-Italic %%DocumentProcessColors: %%DocumentCustomColors: (BLACK) %%+ (FOOTCOLOR) %%+ (HEADCOLOR) %%CMYKCustomColor: 0.0 0.0 0.0 1.0 (BLACK) %%+ 0.0 0.0 0.0 1.0 (UNDEFINED) %%+ 0.0 0.0 0.0 1.0 (UNDEFINED) %%+ 0.0 0.0 0.0 1.0 (UNDEFINED) %%+ 0.0 0.0 0.0 1.0 (HEADCOLOR) %%+ 0.0 0.0 0.0 1.0 (FOOTCOLOR) % DVC$PSJob restore end %DEC_DVC$dict end %Color5044Dict % %%EOF