%!PS %%Version: 3.15 %%DocumentFonts: (atend) %%Pages: (atend) %%EndComments %ident "@(#)lp:filter/postscript/postscript/dpost.ps 1.1" % % Version 3.15 prologue for troff files. % /#copies 1 store /aspectratio 1 def /formsperpage 1 def /landscape false def /linewidth .3 def /magnification 1 def /margin 0 def /orientation 0 def /resolution 720 def /xoffset 0 def /yoffset 0 def /roundpage true def /useclippath true def /pagebbox [0 0 612 792] def /R /Times-Roman def /I /Times-Italic def /B /Times-Bold def /BI /Times-BoldItalic def /H /Helvetica def /HI /Helvetica-Oblique def /HB /Helvetica-Bold def /HX /Helvetica-BoldOblique def /CW /Courier def /CO /Courier def /CI /Courier-Oblique def /CB /Courier-Bold def /CX /Courier-BoldOblique def /PA /Palatino-Roman def /PI /Palatino-Italic def /PB /Palatino-Bold def /PX /Palatino-BoldItalic def /Hr /Helvetica-Narrow def /Hi /Helvetica-Narrow-Oblique def /Hb /Helvetica-Narrow-Bold def /Hx /Helvetica-Narrow-BoldOblique def /KR /Bookman-Light def /KI /Bookman-LightItalic def /KB /Bookman-Demi def /KX /Bookman-DemiItalic def /AR /AvantGarde-Book def /AI /AvantGarde-BookOblique def /AB /AvantGarde-Demi def /AX /AvantGarde-DemiOblique def /NR /NewCenturySchlbk-Roman def /NI /NewCenturySchlbk-Italic def /NB /NewCenturySchlbk-Bold def /NX /NewCenturySchlbk-BoldItalic def /ZD /ZapfDingbats def /ZI /ZapfChancery-MediumItalic def /VR /Varitimes#Roman def /VI /Varitimes#Italic def /VB /Varitimes#Bold def /VX /Varitimes#BoldItalic def /S /S def /S1 /S1 def /GR /Symbol def /inch {72 mul} bind def /min {2 copy gt {exch} if pop} bind def /setup { counttomark 2 idiv {def} repeat pop landscape {/orientation 90 orientation add def} if /scaling 72 resolution div def linewidth setlinewidth 1 setlinecap pagedimensions xcenter ycenter translate orientation neg rotate width 2 div neg height 2 div translate xoffset inch yoffset inch translate margin 2 div dup neg translate magnification dup aspectratio mul scale scaling scaling scale /Symbol /S Sdefs cf /Times-Roman /S1 S1defs cf 0 0 moveto } def /pagedimensions { useclippath userdict /gotpagebbox known not and { /pagebbox [clippath pathbbox newpath] def roundpage currentdict /roundpagebbox known and {roundpagebbox} if } if pagebbox aload pop 4 -1 roll exch 4 1 roll 4 copy landscape {4 2 roll} if sub /width exch def sub /height exch def add 2 div /xcenter exch def add 2 div /ycenter exch def userdict /gotpagebbox true put } def /pagesetup { /page exch def currentdict /pagedict known currentdict page known and { page load pagedict exch get cvx exec } if } def /decodingdefs [ {counttomark 2 idiv {y moveto show} repeat} {neg /y exch def counttomark 2 idiv {y moveto show} repeat} {neg moveto {2 index stringwidth pop sub exch div 0 32 4 -1 roll widthshow} repeat} {neg moveto {spacewidth sub 0.0 32 4 -1 roll widthshow} repeat} {counttomark 2 idiv {y moveto show} repeat} {neg setfunnytext} ] def /setdecoding {/t decodingdefs 3 -1 roll get bind def} bind def /w {neg moveto show} bind def /m {neg dup /y exch def moveto} bind def /done {/lastpage where {pop lastpage} if} def /f { dup /font exch def findfont exch dup /ptsize exch def scaling div dup /size exch def scalefont setfont linewidth ptsize mul scaling 10 mul div setlinewidth /spacewidth ( ) stringwidth pop def } bind def /changefont { /fontheight exch def /fontslant exch def currentfont [ 1 0 fontheight ptsize div fontslant sin mul fontslant cos div fontheight ptsize div 0 0 ] makefont setfont } bind def /sf {f} bind def /cf { dup length 2 idiv /entries exch def /chtab exch def /newfont exch def findfont dup length 1 add dict /newdict exch def {1 index /FID ne {newdict 3 1 roll put} {pop pop} ifelse} forall newdict /Metrics entries dict put newdict /Metrics get begin chtab aload pop 1 1 entries {pop def} for newfont newdict definefont pop end } bind def % % A few arrays used to adjust reference points and character widths in some % of the printer resident fonts. If square roots are too high try changing % the lines describing /radical and /radicalex to, % % /radical [0 -75 550 0] % /radicalex [-50 -75 500 0] % /Sdefs [ /bracketlefttp [220 500] /bracketleftbt [220 500] /bracketrighttp [-70 380] /bracketrightbt [-70 380] /braceleftbt [220 490] /bracketrightex [220 -125 500 0] /radical [0 0 550 0] /radicalex [-50 0 500 0] /parenleftex [-20 -170 0 0] /integral [100 -50 500 0] /infinity [10 -75 730 0] ] def /S1defs [ /underscore [0 80 500 0] /endash [7 90 650 0] ] def %%EndProlog %%BeginSetup mark /resolution 720 def setup 2 setdecoding %%EndSetup %%Page: 1 1 save mark 1 pagesetup 10 R f (-- --)1 5472 1 0 40 t 12 B f (Microsoft Networks)1 1032 1 2364 1200 t (SMB FILE SHARING PROTOCOL EXTENSIONS)4 2720 1 1520 1440 t (SMB File Sharing Protocol Extensions Version 2.0)6 2640 1 1560 1800 t (Document Version 3.3)2 1156 1 2302 2280 t (November 7, 1988)2 942 1 2409 3120 t 10 I f (Microsoft Corporation)1 923 1 2418 3360 t 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 1 1 %%Page: 2 2 save mark 2 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 2 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (1. INTRODUCTION)1 941 1 720 840 t 10 R f ( de\256nes the extensions to the OpenNET/Microsoft Networks File Sharing Protocol \(Intel)11 3709(This document)1 611 2 720 996 t ( to as the)3 415(PN 136329-001\) \(sometimes referred)3 1554 2 720 1116 t 10 S1 f (")2733 1116 w 10 R f (core)2774 1116 w 10 S1 f (")2945 1116 w 10 R f (protocol\) that are required to support Operating)6 2010 1 3030 1116 t ( primary goal of these extensions is to allow fully)9 2150( The)1 232( than MS-DOS 3.x.)3 832(Systems richer in function)3 1106 4 720 1236 t ( However,)1 459( Manager.)1 415(transparent access to remote \256les for OS/2 systems using the Microsoft OS/2 LAN)12 3446 3 720 1356 t ( anticipated that other Operating Systems will have)7 2178( is)1 110( It)1 137(they are not intended to be speci\256c to OS/2.)8 1895 4 720 1476 t (many similar requirements and that they will use the same services and protocols to meet them.)15 3932 1 720 1596 t ( allows all \256le oriented OS/2 functions to be per-)9 2050(This extension, when combined with the core protocol,)7 2270 2 720 1836 t (formed on remote \256les using LANMAN 1.0.)6 1835 1 720 1956 t ( in this document is selected by the dialect string)9 2090(The extended protocol de\256ned)3 1262 2 720 2196 t 10 S1 f (")4113 2196 w 10 R f (LANMAN1.0)4154 2196 w 10 S1 f (")4717 2196 w 10 R f (in the)1 241 1 4799 2196 t (core protocol negotiate request.)3 1282 1 720 2316 t (Acronyms used include:)2 987 1 720 2556 t ( level connection \(sometimes called a session\) between two)8 2723( transport)1 422( A)1 172( Virtual Circuit.)2 720(VC -)1 283 5 720 2832 t (networked machines \(nodes\).)2 1188 1 970 2952 t ( token representing an instance of authenticated use of a network resource)11 3214( A)1 154( Tree Identi\256er.)2 669(TID -)1 283 4 720 3108 t (\(often a shared subdirectory tree structure\).)5 1762 1 970 3228 t ( token representing an authenticated user of a network resource.)9 2620( A)1 138( User Identi\256er.)2 645(UID -)1 283 4 720 3384 t ( number which uniquely identi\256es a process on a node.)9 2269( A)1 138( Process Identi\256er.)2 762(PID -)1 283 4 720 3540 t ( number which uniquely identi\256es a protocol request and response within)10 3040( A)1 141( Multiplex Identi\256er.)2 856(MID -)1 283 4 720 3696 t (a process.)1 401 1 970 3816 t ( called \256le)2 458( number which identi\256es an instance of an open \256le \( sometimes)11 2792( A)1 150( File Identi\256er.)2 637(FID -)1 283 5 720 3972 t (handle\).)970 4092 w ( detail will be provided at a later time.)8 1587( Further)1 360(T.B.D.- To Be De\256ned.)3 970 3 720 4248 t ( reserved \256elds must be set to zero by the consumer.)10 2168( All)1 194(MBZ - Must Be Zero.)4 912 3 720 4404 t 10 B f ( FORMAT)1 477(2. MESSAGE)1 631 2 720 4644 t 10 R f ( extended protocol \(both the core messages used and the additional)10 2873(All messages sent while using the)5 1447 2 720 4800 t (messages de\256ned in this document\) will have the following format.)9 2764 1 720 4920 t (BYTE smb)1 578 1 764 5100 t 10 S f (_)1342 5100 w 10 R f ( contains 0xFF,'SMB' */)3 1025(idf[4]; /*)1 494 2 1392 5100 t (BYTE smb)1 578 1 764 5220 t 10 S f (_)1342 5220 w 10 R f ( command code */)3 759(com; /*)1 494 2 1392 5220 t (BYTE smb)1 578 1 764 5340 t 10 S f (_)1342 5340 w 10 R f ( error class */)3 564(rcls; /*)1 494 2 1392 5340 t (BYTE smb)1 578 1 764 5460 t 10 S f (_)1342 5460 w 10 R f ( reserved for future */)4 901(reh; /*)1 494 2 1392 5460 t (WORD smb)1 622 1 720 5580 t 10 S f (_)1342 5580 w 10 R f ( error code */)3 558(err; /*)1 494 2 1392 5580 t (BYTE smb)1 578 1 764 5700 t 10 S f (_)1342 5700 w 10 R f ( \257ags */)2 333(\257g; /*)1 494 2 1392 5700 t (WORD smb)1 622 1 720 5820 t 10 S f (_)1342 5820 w 10 R f ( reserved for future */)4 901(res[7]; /*)1 494 2 1392 5820 t (WORD smb)1 622 1 720 5940 t 10 S f (_)1342 5940 w 10 R f ( authenticated resource identi\256er */)4 1440(tid; /*)1 494 2 1392 5940 t (WORD smb)1 622 1 720 6060 t 10 S f (_)1342 6060 w 10 R f ( caller's process id */)4 880(pid; /*)1 494 2 1392 6060 t (WORD smb)1 622 1 720 6180 t 10 S f (_)1342 6180 w 10 R f ( unauthenticated user id */)4 1086(uid; /*)1 494 2 1392 6180 t (WORD smb)1 622 1 720 6300 t 10 S f (_)1342 6300 w 10 R f ( multiplex id */)3 639(mid; /*)1 494 2 1392 6300 t (BYTE smb)1 578 1 764 6420 t 10 S f (_)1342 6420 w 10 R f ( count of 16-bit words that follow */)7 1508(wct; /*)1 494 2 1392 6420 t (WORD smb)1 622 1 720 6540 t 10 S f (_)1342 6540 w 10 R f ( variable number of 16-bit words */)6 1468(vwv[]; /*)1 494 2 1392 6540 t (WORD smb)1 622 1 720 6660 t 10 S f (_)1342 6660 w 10 R f ( count of bytes that follow */)6 1203(bcc; /*)1 494 2 1392 6660 t (BYTE smb)1 578 1 764 6780 t 10 S f (_)1342 6780 w 10 R f ( variable number of bytes */)5 1163(buf[]; /*)1 494 2 1392 6780 t (The structure de\256ned from smb)4 1327 1 720 7080 t 10 S f (_)2047 7080 w 10 R f ( smb)1 210(idf through)1 464 2 2097 7080 t 10 S f (_)2771 7080 w 10 R f (wct is the \256xed portion of the SMB structure some-)9 2219 1 2821 7080 t ( the header there is a variable number of words \(de\256ned)10 2317( Following)1 479( SMB header.)2 570(times referred to as the)4 954 4 720 7200 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 2 2 %%Page: 3 3 save mark 3 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 3 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t (by smb)1 300 1 720 840 t 10 S f (_)1020 840 w 10 R f (wct\) and following that is smb)5 1259 1 1070 840 t 10 S f (_)2329 840 w 10 R f (bcc which de\256nes an additional variable number of bytes.)8 2368 1 2379 840 t (A BYTE is 8 bits.)4 752 1 1080 1140 t (A WORD is two BYTEs.)4 1051 1 1080 1260 t (The BYTEs within a WORD are ordered such that the low BYTE precedes the high)14 3461 1 1080 1380 t (BYTE.)1080 1500 w (A DWORD is two WORDs.)4 1167 1 1080 1620 t (The WORDs within a DWORD are ordered such that the low WORD precedes the)13 3410 1 1080 1740 t (high WORD.)1 541 1 1080 1860 t (smb)720 2076 w 10 S f (_)887 2076 w 10 R f (com: - command code.)3 939 1 937 2076 t (smb)720 2232 w 10 S f (_)887 2232 w 10 R f (rcls: - error class \(see below\).)5 1219 1 937 2232 t (smb)720 2388 w 10 S f (_)887 2388 w 10 R f (ret: - error returned \(see below\).)5 1318 1 937 2388 t (smb)720 2544 w 10 S f (_)887 2544 w 10 R f ( below\))1 310( \(see)1 226(tid: - Used by the server to identify a resource \(e.g., a disk sub-tree\).)13 2828 3 937 2544 t (smb)720 2700 w 10 S f (_)887 2700 w 10 R f ( a process)2 435( by the consumer \(redirector\) to uniquely identify)7 2117( Generated)1 487(pid: - caller's process id.)4 1064 4 937 2700 t ( the same value in)4 861( response message will always contain)5 1719( A)1 166(within the consumer's system.)3 1324 4 970 2820 t (smb)970 2940 w 10 S f (_)1137 2940 w 10 R f (pid \(and smb)2 538 1 1187 2940 t 10 S f (_)1725 2940 w 10 R f (mid\) as in the corresponding request message.)6 1892 1 1775 2940 t (smb)720 3096 w 10 S f (_)887 3096 w 10 R f ( Circuit \(VC\) nor-)3 775(mid: - this \256eld is used for multiplexing multiple messages on a single Virtual)13 3328 2 937 3096 t (mally when multiple requests are from the same process. The PID \(in smb)12 3133 1 970 3216 t 10 S f (_)4103 3216 w 10 R f ( \(in)1 149(pid\) and the MID)3 738 2 4153 3216 t (smb)970 3336 w 10 S f (_)1137 3336 w 10 R f ( to correlate incoming)3 993(mid\) uniquely identify a request and are used by the consumer)10 2860 2 1187 3336 t (responses to previously sent requests.)4 1533 1 970 3456 t 10 B f (3. NOTES:)1 514 1 720 3696 t 10 R f (1. smb)1 417 1 720 3852 t 10 S f (_)1137 3852 w 10 R f (\257g can have the following values:)5 1391 1 1187 3852 t ( \(returned\) from the server in the Negotiate response protocol, this bit indicates that the)14 3620( When set)2 417(bit0 -)1 283 3 720 4008 t (server supports the)2 802 1 970 4128 t 10 S1 f (")1821 4128 w 10 R f (sub dialect)1 454 1 1862 4128 t 10 S1 f (")2316 4128 w 10 R f (consisting of the LockandRead and WriteandUnlock protocols)6 2634 1 2406 4128 t (de\256ned later in this document.)4 1245 1 970 4248 t ( the server\), the consumer guarantees that there is a)9 2134( When on \(on a protocol request being sent to)9 1903(bit1 -)1 283 3 720 4524 t (receive buffer posted such that a)5 1423 1 970 4644 t 10 S1 f (")2444 4644 w 10 R f (Send.No.Ack)2485 4644 w 10 S1 f (")3023 4644 w 10 R f ( used by the server to respond to the)8 1642(can be)1 283 2 3115 4644 t ( LANMAN 1.0 Redirector for OS/2 will not set this bit.)10 2307( The)1 221(consumer's request.)1 806 3 970 4764 t ( Reserved \(must be zero\).)4 1054(bit2 -)1 283 2 720 5040 t ( off, the pathnames)3 816( When)1 313( be treated as caseless.)4 962( When on, all pathnames in the protocol must)8 1946(bit3 -)1 283 5 720 5352 t ( forwarding of the protocol message on various extended VCs)9 2719( allows)1 314( This)1 264(are case sensitive.)2 773 4 970 5472 t ( LANMAN 1.0 Redirector for OS/2 will always have)8 2271( The)1 231(where caseless may not be the norm.)6 1568 3 970 5592 t (this bit on to indicate caseless pathnames.)6 1716 1 970 5712 t ( on \(on the Session Setup and X protocol de\256ned later in this document\), all paths sent to)17 3763( When)1 274(bit4 -)1 283 3 720 5988 t ( means that)2 471( This)1 244( format used by OS/2.)4 912(the server by the consumer are already in the canonicalized)9 2443 4 970 6108 t (\256le/directory names are in upper case, are valid characters and backslashes are used as seperators.)14 4010 1 970 6228 t ( this indicates that the consumer is)6 1485( When on \(on core protocols Open, Create and Make New\),)10 2552(bit5 -)1 283 3 720 6504 t (requesting that the \256le be)4 1046 1 970 6624 t 10 S1 f (")2050 6624 w 10 R f (opportunisticly)2091 6624 w 10 S1 f (")2697 6624 w 10 R f ( process is the only process which has the)8 1728(locked if this)2 540 2 2772 6624 t ( the server)2 445( If)1 139(\256le open at the time of the open request.)8 1726 3 970 6744 t 10 S1 f (")3320 6744 w 10 R f (grants)3361 6744 w 10 S1 f (")3605 6744 w 10 R f ( bit)1 147(this oplock request, then this)4 1207 2 3686 6744 t ( the)1 174(should remain set in the coresponding response protocol to indicate to the consumer that)13 3896 2 970 6864 t ( granted. See the discussion of)5 1270(oplock request was)2 785 2 970 6984 t 10 S1 f (")3061 6984 w 10 R f (oplock)3102 6984 w 10 S1 f (")3374 6984 w 10 R f (in the sections de\256ning the)4 1116 1 3451 6984 t 10 S1 f (")4603 6984 w 10 R f (Open and)1 396 1 4644 6984 t (X)970 7104 w 10 S1 f (")1042 7104 w 10 R f (and)1122 7104 w 10 S1 f (")1305 7104 w 10 R f (Locking and X)2 627 1 1346 7104 t 10 S1 f (")1973 7104 w 10 R f ( bit 1)2 232(protocols later in this document \(this bit has the same function as)11 2755 2 2053 7104 t (of smb)1 283 1 970 7224 t 10 S f (_)1253 7224 w 10 R f (\257ags of the)2 460 1 1303 7224 t 10 S1 f (")1796 7224 w 10 R f (Open and X)2 498 1 1837 7224 t 10 S1 f (")2335 7224 w 10 R f (protocol\).)2409 7224 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 3 3 %%Page: 4 4 save mark 4 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 4 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t ( on \(on core protocols Open, Create and Make New\), this indicates that the server should)15 3761( When)1 276(bit6 -)1 283 3 720 840 t ( If)1 142( the \256le \(delete, setattrib, rename, etc.\).)6 1668(notify the consumer on any action which can modify)8 2260 3 970 960 t ( the discussion of)3 739( See)1 216( need only notify the consumer on another open request.)9 2372(not set, the server)3 743 4 970 1080 t 10 S1 f (")970 1200 w 10 R f (oplock)1011 1200 w 10 S1 f (")1283 1200 w 10 R f (in the sections de\256ning the)4 1144 1 1367 1200 t 10 S1 f (")2554 1200 w 10 R f (Open and X)2 518 1 2595 1200 t 10 S1 f (")3113 1200 w 10 R f (and)3197 1200 w 10 S1 f (")3384 1200 w 10 R f ( X)1 114(Locking and)1 520 2 3425 1200 t 10 S1 f (")4059 1200 w 10 R f (protocols later in this)3 898 1 4142 1200 t ( same function as bit 2 of smb)7 1342(document \(this bit has the)4 1109 2 970 1320 t 10 S f (_)3421 1320 w 10 R f (\257ags of the)2 484 1 3471 1320 t 10 S1 f (")4000 1320 w 10 R f (Open and X)2 522 1 4041 1320 t 10 S1 f (")4563 1320 w 10 R f (protocol\).)4649 1320 w (Bit6 only has meaning if bit5 is set.)7 1479 1 970 1440 t ( When on, this protocol is being sent from the server in response to a consumer request. The)17 4037(bit7 -)1 283 2 720 1716 t (smb)970 1836 w 10 S f (_)1137 1836 w 10 R f ( in a protocol request from the consu-)7 1598(com \(command\) \256eld usually contains the same value)7 2255 2 1187 1836 t ( bit unambi-)2 515( This)1 249(mer to the server as in the matching response from the server to the consumer.)14 3306 3 970 1956 t ( multiplexed VC)2 703( a)1 88( On)1 199(guously distinguishes the command request from the command response.)8 3080 4 970 2076 t ( consumer are active, this bit can be used by the node's SMB)12 2666(on a node where both server and)6 1404 2 970 2196 t ( identify whether this protocol should be routed to a waiting consumer pro-)12 3110(delivery system to help)3 960 2 970 2316 t (cess or to the server.)4 849 1 970 2436 t (2. smb)1 417 1 720 2832 t 10 S f (_)1137 2832 w 10 R f ( extended protocol when the server)5 1459( is used by the LANMAN 1.0)6 1251( It)1 130(uid is the user identi\256er.)4 1013 4 1187 2832 t (is executing in)2 605 1 970 2952 t 10 S1 f (")1611 2952 w 10 R f (user level security mode)3 1006 1 1652 2952 t 10 S1 f (")2658 2952 w 10 R f (to validate access on protocols which reference symbol-)7 2306 1 2734 2952 t ( differing users accessing the same TID may be)8 2055( Thus)1 278( \256le open\).)2 470(icly named resources \(such as)4 1267 4 970 3072 t ( resources de\256ned by the TID based on smb)8 1816(granted differing access to the)4 1238 2 970 3192 t 10 S f (_)4024 3192 w 10 R f (uid. The UID requested)3 966 1 4074 3192 t (is validated by the server via the Session Set Up protocol.)10 2386 1 970 3312 t (Note that -2 is reserved as an invalid UID.)8 1752 1 970 3552 t ( extended protocol environment the TID represents an instance of an authen-)11 3194( the LANMAN 1.0)3 793(4. In)1 333 3 720 3708 t ( successful NET USE to a server using a valid netname and)11 2563( is the result of a)5 753( This)1 287(ticated use.)1 467 4 970 3828 t (password \(if any\).)2 739 1 970 3948 t (If the server is executing in a)6 1236 1 970 4188 t 10 S1 f (")2244 4188 w 10 R f (share level security mode)3 1056 1 2285 4188 t 10 S1 f (")3341 4188 w 10 R f ( is the only thing used to allow)7 1329(, the tid)2 329 2 3382 4188 t ( if the user is able to perform a successful NET USE to the)13 2551( Thus)1 275(access to the shared resource.)4 1244 3 970 4308 t (server specifying the appropriate netname and passwd \(if any\) the resource may be accessed)13 4070 1 970 4428 t ( access rights associated with the shared resource \(same for all who gained access)13 3403(according to the)2 667 2 970 4548 t (this way\).)1 402 1 970 4668 t ( in)1 112(If however the server is executing)5 1394 2 970 4908 t 10 S1 f (")2510 4908 w 10 R f (user level security mode)3 1000 1 2551 4908 t 10 S1 f (")3551 4908 w 10 R f (, access to the resource is based on)7 1448 1 3592 4908 t ( Session Set UP protocol\) and the TID is NOT associated with access)12 2978(the UID \(validated on the)4 1092 2 970 5028 t (control but rather merely de\256nes the resource \(such as the shared directory tree\).)12 3306 1 970 5148 t (In most SMB protocols, smb)4 1206 1 970 5388 t 10 S f (_)2176 5388 w 10 R f ( a)1 83( include prior to getting)4 996( Exceptions)1 515(tid must contain a valid TID.)5 1220 4 2226 5388 t ( NEGOTIATE, TREE CONNECT, SESS)4 2022(TID established including)2 1218 2 970 5508 t 10 S f (_)4210 5508 w 10 R f (SETUPandX and)1 780 1 4260 5508 t (TREE)970 5628 w 10 S f (_)1220 5628 w 10 R f ( exceptions include QUERY)3 1188( Other)1 301(CONNandX protocols.)1 937 3 1270 5628 t 10 S f (_)3696 5628 w 10 R f (SRV)3746 5628 w 10 S f (_)3941 5628 w 10 R f ( forms of the)3 564(INFO some)1 485 2 3991 5628 t ( de\256ned as 0xFFFF. The server is respon-)7 1735( NULL TID is)3 607( A)1 141(TRANSACTION protocol and ECHO.)3 1587 4 970 5748 t (sible for enforcing use of a valid TID where appropriate.)9 2332 1 970 5868 t ( the core, smb)3 593( in)1 113(5. As)1 361 3 720 6144 t 10 S f (_)1787 6144 w 10 R f ( inform servers of the)4 903( Consumers)1 519(pid uniquely identi\256es a consumer process.)5 1781 3 1837 6144 t ( a new smb)3 491(creation of a new process by simply introducing)7 2020 2 970 6264 t 10 S f (_)3481 6264 w 10 R f (pid value into the dialogue \(for new)6 1509 1 3531 6264 t (processes\).)970 6384 w (In the core protocol however, the)5 1369 1 970 6624 t 10 S1 f (")2373 6624 w 10 R f (Process Exit)1 506 1 2414 6624 t 10 S1 f (")2920 6624 w 10 R f (protocol was used to indicate the catastrophic ter-)7 2045 1 2995 6624 t ( the single tasking DOS system, it was possible for hard)10 2435( In)1 161( session\).)1 392(mination of a process \(or)4 1082 4 970 6744 t ( a Process)2 431( Thus)1 274( causing the destruction of the process with \256les remaining open.)10 2754(errors to occur)2 611 4 970 6864 t ( this occurrence to allow the server to close all \256les opened by that pro-)14 2976(Exit protocol was used for)4 1094 2 970 6984 t (cess.)970 7104 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 4 4 %%Page: 5 5 save mark 5 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 5 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t (In the LANMAN 1.0 extended protocol, no)6 1838 1 970 840 t 10 S1 f (")2851 840 w 10 R f (Process Exit)1 515 1 2892 840 t 10 S1 f (")3407 840 w 10 R f ( operating)1 420( The)1 231(protocol will be sent.)3 898 3 3491 840 t (system will ensure that the)4 1114 1 970 960 t 10 S1 f (")2121 960 w 10 R f (close Protocol)1 581 1 2162 960 t 10 S1 f (")2743 960 w 10 R f ( process referencing the \256le)4 1146(will be sent when the last)5 1073 2 2821 960 t ( the server's point of view, there is no concept of FIDs)11 2333( From)1 289(closes it.)1 364 3 970 1080 t 10 S1 f (")3995 1080 w 10 R f (belonging to)1 517 1 4036 1080 t 10 S1 f (")4553 1080 w 10 R f (processes.)4633 1080 w ( any other process using the same VC)7 1562(A FID returned by the server to one process may be used by)12 2508 2 970 1200 t ( is no)2 239(and TID. There)2 637 2 970 1320 t 10 S1 f (")1882 1320 w 10 R f (birth announcement)1 807 1 1923 1320 t 10 S1 f (")2730 1320 w 10 R f (\(no)2807 1320 w 10 S1 f (")2976 1320 w 10 R f (fork)3017 1320 w 10 S1 f (")3183 1320 w 10 R f ( is up to the)4 511( It)1 130(protocol\) sent to the server.)4 1139 3 3260 1320 t ( TREE DISCON-)2 745( On)1 200(consumer to ensure only valid processes gain access to FIDs \(and TIDs\).)11 3125 3 970 1440 t ( when the VC environment is terminated\) the server may invalidate any \256les opened by)14 3657(NECT \(or)1 413 2 970 1560 t (any process within the VC environment using that TID.)8 2287 1 970 1680 t ( the LANMAN 1.0 extended protocol will typically be multi-tasked and will allow)12 3480( using)1 256(6. Systems)1 584 3 720 1956 t ( a multiplex ID \(smb)4 869( Therefore)1 459( requests per task.)3 742(multiple asynchronous input/output)2 1443 4 970 2076 t 10 S f (_)4483 2076 w 10 R f (mid\) is used)2 507 1 4533 2076 t (\(along with smb)2 672 1 970 2196 t 10 S f (_)1642 2196 w 10 R f ( the consumer's)2 656(pid\) to allow multiplexing the single consumer/server VC among)8 2692 2 1692 2196 t (multiple processes, threads and requests per thread.)6 2099 1 970 2316 t ( smb)1 204(The consumer is responsible for ensuring that every request includes a value in the)13 3445 2 970 2556 t 10 S f (_)4619 2556 w 10 R f (mid \256eld)1 371 1 4669 2556 t ( the correct request \(at least the smb)7 1536(which will allow the response to be associated with)8 2173 2 970 2676 t 10 S f (_)4679 2676 w 10 R f (pid and)1 311 1 4729 2676 t (smb)970 2796 w 10 S f (_)1137 2796 w 10 R f (mid must uniquely identify the request/response relationship system wide\).)8 3065 1 1187 2796 t ( responsible for ensuring that every response contains the same smb)10 2852(The server is)2 541 2 970 3036 t 10 S f (_)4363 3036 w 10 R f (mid value \(and)2 627 1 4413 3036 t (smb)970 3156 w 10 S f (_)1137 3156 w 10 R f ( consumer may then use the smb)6 1490( The)1 244(pid value\) as its request.)4 1096 3 1187 3156 t 10 S f (_)4017 3156 w 10 R f (mid value \(along with)3 973 1 4067 3156 t (smb)970 3276 w 10 S f (_)1137 3276 w 10 R f (pid value\) for associating requests and responses and may have up to the negotiated number)14 3853 1 1187 3276 t (of requests outstanding at any time on a multiplexed \256le server VC.)11 2791 1 970 3396 t ( LANMAN 1.0 extended protocol enhances the semantics of the pathname.)10 3085(7. The)1 405 2 720 3672 t (Two special pathname component values \320\320)5 1932 1 970 3912 t 10 S1 f (")2939 3912 w 10 R f (.)2980 3912 w 10 S1 f (")3005 3912 w 10 R f (and)3083 3912 w 10 S1 f (")3264 3912 w 10 R f (..)3305 3912 w 10 S1 f (")3355 3912 w 10 R f ( may)1 210( There)1 302(\320\320 must be recognized.)3 1062 3 3466 3912 t ( the standard meanings \320\320)4 1243( have)1 239( They)1 289(be multiple of these components in a path name.)8 2142 4 970 4032 t 10 S1 f (")4933 4032 w 10 R f (.)4974 4032 w 10 S1 f (")4999 4032 w 10 R f (points to its own directory,)4 1107 1 970 4152 t 10 S1 f (")2110 4152 w 10 R f (..)2151 4152 w 10 S1 f (")2201 4152 w 10 R f (points to its directory's parent.)4 1256 1 2275 4152 t ( to ensure that the)4 770(Note that it is the server's responsibility)6 1683 2 970 4392 t 10 S1 f (")3463 4392 w 10 R f (..)3504 4392 w 10 S1 f (")3554 4392 w 10 R f (can not be used to gain access to)7 1405 1 3635 4392 t (\256les/directories above the)2 1042 1 970 4512 t 10 S1 f (")2045 4512 w 10 R f (virtual root)1 455 1 2086 4512 t 10 S1 f (")2541 4512 w 10 R f (as de\256ned by the Tree Connect \(TID\).)6 1569 1 2615 4512 t ( 1.0 extended protocol requests and responses are variable length \(as was true)12 3239( new LANMAN)2 676(8. The)1 405 3 720 4788 t (in)970 4908 w 10 S1 f (")1092 4908 w 10 R f (core)1133 4908 w 10 S1 f (")1304 4908 w 10 R f ( added in the smb)4 777(\). Thus additional words may be)5 1388 2 1345 4908 t 10 S f (_)3510 4908 w 10 R f (vwv[] area in the future as well as)7 1480 1 3560 4908 t ( the smb)2 375(additional bytes added within)3 1231 2 970 5028 t 10 S f (_)2576 5028 w 10 R f ( must be implemented such that addi-)6 1607( Servers)1 375(buf[] area.)1 432 3 2626 5028 t ( additional \256elds are)3 867( If)1 142( of these areas will not cause the command to fail.)10 2179(tional \256elds in either)3 882 4 970 5148 t ( they should)2 523(encountered which are not recognized by the server's level of SMB implementation,)11 3547 2 970 5268 t ( upgrade of the protocol and eliminates the need for)9 2218(be ignored. This allows for future)5 1432 2 970 5388 t 10 S1 f (")4662 5388 w 10 R f (reserved)4703 5388 w (\256elds)970 5508 w 10 S1 f (")1187 5508 w 10 R f (.)1228 5508 w ( contents of response parameters is not guaranteed in the case of an error return \(any protocol)16 3915(9. The)1 405 2 720 5784 t ( have smb)2 435(response with an error set in the SMB header may)9 2143 2 970 5904 t 10 S f (_)3548 5904 w 10 R f (wct of zero and smb)4 869 1 3598 5904 t 10 S f (_)4467 5904 w 10 R f (bcc count of)2 523 1 4517 5904 t (zero\).)970 6024 w ( error class has been)4 892( LANMAN 1.0 extended protocol has been negotiated, the ERRDOS)9 2940(10. When)1 488 3 720 6300 t ( such,)1 249( As)1 185( system.)1 344(expanded to include all errors which may be generated by the OS/2 operating)12 3292 4 970 6420 t ( values de\256ned for error class ERRDOS in this document are a subset of the possi-)15 3493(the error code)2 577 2 970 6540 t ( documentation for the complete set of possible)7 2014( the OS/2 operating system)4 1155( See)1 220(ble error values.)2 681 4 970 6660 t (OS/2 \(ERRDOS\) error codes.)3 1211 1 970 6780 t (These semantic changes apply to all)5 1539 1 720 7176 t 10 S1 f (")2305 7176 w 10 R f (core)2346 7176 w 10 S1 f (")2517 7176 w 10 R f ( there are)2 412( Where)1 344(requests used by the extended protocol.)5 1680 3 2604 7176 t ( server having negotiated)3 1144( The)1 259( with the new requests.)4 1102(additional changes, they are documented)4 1815 4 720 7296 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 5 5 %%Page: 6 6 save mark 6 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 6 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t (LANMAN 1.0 is expected to still support all core protocol requests.)10 2799 1 720 840 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 6 6 %%Page: 7 7 save mark 7 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 7 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t ( be supported in the LANMAN 1.0)6 1599(The following are the core protocol requests which must still)9 2721 2 720 840 t ( See)1 236(extended protocol without change.)3 1483 2 720 960 t 10 S1 f (")2498 960 w 10 R f (File Sharing Protocol)2 922 1 2539 960 t 10 S1 f (")3461 960 w 10 R f (Intel Part number 136329-001 for)4 1480 1 3560 960 t (detailed explanation of each protocol request/response.)5 2235 1 720 1080 t (TREE CONNECT)1 755 1 1080 1260 t (TREE DISCONNECT)1 916 1 1080 1380 t (OPEN FILE)1 505 1 1080 1500 t (CREATE FILE)1 633 1 1080 1620 t (CLOSE FILE)1 561 1 1080 1740 t (FLUSH FILE)1 561 1 1080 1860 t (READ)1080 1980 w (WRITE)1080 2100 w (SEEK)1080 2220 w (CREATE DIRECTORY)1 994 1 1080 2340 t (DELETE DIRECTORY)1 982 1 1080 2460 t (DELETE FILE)1 621 1 1080 2580 t (RENAME FILE)1 666 1 1080 2700 t (GET FILE ATTRIBUTES)2 1082 1 1080 2820 t (SET FILE ATTRIBUTES)2 1066 1 1080 2940 t (LOCK RECORD)1 711 1 1080 3060 t (UNLOCK RECORD)1 855 1 1080 3180 t (CREATE TEMPORARY FILE \(no longer used by LANMAN 1.0 Redirector\))9 3202 1 1080 3300 t ( longer used by LANMAN 1.0 Redirector\))6 1753( \(no)1 356(PROCESS EXIT)1 695 3 1080 3420 t (MAKE NEW FILE)2 798 1 1080 3540 t (CHECK PATH)1 633 1 1080 3660 t (GET SERVER ATTRIBUTES)2 1255 1 1080 3780 t (NEGOTIATE PROTOCOL \(additional \256elds in response if LANMAN 1.0 negotiated\))9 3540 1 1080 3900 t (FILE SEARCH)1 639 1 1080 4020 t (CREATE PRINT FILE)2 955 1 1080 4140 t (CLOSE PRINT FILE)2 883 1 1080 4260 t (WRITE PRINT FILE)2 882 1 1080 4380 t (\(core Message Commands are also supported\))5 1883 1 1080 4500 t ( the)1 167( However,)1 468( LANMAN 1.0 extended protocol is mandatory.)6 2045(Support of all core requests within the)6 1640 4 720 4680 t ( by the OS/2 implementation of the redirector when)8 2168(following core requests will no longer be generated)7 2152 2 720 4800 t (LANMAN 1.0 extended protocol has been negotiated.)6 2216 1 720 4920 t (PROCESS EXIT)1 695 1 1080 5100 t (CREATE TEMPORARY FILE)2 1283 1 1080 5220 t (CREATE PRINT FILE)2 955 1 1080 5340 t (CLOSE PRINT FILE)2 883 1 1080 5460 t (WRITE PRINT FILE)2 882 1 1080 5580 t ( protocol format change to a core protocol service is that the response to the negotiate protocol)16 3952(The only)1 368 2 720 5760 t ( been selected)2 587(\(NEGOTIATE PROTOCOL\) will contain additional \256elds if the LANMAN1.0 string has)10 3733 2 720 5880 t ( additional)1 438( The)1 226(by the server thus effectively placing the session into LANMAN 1.0 extended protocol.)12 3656 3 720 6000 t (\256elds returned will be documented in detail later in this document.)10 2736 1 720 6120 t ( protocol requests within the LANMAN 1.0 extended protocol have a new command value)13 3939(All other)1 381 2 720 6360 t ( the protocol)2 537( the server need not constantly test)6 1483( Thus)1 275(from that of a similar function in core protocol.)8 2025 4 720 6480 t ( is expected to only submit appropriate requests within the dialect)10 2865( consumer)1 436( The)1 236(version negotiated.)1 783 4 720 6600 t (negotiated.)720 6720 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 7 7 %%Page: 8 8 save mark 8 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 8 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t ( LANMAN 1.0 extended protocol requests, each will be de\256ned in detail later)12 3231(The following are the new)4 1089 2 720 840 t (in this document.)2 708 1 720 960 t (SESS)1080 1200 w 10 S f (_)1309 1200 w 10 R f ( is another valid protocol request e.g. TREE)7 1812(SETUPandX \(X)1 964 2 1359 1200 t 10 S f (_)4135 1200 w 10 R f (CONNandX\))4185 1200 w (TREE)1080 1320 w 10 S f (_)1330 1320 w 10 R f ( is another valid protocol request e.g. OPEN\))7 1856(CONNandX \(X)1 943 2 1380 1320 t ( is another valid protocol request e.g. READ\))7 1867(OPENandX \(X)1 1243 2 1080 1440 t ( is another valid protocol request e.g. CLOSE\))7 1912(READandX \(X)1 1243 2 1080 1560 t ( is another valid protocol request e.g. READ\))7 1867(WRITEandX \(X)1 1243 2 1080 1680 t ( OS/2 form of FILE SEARCH\))5 1287(FIND \(matches)1 1498 2 1080 1800 t (FIND)1080 1920 w 10 S f (_)1313 1920 w 10 R f ( OS/2 form of FILE SEARCH\))5 1287(UNIQUE \(matches)1 1215 2 1363 1920 t (FIND)1080 2040 w 10 S f (_)1313 2040 w 10 R f ( OS/2 form of FILE SEARCH\))5 1287(CLOSE \(matches)1 1215 2 1363 2040 t (READ)1080 2160 w 10 S f (_)1352 2160 w 10 R f (BLOCK)1402 2160 w 10 S f (_)1741 2160 w 10 R f ( larger than negotiated buffer size request raw\))7 1919(RAW \(read)1 631 2 1791 2160 t (READ)1080 2280 w 10 S f (_)1352 2280 w 10 R f (BLOCK)1402 2280 w 10 S f (_)1741 2280 w 10 R f ( larger than negotiated buffer size request multiplexed\))7 2248(MPX \(read)1 631 2 1791 2280 t (WRITE)1080 2400 w 10 S f (_)1396 2400 w 10 R f (BLOCK)1446 2400 w 10 S f (_)1785 2400 w 10 R f ( larger than negotiated buffer size request raw\))7 1919(RAW \(write)1 621 2 1835 2400 t (WRITE)1080 2520 w 10 S f (_)1396 2520 w 10 R f (BLOCK)1446 2520 w 10 S f (_)1785 2520 w 10 R f ( larger than negotiated buffer size request multiplexed\))7 2248(MPX \(write)1 621 2 1835 2520 t (GET)1080 2640 w 10 S f (_)1274 2640 w 10 R f (E)1324 2640 w 10 S f (_)1385 2640 w 10 R f (FILE)1435 2640 w 10 S f (_)1646 2640 w 10 R f ( new OS/2 system call\))4 959(ATTR \(accommodate)1 1109 2 1696 2640 t (SET)1080 2760 w 10 S f (_)1258 2760 w 10 R f (E)1308 2760 w 10 S f (_)1369 2760 w 10 R f (FILE)1419 2760 w 10 S f (_)1630 2760 w 10 R f ( new OS/2 system call\))4 959(ATTR \(accommodate)1 1125 2 1680 2760 t ( new OS/2 system call\))4 959(LOCKINGandX \(accommodate)1 1725 2 1080 2880 t (COPY)1080 3000 w 10 S f (_)1347 3000 w 10 R f ( when both source and target are remote\))7 1687(FILE \(used)1 1037 2 1397 3000 t (MOVE)1080 3120 w 10 S f (_)1374 3120 w 10 R f ( when both source and target are remote\))7 1687(FILE \(used)1 1010 2 1424 3120 t ( IOCTL request on to server and retrieve results\))8 2009(IOCTL \(pass)1 1343 2 1080 3240 t ( bytes in/out associated with name\))5 1447(TRANSACTION \(allows)1 1432 2 1080 3360 t ( sent data back\))3 647(ECHO \(echo)1 1359 2 1080 3480 t ( \256nal bytes then close \256le\))5 1092(WRITEandCLOSE \(write)1 1376 2 1080 3600 t ( bytes then Read locked bytes\))5 1263(LOCKandREAD \(Lock)1 1376 2 1080 3720 t ( bytes then Unlock bytes\))4 1053(WRITEandUnlock \(Write)1 1398 2 1080 3840 t (On every new command ending in)5 1418 1 720 4200 t 10 S1 f (")2171 4200 w 10 R f (and)2212 4200 w 10 S f (_)2356 4200 w 10 R f (X)2406 4200 w 10 S1 f (")2478 4200 w 10 R f (above, the following rules apply:)4 1350 1 2552 4200 t ( the)1 173( it starts at)3 489( Rather)1 349( embedded command does not repeat the SMB header information.)9 2904(o The)1 405 5 720 4476 t (smb)970 4596 w 10 S f (_)1137 4596 w 10 R f (wct \256eld.)1 380 1 1187 4596 t ( example, if)2 536( For)1 228( multiple \(chained\) requests must \256t within the negotiated transmit size.)10 3178(o All)1 378 4 720 4872 t (TREE)970 4992 w 10 S f (_)1220 4992 w 10 R f ( sent, they would all have)5 1101(CONNandX included OPENandX which included WRITE were)6 2669 2 1270 4992 t ( would limit the size of the write.)7 1383( This)1 244(to \256t within the negotiated buffer size.)6 1577 3 970 5112 t ( containing the chained requests and there)6 1764( is one \(negotiated buffer size max\) message sent)8 2074(o There)1 482 3 720 5388 t ( server may)2 507( The)1 234(is one \(negotiated buffer size max\) response message to the chained requests.)11 3329 3 970 5508 t (NOT elect to send separate responses to each of the chained requests.)11 2858 1 970 5628 t ( limits the max-)3 664( This)1 247( transmit size.)2 580( multiple \(chained\) responses must \256t within the negotiated)8 2451(o All)1 378 5 720 5904 t ( is the consumer's responsibility to not)6 1730( It)1 149( on an embedded READ for example.)6 1685(imum value)1 506 4 970 6024 t (request more bytes than will \256t within the multiple response.)9 2499 1 970 6144 t ( server will implicitly use the result of the \256rst command in the)12 2677(o The)1 405 2 720 6420 t 10 S1 f (")3840 6420 w 10 R f (X)3881 6420 w 10 S1 f (")3953 6420 w 10 R f ( example)1 377(command. For)1 630 2 4033 6420 t ( TCONandX would be used in the embedded OPENandX and the FID)11 3145(the TID obtained via)3 925 2 970 6540 t (obtained in the OPENandX would be used in the embedded READ.)10 2785 1 970 6660 t ( reference a FID, the smb)5 1073( multiple \(chained\) requests)3 1145(o If)1 316 3 720 6936 t 10 S f (_)3254 6936 w 10 R f (\256d \256eld must contain the same FID value)7 1736 1 3304 6936 t ( other words, each request can only reference the same FID \(and TID\) as the)14 3258( In)1 157(in each request.)2 655 3 970 7056 t ( requests can be thought of as performing a)8 1796( chained)1 343( The)1 221(other commands in the combined request.)5 1710 4 970 7176 t ( the worker)2 498( simpli\256es the handling by)4 1154( This)1 259(single \(multi-part\) operation on the same resource.)6 2159 4 970 7296 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 8 8 %%Page: 9 9 save mark 9 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1728( 9 -)2 149( -)1 1046(SMB Protocol Extensions)2 1056 5 720 520 t (process on the server node.)4 1115 1 970 840 t ( stop all further processing of embedded)6 1716( \256rst function \(command\) to encounter an error will)8 2199(o The)1 405 3 720 1116 t ( if and OPENandRead)3 923( Thus)1 269( back out commands that succeeded.)5 1513(commands. The server will NOT)4 1365 4 970 1236 t ( read encountered)2 726(was being performed and the server was able to open the \256le successfully but the)14 3344 2 970 1356 t ( the same as if the requests had been sent)9 1800( is exactly)2 443( This)1 255(an error, the \256le would remain open.)6 1572 4 970 1476 t (separately.)970 1596 w ( while processing chained requests, the last response \(of the chained responses in)12 3355( an error occurs)3 649(o If)1 316 3 720 1872 t ( requests will)2 563(the buffer\) will be the one which encountered the error. Other unprocessed chained)12 3507 2 970 1992 t (have been ignored when the server encountered the error and will not be represented in the)15 4070 1 970 2112 t ( the last valid smb)4 776( Actually)1 414(chained response.)1 721 3 970 2232 t 10 S f (_)2881 2232 w 10 R f (com2 \(if any\) will represent the protocol on which)8 2109 1 2931 2232 t ( no valid smb)3 656( If)1 162(the error occurred.)2 814 3 970 2352 t 10 S f (_)2602 2352 w 10 R f ( the error occurred on the \256rst)6 1425(com2 is present, then)3 963 2 2652 2352 t (request/response and smb)2 1068 1 970 2472 t 10 S f (_)2038 2472 w 10 R f ( all cases the error class)5 1044( In)1 161(com contains the command which failed.)5 1747 3 2088 2472 t (and code is returned in the smb)6 1374 1 970 2592 t 10 S f (_)2344 2592 w 10 R f (rcls and smb)2 547 1 2394 2592 t 10 S f (_)2941 2592 w 10 R f ( of the SMB header at the start of the)9 1676(err \256elds)1 373 2 2991 2592 t (response buffer.)1 650 1 970 2712 t ( of the SMB header\) to the)6 1167( chained request and response contains the offset \(from the start)10 2704(o Each)1 449 3 720 2988 t ( \256eld smb)2 415(next chained request/response \(in the)4 1524 2 970 3108 t 10 S f (_)2909 3108 w 10 R f (off2 in the various)3 765 1 2959 3108 t 10 S1 f (")3759 3108 w 10 R f (and X)1 251 1 3800 3108 t 10 S1 f (")4051 3108 w 10 R f (protocols de\256ned later)2 913 1 4127 3108 t ( the)1 163( allows building the requests unpacked. There may be space between)10 2902( This)1 251(e.g. Open and X\).)3 754 4 970 3228 t (end of the previous request \(as de\256ned by smb)8 1922 1 970 3348 t 10 S f (_)2892 3348 w 10 R f (wct and smb)2 521 1 2942 3348 t 10 S f (_)3463 3348 w 10 R f (bcc\) and the start of the next chained)7 1527 1 3513 3348 t ( that because the consu-)4 1021( Note)1 269( of chained protocol requests.)4 1246( simpli\256es the building)3 969(request. This)1 565 5 970 3468 t ( size of the data being returned in order to post the correct number of receives)15 3265(mer must know the)3 805 2 970 3588 t ( trun-)1 239(\(e.g. Transaction, Read Block MPX\), the data in each response protocol is expected to be)14 3831 2 970 3708 t ( byte blocks \(sectors\) which will \256t \(starting at a DWORD)10 2476(cated to the maximum number of 512)6 1594 2 970 3828 t (boundary\) in the negotiated buffer size with the odd bytes remaining \(if any\) in the \256nal buffer.)16 3935 1 970 3948 t 10 B f ( MODEL)1 411(4. ARCHITECTURAL)1 1030 2 720 4308 t 10 R f ( the net-)2 347(The Network File Access system described in this document deals with two types of systems on)15 3973 2 720 4464 t ( consumer is a system that requests network \256le services \(commonly)10 2871( A)1 144(work -- consumers and servers.)4 1305 3 720 4584 t ( Consu-)1 357( network \256le services.)3 906(referred to as the redirector in DOS\) and a server is a system that delivers)14 3057 3 720 4704 t (mers and servers are logical systems; a consumer and server may coexist in a single physical system.)16 4157 1 720 4824 t ( network addressing)2 824( The)1 223( to the appropriate server.)4 1062(Consumers are responsible for directing their requests)6 2211 4 720 5064 t ( the server is identi\256ed is outside the scope of this)10 2233(mechanism or naming convention through which)5 2087 2 720 5184 t (document.)720 5304 w ( The)1 242( \(or other resource\).)3 878(Each server makes available to the network a self-contained \256le structure)10 3200 3 720 5544 t ( are)1 160( There)1 304( a directory tree, spooled device, I/O device, named pipe, etc..)10 2611(resource being shared may be)4 1245 4 720 5664 t ( con-)1 212( \256le \(or other resource\) must be entirely)7 1651( A)1 139(no storage or service dependencies on any other servers.)8 2318 4 720 5784 t (tained by a single server.)4 1027 1 720 5904 t (The LANMAN 1.0 extended \(like the core\) \256le sharing protocol requires server authentication of users)14 4320 1 720 6144 t ( server processor authenticates its own users.)6 1841( Each)1 265(before \256le accesses are allowed.)4 1313 3 720 6264 t ( connects autonomous systems that are willing to make)8 2300(This authentication model assumes that the LAN)6 2020 2 720 6504 t (some subset of their local \256les \(or other resource\) available to remote users.)12 3120 1 720 6624 t ( which can be selected by the server)7 1514(The LANMAN 1.0 extended protocol however de\256nes two methods)8 2806 2 720 6864 t (for security.)1 490 1 720 6984 t (A)720 7224 w 10 S1 f (")827 7224 w 10 R f (share level security mode)3 1047 1 868 7224 t 10 S1 f (")1915 7224 w 10 R f ( sharable)1 368(server makes some directory on a disk device \(or other resource\))10 2681 2 1991 7224 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 9 9 %%Page: 10 10 save mark 10 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 10 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( password may be required to gain access.)7 1763( optional)1 366( An)1 193(\(accessible from any consumer on the network\).)6 1998 4 720 840 t (Thus any user on the network who knows the name of the server, the name \()15 3214 1 720 960 t 10 S1 f (")3934 960 w 10 R f (netname)3975 960 w 10 S1 f (")4313 960 w 10 R f (\) of the resource)3 686 1 4354 960 t ( and directories under the shared)5 1344(and the password \(if any\) has full access to all \256les)10 2135 2 720 1080 t 10 S1 f (")4233 1080 w 10 R f (tree)4274 1080 w 10 S1 f (")4423 1080 w 10 R f (\()4498 1080 w 10 S1 f (")4531 1080 w 10 R f (full)4572 1080 w 10 S1 f (")4711 1080 w 10 R f (access)4786 1080 w (as de\256ned by the access level speci\256ed for the share\).)9 2205 1 720 1200 t (A)720 1440 w 10 S1 f (")825 1440 w 10 R f (user level security mode)3 1000 1 866 1440 t 10 S1 f (")1866 1440 w 10 R f (server also makes some directory on a disk device \(or other resource\) shar-)12 3099 1 1941 1440 t ( account \(user\) name \(and optional account \(user\))7 2120(able but in addition requires the user to provide an)9 2200 2 720 1560 t ( represent this)2 582( consumer also supplies the UID value it wishes to)9 2113( The)1 223(password\) in order to gain access.)5 1402 4 720 1680 t (user \(see Session Set Up protocol de\256nition\).)6 1855 1 720 1800 t ( server is now able to allow differing access rights depending on the validated UID \(in)15 3941(Thus the)1 379 2 720 2040 t (smb)720 2160 w 10 S f (_)887 2160 w 10 R f ( read only and perhaps another)5 1302( account may have full access, another)6 1633( One)1 240(uid\) on each resource.)3 928 4 937 2160 t ( the shared)2 464(no access to differing \256les and directories within)7 2049 2 720 2280 t 10 S1 f (")3274 2280 w 10 R f (tree)3315 2280 w 10 S1 f (")3464 2280 w 10 R f ( implementations are server)3 1154(. Access)1 381 2 3505 2280 t ( this document, however user level security mode allows validating)9 2835(dependent and outside the scope of)5 1485 2 720 2400 t (access based on account-name \(and password\) access control lists associated with each resource.)12 3954 1 720 2520 t ( be in either)3 516(The server is expected to)4 1049 2 720 2760 t 10 S1 f (")2324 2760 w 10 R f (user level security mode)3 1015 1 2365 2760 t 10 S1 f (")3380 2760 w 10 R f (or)3460 2760 w 10 S1 f (")3582 2760 w 10 R f (share level security mode)3 1059 1 3623 2760 t 10 S1 f (")4682 2760 w 10 R f (\(not in)1 278 1 4762 2760 t ( on the negotiate com-)4 949( security mode of the server is returned in the response)10 2334( The)1 228(some combination\).)1 809 4 720 2880 t ( This allows the consumer to easily)6 1530(mand if LANMAN 1.0 extended dialect is selected by the server.)10 2790 2 720 3000 t (select the appropriate protocols to be used.)6 1753 1 720 3120 t (The following environments exist in the LANMAN 1.0 extended \256le sharing protocol environment.)12 4081 1 720 3480 t ( consists of one or more VC\(s\) established between a consumer)10 2644( This)1 247( Environment.)1 583( Circuit)1 313(a\) Virtual)1 533 5 720 3756 t ( the server node and consumer)5 1301( it is the logical session between)6 1396( Thus)1 276(system and server system.)3 1097 4 970 3876 t ( these VC\(s\))2 539( of)1 127( Each)1 276(node which is implemented with the use of one or more Virtual Circuits.)12 3128 4 970 3996 t ( that any number of tasks and any number of requests may be active on)14 2979(may be a multiplex VC in)5 1091 2 970 4116 t (the VC at the same time.)5 1028 1 970 4236 t ( primarily to support optional LANMAN 1.0 extended protocols which)9 2977(Additional VC\(s\) are used)3 1093 2 970 4476 t ( using additional)2 693( Consumers)1 521(allow rapid data movement if only one process is active on the VC.)12 2856 3 970 4596 t ( single request active on the VC at any time, in order to receive)13 2640(VC\(s\) would normally have only a)5 1430 2 970 4716 t (data directly into user space for example.)6 1691 1 970 4836 t ( smb)1 206( A)1 144( used are to be considered a logical extension of the \256rst VC.)12 2600(Additional VC\(s\) when)2 964 4 970 5076 t 10 S f (_)4884 5076 w 10 R f (tid)4934 5076 w ( authenticated to the one established on)6 1636(\256eld in a protocol received on an additional VC should be)10 2434 2 970 5196 t (the \256rst VC, etc..)3 707 1 970 5316 t ( for more than one VC)5 1001( Support)1 395( concerned.)1 479(All of the VCs are the same as far as the server is)12 2195 4 970 5556 t ( more than one VC is in use, the server must)10 1993( If)1 146(between the consumer and server is optional.)6 1931 3 970 5676 t (ensure that all responses are sent on the same VC which received the request.)13 3191 1 970 5796 t (A VC is formed using transport services.)6 1682 1 970 6036 t ( this is represented by a Tree ID \(TID\). A TID)10 2027( in the core protocol,)4 897( As)1 186( Environment.)1 589(b\) Resource)1 621 5 720 6312 t ( and server. The resource)4 1092(uniquely identi\256es a resource sharing connection between a consumer)8 2978 2 970 6432 t (being shared may be a directory tree, spooled device, I/O device, named pipe, etc..)13 3398 1 970 6552 t (In a server executing in)4 1020 1 970 6792 t 10 S1 f (")2036 6792 w 10 R f (share level security mode)3 1080 1 2077 6792 t 10 S1 f (")3157 6792 w 10 R f ( which do not support)4 960(\(and also in servers)3 836 2 3244 6792 t ( scope and type of accesses allowed across)7 1829(these extended protocols\), the TID also identi\256es the)7 2241 2 970 6912 t (the connection.)1 618 1 970 7032 t (In most SMB protocols, smb)4 1206 1 970 7272 t 10 S f (_)2176 7272 w 10 R f ( a)1 83( include prior to getting)4 996( Exceptions)1 515(tid must contain a valid TID.)5 1220 4 2226 7272 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 10 10 %%Page: 11 11 save mark 11 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 11 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( NEGOTIATE, TREE CONNECT, SESS)4 2022(TID established including)2 1218 2 970 840 t 10 S f (_)4210 840 w 10 R f (SETUPandX and)1 780 1 4260 840 t (TREE)970 960 w 10 S f (_)1220 960 w 10 R f ( exceptions include QUERY)3 1188( Other)1 301(CONNandX protocols.)1 937 3 1270 960 t 10 S f (_)3696 960 w 10 R f (SRV)3746 960 w 10 S f (_)3941 960 w 10 R f ( forms of the)3 564(INFO some)1 485 2 3991 960 t ( de\256ned as 0xFFFF. The server is respon-)7 1735( NULL TID is)3 607( A)1 141(TRANSACTION protocol and ECHO.)3 1587 4 970 1080 t (sible for enforcing use of a valid TID where appropriate.)9 2332 1 970 1200 t (There may be any number of resource sharing connections \(TIDs\) per VC set.)12 3207 1 970 1440 t ( \(smb)1 256( UID in)2 365( A)1 160( is represented by a User ID \(UID\).)7 1616( This)1 266( Environment.)1 602(c\) User)1 438 7 720 1716 t 10 S f (_)4423 1716 w 10 R f (uid\) uniquely)1 567 1 4473 1716 t ( user within a given VC environment. A server \(executing in)10 2721(identi\256es a)1 467 2 970 1836 t 10 S1 f (")4213 1836 w 10 R f (user level security)2 786 1 4254 1836 t (mode)970 1956 w 10 S1 f (")1192 1956 w 10 R f (\) uses this to identify the scope and type of access allowed this user.)13 2822 1 1233 1956 t ( PID uniquely identi\256es a)4 1110( A)1 152( by a process ID \(PID\).)5 1035( is represented)2 618( This)1 257( Environment.)1 593(c\) Process)1 555 7 720 2232 t ( the server's point of view, a)6 1259( From)1 296(consumer process \(thread\) within a given VC environment.)7 2515 3 970 2352 t (new process \(new value in smb)5 1315 1 970 2472 t 10 S f (_)2285 2472 w 10 R f ( is no)2 243( There)1 303(pid\) may be introduced at any time.)6 1501 3 2335 2472 t 10 S1 f (")4420 2472 w 10 R f (fork)4461 2472 w 10 S1 f (")4627 2472 w 10 R f (protocol)4707 2472 w ( process may be manipulated by the new process \(provided the)10 2836(and \256les opened by another)4 1234 2 970 2592 t (appropriate smb)1 654 1 970 2712 t 10 S f (_)1624 2712 w 10 R f (tid is supplied\).)2 636 1 1674 2712 t ( identi\256es an open \256le and)5 1117( FID)1 198( A)1 142( is represented by a File Handle \(FID\).)7 1625( This)1 248( Environment.)1 584(d\) File)1 406 7 720 2988 t ( \(FID\) may be used in additional)6 1442(is unique within a given VC environment \(same File Handle)9 2628 2 970 3108 t ( \256le may be)3 541( A)1 154( wide in scope.)3 671( that the File Handle \(FID\) is logon environment)8 2127(VC\(s\)\). Note)1 577 5 970 3228 t ( process.)1 368(opened and its Handle passed to another process for use without being opened by that)14 3702 2 970 3348 t (The smb)1 355 1 970 3468 t 10 S f (_)1325 3468 w 10 R f (tid \256eld must contain the same value as that used when the \256le was opened.)14 3128 1 1375 3468 t ( PIDs, TIDs and FIDs within it will be invalidated.)9 2210(If a VC environment \(all VC\(s\)\) is terminated all)8 2110 2 720 3624 t (Note - additional VC\(s\) may be terminated without terminating the)9 2750 1 720 3744 t 10 S1 f (")3503 3744 w 10 R f (VC environment)1 677 1 3544 3744 t 10 S1 f (")4221 3744 w 10 R f (.)4262 3744 w ( Environment is terminated \(TID invalidated via Tree Disconnect protocol\) all PIDS and)12 3755(If a Resource)2 565 2 720 3984 t (FIDs within it will be invalidated.)5 1396 1 720 4104 t 10 B f ( Management)1 593(4.1. Process)1 537 2 720 4464 t 10 R f ( destroy processes is, of course, an implementation issue and there is)11 2908(How and when servers create and)5 1412 2 720 4620 t (no requirement that this be tied in any way to the consumer's process management.)13 3432 1 720 4740 t (Because a \256le handle may be obtained by one consumer process and passed to another \(e.g. child\) pro-)17 4320 1 720 4980 t ( can not release resources such as locks or FIDs on process exit \(Note that pro-)15 3355(cess for use, the server)4 965 2 720 5100 t (cess exit is no longer sent\).)5 1122 1 720 5220 t ( Consumer)1 489( until the lock is removed or the \256le closed by the consumer.)12 2657(Rather the server must wait)4 1174 3 720 5460 t ( close handles and free locks as soon as possible to prevent server resource prob-)14 3351(implementations should)1 969 2 720 5580 t (lems.)720 5700 w ( all processes, locks, FIDs, etc. created on behalf of)9 2161(When the server receives a tree disconnect protocol,)7 2159 2 720 5940 t (that TID \(logon environment\) may be freed.)6 1808 1 720 6060 t ( all resources for the consuming node may be)8 1997(If the VC aborts \(VC environment is terminated\) then)8 2323 2 720 6300 t (freed.)720 6420 w ( Negotiate, include a process ID \(PID\) to indicate which user process initiated a)13 3442(All messages, except)2 878 2 720 6660 t ( a new process by simply introducing a new PID)9 2074( inform servers of the creation of)6 1409(request. Consumers)1 837 3 720 6780 t ( is no)2 241(into the dialogue. There)3 987 2 720 6900 t 10 S1 f (")1985 6900 w 10 R f (fork)2026 6900 w 10 S1 f (")2192 6900 w 10 R f (protocol to indicate to the server any parent child process relation-)10 2770 1 2270 6900 t ( use handles created by another process \(there is no)9 2182( is not needed because any process may)7 1694(ship. This)1 444 3 720 7020 t ( most server implementations will not need)6 1799( Thus)1 270( or relationship to the parent process\).)6 1583(special privilege)1 668 4 720 7140 t ( the PID value in smb)5 919(the PID, however,)2 748 2 720 7260 t 10 S f (_)2387 7260 w 10 R f (pid must be returned in the response \(along with smb)9 2213 1 2437 7260 t 10 S f (_)4650 7260 w 10 R f (mid\) for)1 340 1 4700 7260 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 11 11 %%Page: 12 12 save mark 12 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 12 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (the use of the consumer's)4 1052 1 720 840 t 10 S1 f (")1805 840 w 10 R f (SMB delivery system)2 883 1 1846 840 t 10 S1 f (")2729 840 w 10 R f (.)2770 840 w ( 1.0 extended protocol, no)4 1095(In the LANMAN)2 717 2 720 1200 t 10 S1 f (")2570 1200 w 10 R f (Process Exit)1 510 1 2611 1200 t 10 S1 f (")3121 1200 w 10 R f ( operating system)2 731( The)1 226(protocol will be sent.)3 883 3 3200 1200 t (will ensure that the)3 796 1 720 1320 t 10 S1 f (")1552 1320 w 10 R f (close Protocol)1 580 1 1593 1320 t 10 S1 f (")2173 1320 w 10 R f ( Note)1 262( referencing a \256le closes it.)5 1125(will be sent when the last process)6 1403 3 2250 1320 t ( may be present on the \256le \(those locks placed on the \256le using)13 2667(that a close implicitly frees locks which)6 1653 2 720 1440 t (the \256le handle being closed\).)4 1183 1 720 1560 t 10 B f ( Sharing Connections)2 934(5. File)1 302 2 720 1800 t 10 R f ( \256le sharing protocol will contain not only multi-user systems with user based)12 3314(The networks using this)3 1006 2 720 1956 t ( these)1 249( Once)1 287( or permissions.)2 674(security models, but single-user systems that have no concept of user-ids)10 3110 4 720 2076 t ( however, they are in a multi-user environment and need a method)11 2815(nodes are connected to the network,)5 1505 2 720 2196 t ( to be able to provide some sort of bona-\256des to other net)12 2430( unsecure nodes need)3 889( First,)1 280(of access control.)2 721 4 720 2316 t (nodes which do have permissions, secondly unsecure nodes need to control access to their resources by)15 4320 1 720 2436 t (others.)720 2556 w ( to provide the security where it is)7 1453(This protocol de\256nes a mechanism that enables the network software)9 2867 2 720 2796 t ( system, and supports user based security where it is provided by the operat-)13 3201(missing from the operating)3 1119 2 720 2916 t (ing system. The mechanism also allows nodes with no concept of user-id to demonstrate access authori-)15 4320 1 720 3036 t ( designed so)2 512( the permission protocol is)4 1101( Finally,)1 377(zation to nodes which do have a permission mechanism.)8 2330 4 720 3156 t (that it can be omitted if both nodes share a common permission mechanism.)12 3135 1 720 3276 t (This protocol, called the)3 995 1 720 3516 t 10 S1 f (")1748 3516 w 10 R f (tree connect)1 492 1 1789 3516 t 10 S1 f (")2281 3516 w 10 R f ( possible user inter-)3 809( A)1 138(protocol, does not specify a user interface.)6 1738 3 2355 3516 t (face will be described by way of illustration.)7 1836 1 720 3636 t 10 B f ( Level Security Mode Server Nodes)5 1540(5.1. Share)1 466 2 720 3876 t 10 R f ( examples apply to access to serving systems which do NOT have a user based permission)15 3743(The following)1 577 2 720 4032 t (mechanism.)720 4152 w (a\) NET SHARE)2 665 1 720 4392 t ( a user wish to allow access to some)8 1514( Should)1 351(By default all network requests are refused as unauthorized.)8 2455 3 720 4548 t ( an)1 142(or all of his \256les he offers access to an arbitrary set of subtrees by specifying each subtree and)18 4178 2 720 4668 t (optional password.)1 763 1 720 4788 t (Examples:)1080 4968 w ( src=c:)1 310(NET SHARE)1 555 2 1080 5208 t 10 S1 f (\\)1945 5208 w 10 R f (dir1)1973 5208 w 10 S1 f (\\)2134 5208 w 10 R f (src)2162 5208 w 10 S1 f (")2344 5208 w 10 R f (bonzo)2385 5208 w 10 S1 f (")2629 5208 w 10 R f (assign password)1 678 1 970 5388 t 10 S1 f (")1699 5388 w 10 R f (bonzo)1740 5388 w 10 S1 f (")1984 5388 w 10 R f ( directory)1 412(to all \256les within)3 754 2 2076 5388 t 10 S1 f (")3294 5388 w 10 R f (dir1)3335 5388 w 10 S1 f (\\)3496 5388 w 10 R f (src)3524 5388 w 10 S1 f (")3640 5388 w 10 R f (and its subdirectories with the)4 1307 1 3733 5388 t 10 S1 f (")970 5508 w 10 R f (short name)1 449 1 1011 5508 t 10 S1 f (")1460 5508 w 10 R f (src being the name used to connect to this offer.)9 1985 1 1534 5508 t ( c=c:)1 238(NET SHARE)1 555 2 1080 5688 t 10 S1 f ( ")1 74(\\ ")1 333 2 1873 5688 t 10 R f (RO)2478 5688 w ( work=c:)1 399(NET SHARE)1 555 2 1080 5928 t 10 S1 f (\\)2034 5928 w 10 R f (work)2062 5928 w 10 S1 f (")2333 5928 w 10 R f (\257ipper)2374 5928 w 10 S1 f (")2635 5928 w 10 R f (RW)2742 5928 w ( subdirectories\))1 640(offer read-only access to everything \(all \256les are within the root directory or its)13 3430 2 970 6108 t (Offer read-write access to all \256les within the)7 1832 1 970 6228 t 10 S1 f (\\)2835 6228 w 10 R f (work directory and its subdirectories.)4 1521 1 2863 6228 t (b\) NET USE)2 532 1 720 6348 t ( NET)1 228( the)1 155( Once)1 276(Other users can gain access to one or more offered subtrees via the NET USE command.)15 3661 4 720 6504 t (USE command is issued the user can access the \256les freely without further special requirements.)14 3963 1 720 6624 t (Examples:)1080 6804 w ( d:)1 144(1. NET USE)2 524 2 1080 7044 t 10 S1 f (\\\\)1781 7044 w 10 R f (Server1)1837 7044 w 10 S1 f (\\)2147 7044 w 10 R f (src)2175 7044 w 10 S1 f (")2357 7044 w 10 R f (bonzo)2398 7044 w 10 S1 f (")2642 7044 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 12 12 %%Page: 13 13 save mark 13 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 13 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( directories on Server1 matching the offer de\256ned by the net-)10 2539(This gains full access to the \256les and)7 1531 2 970 840 t (name)970 960 w 10 S1 f (")1224 960 w 10 R f (src)1265 960 w 10 S1 f (")1381 960 w 10 R f (with the password of)3 874 1 1460 960 t 10 S1 f (")2372 960 w 10 R f (bonzo)2413 960 w 10 S1 f (")2657 960 w 10 R f ( \256les on Server1 c:)4 797( user may now address)4 961(. The)1 251 3 2698 960 t 10 S1 f (\\)4707 960 w 10 R f (dir1)4735 960 w 10 S1 f (\\)4896 960 w 10 R f (src)4924 960 w (by referencing d:. E.g.)3 916 1 970 1080 t 10 S1 f (")1952 1080 w 10 R f (type d:src\256le1.c)1 646 1 1993 1080 t 10 S1 f (")2639 1080 w 10 R f (.)2680 1080 w ( e:)1 138(2. NET USE)2 524 2 1080 1260 t 10 S1 f (\\\\)1775 1260 w 10 R f (Server1)1831 1260 w 10 S1 f (\\)2141 1260 w 10 R f (c)2169 1260 w ( f:)1 127(3. NET USE)2 524 2 1080 1500 t 10 S1 f (\\\\)1764 1500 w 10 R f (Server1)1820 1500 w 10 S1 f (\\)2130 1500 w 10 R f (work)2158 1500 w 10 S1 f (")2429 1500 w 10 R f (\257ipper)2470 1500 w 10 S1 f (")2731 1500 w 10 R f ( valid \(e.g.)2 453(Now any read request to any \256le on that node \(drive c\) is)12 2417 2 970 1680 t 10 S1 f (")3878 1680 w 10 R f (type e:)1 282 1 3919 1680 t 10 S1 f (\\)4201 1680 w 10 R f (bin)4229 1680 w 10 S1 f (\\)4357 1680 w 10 R f (foo.bat)4385 1680 w 10 S1 f (")4665 1680 w 10 R f (\). Read-)1 334 1 4706 1680 t ( \256les whose pathnames start with f: \(e.g.)7 1808(write requests only succeed to)4 1319 2 970 1800 t 10 S1 f (")4150 1800 w 10 R f (copy foo f:foo.tmp)2 808 1 4191 1800 t 10 S1 f (")4999 1800 w 10 R f (copies foo to Server1 c:)4 980 1 970 1920 t 10 S1 f (\\)1950 1920 w 10 R f (work)1978 1920 w 10 S1 f (\\)2183 1920 w 10 R f (foo.tmp\).)2211 1920 w ( must remember the drive identi\256er supplied with the NET USE request and asso-)13 3427(The consumer system)2 893 2 720 2040 t ( must include)2 579( requests using this TID)4 1039( Subsequent)1 540(ciate it with the TID value returned by the server.)9 2162 4 720 2160 t ( connected subtree as the server treats the subtree as the root directory)12 2948(only the pathname relative to the)5 1372 2 720 2280 t (\(virtual root\).)1 546 1 720 2400 t ( remote drives, the consumer looks through its list of drives for that)12 2827(When the user references one of the)6 1493 2 720 2640 t (node and includes the TID associated with this drive in the smb)11 2627 1 720 2760 t 10 S f (_)3347 2760 w 10 R f (tid \256eld of each request.)4 994 1 3397 2760 t ( a)1 88( If)1 143( are then affected.)3 770(Note that one offers \(shares\) a directory and all \256les underneath that directory)12 3319 4 720 3000 t ( multiple offer ranges, connecting to any of the offer ranges gains)11 2803(particular \256le is within the range of)6 1517 2 720 3120 t ( server will)2 479( The)1 228( for the offer named in the NET USE.)8 1625(access to the \256le with the permissions speci\256ed)7 1988 4 720 3240 t (not check for nested directories with more restrictive permissions.)8 2701 1 720 3360 t 10 B f ( Level Security Mode Server Nodes)5 1540(5.2. User)1 415 2 720 3600 t 10 R f (Servers with user based \256le security \(in)6 1737 1 720 3756 t 10 S1 f (")2509 3756 w 10 R f (user level security mode)3 1054 1 2550 3756 t 10 S1 f (")3604 3756 w 10 R f ( require that the consumer)4 1154(\) will)1 241 2 3645 3756 t ( account name and account passwd \(if any\) along with the requested UID value \(via the Ses-)16 3899(present an)1 421 2 720 3876 t (sion Set Up protocol\) prior to accessing resources.)7 2069 1 720 3996 t ( account-name is validated and the UID representing)7 2229(When the Session Set Up request is received, the)8 2091 2 720 4236 t ( all further requests)3 824( UID must be included in)5 1103( This)1 254(that authenticated instance of the user is validated.)7 2139 4 720 4356 t (made on behalf of the user.)5 1126 1 720 4476 t ( protocol is still used to de\256ne the directory \(tree\) or other resource available to the)15 3568(The Tree Connect)2 752 2 720 4716 t (user.)720 4836 w ( to allow differing types of access to the same)9 2043(The server in user level security mode uses the UID)9 2277 2 720 5076 t (resources under a given TID.)4 1192 1 720 5196 t ( gain access to)3 615(Note that a single consumer user may issue multiple Tree Connect commands in order to)14 3705 2 720 5436 t ( Multiple Session Set Up commands may also be issued in order to validate)13 3239(multiple shared resources.)2 1081 2 720 5556 t ( A)1 139( only one valid user at a time.)7 1245( - The \256rst release of LANMAN 1.0 will allow)9 1941( NOTE)1 332(additional users.)1 663 5 720 5676 t ( User Logoff and X command)5 1250(user established by a Session Set Up command may be logged off via the)13 3070 2 720 5796 t ( used to)2 347(\(after all \256les and other resources in use are closed\) and the Session Set Up and X command)17 3973 2 720 5916 t (validate another userid.)2 950 1 720 6036 t ( level security mode\) systems may execute a NET SHARE command which)11 3191(The permission-based \(user)2 1129 2 720 6276 t ( \(or whatever\) information in its user de\256nition \256les)8 2188(shares the entire system and set up name/password)7 2132 2 720 6396 t (in order to allow user/group based access to the shared \256les.)10 2478 1 720 6516 t ( share level security mode in)5 1195(The server will return whether it is executing in user level security mode or)13 3125 2 720 6756 t ( This)1 261( 1.0 dialect has been selected\).)5 1341(the extended Negotiate response protocol \(when the LANMAN)7 2718 3 720 6876 t (allows the consumer to know whether the)6 1772 1 720 6996 t 10 S1 f (")2536 6996 w 10 R f (User Logon)1 493 1 2577 6996 t 10 S1 f (")3070 6996 w 10 R f (information is needed in the Session Set Up)7 1885 1 3155 6996 t (protocol.)720 7116 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 13 13 %%Page: 14 14 save mark 14 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 14 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( user level security mode \(having negotiated core protocol with the consumer node\) will)13 3831(A server in)2 489 2 720 840 t (accept the core format of the Tree Connect command and do the following:)12 3106 1 720 960 t (If the consumer's node name is de\256ned as an account-name \(and the Tree)12 3032 1 1080 1140 t (Connect passwd matches\), the)3 1233 1 1080 1260 t 10 S1 f (")2346 1260 w 10 R f (user logon)1 427 1 2387 1260 t 10 S1 f (")2814 1260 w 10 R f (will be performed using)3 981 1 2888 1260 t (that value.)1 424 1 1080 1380 t (If the above fails, the server may fail the request or assign a default)13 2786 1 1080 1620 t (account name \(probably allowing limited access\).)5 2025 1 1080 1740 t (The value in smb)3 715 1 1080 1980 t 10 S f (_)1795 1980 w 10 R f (uid will then be ignored and all access will be validated)10 2299 1 1845 1980 t (assuming the account name selected above.)5 1775 1 1080 2100 t (The above allows servers in)4 1146 1 720 2280 t 10 S1 f (")1899 2280 w 10 R f (user level security mode)3 997 1 1940 2280 t 10 S1 f (")2937 2280 w 10 R f (to accommodate core protocol users.)4 1498 1 3011 2280 t 10 B f ( Protocols)1 432(5.3. Connection)1 705 2 720 2520 t 10 R f ( remembers the pathname's net-)4 1316( server)1 276( The)1 221(The NET SHARE command generates no network messages.)7 2507 4 720 2676 t (name and the password for later veri\256cation.)6 1830 1 720 2796 t ( generates a tree connect message containing the netname and the associated)11 3259(The NET USE command)3 1061 2 720 3036 t (password. If the server is in)5 1198 1 720 3156 t 10 S1 f (")1962 3156 w 10 R f (user level security mode)3 1030 1 2003 3156 t 10 S1 f (")3033 3156 w 10 R f ( account-password)1 763(the UID, account-name and)3 1159 2 3118 3156 t (will also be supplied via the)5 1184 1 720 3276 t 10 S1 f (")1942 3276 w 10 R f (Session Set Up)2 632 1 1983 3276 t 10 S1 f (")2615 3276 w 10 R f ( no Session Set Up protocol is received,)7 1691( the)1 160(protocol. If)1 495 3 2694 3276 t (the server will try the consumer node name as described above.)10 2610 1 720 3396 t ( the serving node veri\256es the name/password combination and)8 2627(On receiving the Tree Connect protocol,)5 1693 2 720 3636 t (returns an error code or an identi\256er \(the TID\).)8 1933 1 720 3756 t ( identi\256er \(TID\) identifying the)4 1302(The short-name is included in the Tree Connect request message and the)11 3018 2 720 3996 t (connection is returned in the smb)5 1404 1 720 4116 t 10 S f (_)2124 4116 w 10 R f ( the)1 161( meaning of this identi\256er \(TID\) is server speci\256c;)8 2128( The)1 228(tid \256eld.)1 349 4 2174 4116 t (requester must not associate any speci\256c meaning to it.)8 2264 1 720 4236 t ( which)1 282( it is an index into a server table)8 1372( Normally)1 453(The server makes whatever use of the TID it desires.)9 2213 4 720 4476 t (allows the server to optimize its response.)6 1721 1 720 4596 t ( being redirected \(speci\256ed in the NET)6 1630(The consumer must associate the identi\256er with the device name)9 2690 2 720 4836 t (USE\) and include the appropriate identi\256er \(TID\) for all network \256le accesses made.)12 3474 1 720 4956 t 10 B f ( ADMINISTRATION)1 944(5.4. USER)1 483 2 720 5316 t 10 R f (The LANMAN 1.0 extended protocol makes use of the)8 2348 1 720 5472 t 10 S1 f (")3111 5472 w 10 R f (Server Based)1 547 1 3152 5472 t 10 S1 f (")3699 5472 w 10 R f ( administration)1 622(method of user)2 635 2 3783 5472 t (and allows for)2 587 1 720 5592 t 10 S1 f (")1340 5592 w 10 R f (Consumer Based)1 688 1 1381 5592 t 10 S1 f (")2069 5592 w 10 R f (user administration.)1 802 1 2143 5592 t ( approach is similar to the consumer authentication scheme used by the core protocol.)13 3617(The server based)2 703 2 720 5832 t ( on the principle that the consumer processors may or may not be trusted to authenticate users.)16 3897(It is based)2 423 2 720 5952 t ( the LAN connects autonomous systems that are willing to make some subset of their)14 3688(It assumes that)2 632 2 720 6072 t (local \256les available to remote users.)5 1471 1 720 6192 t ( there may be centralized logon servers or some other means to guarantee that a glo-)15 3526(On some networks,)2 794 2 720 6432 t ( these networks, the consumer will merely introduce a new UID into the)12 2989( In)1 150( valid.)1 259(bal UID is unique and)4 922 4 720 6552 t ( is known as a)4 606( This)1 246( the server will know who it represents and that it is valid.)12 2437(SMB header and)2 689 4 720 6672 t 10 S1 f (")4733 6672 w 10 R f (consu-)4774 6672 w (mer based)1 415 1 720 6792 t 10 S1 f (")1135 6792 w 10 R f (approach in that the consumer is responsible for validating the users.)10 2823 1 1209 6792 t ( respond with ERRbaduid)3 1117(The protocol supports both types of administration in that the server may)11 3203 2 720 7032 t ( consumer send a Session Set Up command to)8 1923(which will require that the)4 1098 2 720 7152 t 10 S1 f (")3776 7152 w 10 R f (logon)3817 7152 w 10 S1 f (")4045 7152 w 10 R f (the user or it may just)5 919 1 4121 7152 t (accept a new UID from a)5 1044 1 720 7272 t 10 S1 f (")1797 7272 w 10 R f (trusted)1838 7272 w 10 S1 f (")2110 7272 w 10 R f (consumer node.)1 640 1 2184 7272 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 14 14 %%Page: 15 15 save mark 15 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 15 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Each server may maintain a list of valid users \(or invoke some other means of user validation\). It may)18 4320 1 720 840 t ( any and all transport connections)5 1495( can therefore accept)3 919( It)1 150(then verify every access by these users.)6 1756 4 720 960 t (offered.)720 1080 w (A UID is selected by the consumer and validated by the server via the Session Set Up protocol.)17 3941 1 720 1320 t ( this)1 187(This UID is used to both identify the user on all subsequent requests and prove to the server that)18 4133 2 720 1560 t (user has been authenticated.)3 1143 1 720 1680 t ( must associate the UID with the user and include the appropriate identi\256er \(UID\) for all)15 3739(The consumer)1 581 2 720 1920 t (network \256le accesses made by that user.)6 1647 1 720 2040 t ( is therefore NOT associated with a particular)7 1946(From the servers point of view the user identi\256er \(UID\))9 2374 2 720 2280 t ( UID may be used to access)6 1162( The)1 222( resource identi\256ed by the TID\) but the authenticated user.)9 2415(offer \(shared)1 521 4 720 2400 t (any shared resource which has been connected to via the Tree Connect protocol.)12 3301 1 720 2520 t 10 B f ( SECURITY)1 550(5.5. FILE)1 450 2 720 2880 t 10 R f (The speci\256c \256le security model enforced by a server in)9 2318 1 720 3036 t 10 S1 f (")3077 3036 w 10 R f ( mode)1 262(user level security)2 754 2 3118 3036 t 10 S1 f (")4134 3036 w 10 R f (is outside the scope)3 825 1 4215 3036 t ( types of access a user may expect are discussed here.)10 2220( the)1 188(of this document, however,)3 1114 3 720 3156 t (As was true in core protocol, the user must be prepared to be denied access.)14 3132 1 720 3396 t (With LANMAN 1.0 extended protocol and the server in)8 2435 1 720 3636 t 10 S1 f (")3205 3636 w 10 R f (user level security mode)3 1048 1 3246 3636 t 10 S1 f (")4294 3636 w 10 R f (the user should)2 655 1 4385 3636 t ( He/she)1 354( Tree structure.)2 644(expect to be allowed differing access to different \256les within the same shared)12 3322 3 720 3756 t (may be allowed to read one \256le only and yet be able to write to others in the same directory.)19 3829 1 720 3876 t ( of permissions)2 637(Files may have speci\256c access permissions for speci\256ed users or groups, and another set)13 3683 2 720 4116 t (for all other users.)3 750 1 720 4236 t ( directories on the server.)4 1055(The protocol provides no way to set or modify the permissions of the \256les and)14 3265 2 720 4476 t (It is expected that the)4 890 1 720 4596 t 10 S1 f (")1644 4596 w 10 R f (system administrator)1 845 1 1685 4596 t 10 S1 f (")2530 4596 w 10 R f (of the server will have a mechanism to set and modify per-)11 2436 1 2604 4596 t (missions.)720 4716 w (When \256les are created on the server, the \256les by default take on the permissions de\256ned by the parent)18 4320 1 720 4956 t (directory.)720 5076 w 10 B f ( ATTRIBUTES AND TYPES)3 1284(5.6. FILE)1 450 2 720 5436 t 10 R f ( Extended File Sharing Protocol may support additional attributes to those speci\256ed)11 3522(The LANMAN 1.0)2 798 2 720 5592 t (in the Core File Sharing Protocol.)5 1390 1 720 5712 t ( types to those speci\256ed)4 1019(The LANMAN 1.0 Extended File Sharing Protocol may support additional \256le)10 3301 2 720 5988 t ( LANMAN 1.0)2 655( following \256le types will be supported by the)8 1970( The)1 235(in the Core File Sharing Protocol.)5 1460 4 720 6108 t (implementation:)720 6228 w (named pipes)1 510 1 1080 6408 t (message mode named pipes)3 1136 1 1080 6528 t (I/O devices)1 465 1 1080 6648 t (mail slots)1 395 1 1080 6768 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 15 15 %%Page: 16 16 save mark 16 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 16 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (NAMED PIPES)1 694 1 720 840 t 10 R f ( cir-)1 175(Named pipes provide a new facility which allows pipes to be named and act like full duplex virtual)17 4145 2 720 996 t (cuits between a pair of endpoints.)5 1382 1 720 1116 t (Named Pipe Features)2 870 1 720 1272 t ( LANMAN 1.0 pipes to be named and accessed across a network.)11 2712(o Allows)1 539 2 720 1428 t ( be opened and read/written like standard \256les, i.e., using Open,)10 2753( created, named pipes can)4 1107(o Once)1 460 3 720 1704 t (Read, Write, and Close protocols.)4 1383 1 970 1824 t ( pipes support message as well as byte stream modes.)9 2208(o Named)1 538 2 720 2100 t ( lets processes read and write byte streams, exactly like byte conventional pipes,)12 3325( stream mode)2 556(o Byte)1 439 3 720 2376 t (except the pipe is full-duplex, emulating a virtual circuit.)8 2339 1 970 2496 t ( Message)1 419( read and write streams of messages \(as opposed to bytes\).)10 2451( mode lets processes)3 851(o Message)1 599 4 720 2772 t (mode is optimized for peer-to-peer communication between remote as well as local processes.)12 3857 1 970 2892 t ( pipes can be serially re-used by different clients \(closed and reopened by another process\).)14 3749(o Named)1 538 2 720 3168 t ( clients opening to)3 784( serving process can create multiple identically named pipes so that multiple)11 3214(o A)1 322 3 720 3444 t (that name will get distinct pipes to the serving process.)9 2265 1 970 3564 t ( if they were accessing a)5 1042( core consumers can access named pipes on a OS/2 server as)11 2550(o Unmodi\256ed)1 728 3 720 3840 t (sequential \256le.)1 591 1 970 3960 t 10 B f (I/O DEVICES)1 623 1 720 4476 t 10 R f ( provides)1 383( This)1 250( 1.0 extended protocol allows a device to be opened for driver level I/O.)13 3056(The LANMAN)1 631 4 720 4632 t ( such types of)3 609( Two)1 260( modems, scanners, etc..)3 1030(direct access to real time and interactive devices such as)9 2421 4 720 4752 t ( devices like modems or terminals and LPT - printer devices)10 2523(devices are de\256ned, COM - communication)5 1797 2 720 4872 t (which will be accessed directly \(not spooled\).)6 1875 1 720 4992 t 10 B f (5.6.1. REPRESENTATION)1 1220 1 720 5352 t 10 R f ( format \(bit0 is the least)5 997(On LANMAN 1.0 Extended Protocol servers the attribute \256eld has the following)11 3323 2 720 5508 t ( \256eld matches that used by OS/2.)6 1367( This)1 244(signi\256cant bit\).)1 614 3 720 5628 t (bit0 - read only \256le)4 798 1 1080 5808 t (bit1 -)1 222 1 1080 5928 t 10 S1 f (")1335 5928 w 10 R f (hidden)1376 5928 w 10 S1 f (")1648 5928 w 10 R f (\256le)1722 5928 w (bit2 - system \256le)3 694 1 1080 6048 t (bit3 - reserved)2 592 1 1080 6168 t (bit4 - directory)2 615 1 1080 6288 t ( archive \256le)2 487(bit5 -)1 255 2 1080 6408 t (bits6-15 - reserved \(must be zero\))5 1389 1 1080 6528 t (The LANMAN 1.0 Extended resource type \256eld de\256nes the additional resource types:)11 3526 1 720 6948 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 16 16 %%Page: 17 17 save mark 17 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 17 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (0 - Disk \256le or directory as de\256ned in the attribute \256eld.)11 2319 1 1311 900 t (1 - FIFO \(named pipe\))4 936 1 1311 1020 t (2 - Named pipe \(message mode\))5 1334 1 1311 1140 t (3 - LPT \(printer\) Device)4 1007 1 1311 1260 t (4 - COM \(communication\) Device)4 1413 1 1311 1380 t 10 B f (6. TIMEOUTS)1 681 1 720 1680 t 10 R f ( may)1 208( which)1 279( Actions)1 379(The LANMAN 1.0 extended protocol provides for actions timing out on the server.)12 3454 4 720 1836 t (time out include:)2 694 1 720 1956 t ( \(to I/O devices\))3 675(o Opens)1 505 2 720 2112 t ( \(on records within \256les\))4 1014(o Locks)1 494 2 720 2268 t ( \(on I/O devices\))3 697(o read/write)1 654 2 720 2424 t ( if a timeout)3 537(If a server implementation can not support timeouts, then an error can be returned just as)15 3783 2 720 2700 t (had occurred if the resource is not available immediately upon request.)10 2910 1 720 2820 t 10 B f (7. QUEUEING)1 686 1 720 3180 t 10 R f ( extended protocol provides for Queuing for Opens of I/O devices and for bytes)13 3504(The LANMAN 1.0)2 816 2 720 3336 t ( a server implementation can not support queuing and the)9 2474( If)1 144( \(unlocked\).)1 502(within a \256le to become free)5 1200 4 720 3456 t (resource being queued for is busy, simply respond with a)9 2388 1 720 3576 t 10 S1 f (")3145 3576 w 10 R f (busy)3186 3576 w 10 S1 f (")3375 3576 w 10 R f ( the queued request had)4 994(error just as if)3 593 2 3453 3576 t ( same thing could happen if queuing was supported but the queue remained full.)13 3305( The)1 221(timed out.)1 414 3 720 3696 t 10 B f ( HANDLING)1 583(8. EXCEPTION)1 736 2 720 3936 t 10 R f ( environment is an extension to the core)7 1679(Exception handling within the LANMAN 1.0 extended protocol)7 2641 2 720 4092 t ( is built upon the various environments supported by the \256le sharing protocol. When any)14 3735(techniques. It)1 585 2 720 4212 t (environment is dissolved \(in either an orderly or disorderly fashion\) all contained environments are dis-)14 4320 1 720 4332 t ( hierarchy of environments is summarized below:)6 2028(solved. The)1 507 2 720 4452 t (Server Based User Authentication:)3 1413 1 1080 4632 t (Virtual Circuit Environment)2 1149 1 1146 4872 t (TID)1278 4992 w (PID)1410 5112 w (FID)1410 5232 w ( a VC)2 287( When)1 323( seen from the summary, the Virtual Circuit \(VC\) is the key environment.)12 3265(As can be)2 445 4 720 5532 t ( the server processes \(or equivalent\) are terminated; the TIDs and)10 2719(environment \(the last VC\) is dissolved)5 1601 2 720 5652 t (FIDs are invalidated, and outstanding requests are dropped -- responses will not be generated.)13 3849 1 720 5772 t ( termination of all PIDs \(or equivalent\) created in support of that)11 2681(The termination of a TID will cause the)7 1639 2 720 6012 t ( destruction of PIDs and FIDs)5 1266( The)1 227( close of all FIDs opened using the TID as the access key.)12 2477(TID and)1 350 4 720 6132 t (has no affect on other environments.)5 1498 1 720 6252 t ( identical to those enforced by the core \256le sharing)9 2174(The rules for VC establishment and dissolution are)7 2146 2 720 6492 t (protocol with the following exceptions:)4 1609 1 720 6612 t ( is already convers-)3 811( a server receives a VC establishment request from a consumer with which it)13 3193(o If)1 316 3 720 6768 t ( as an)2 249(ing, it will be accepted)4 955 2 970 6888 t 10 S1 f (")2210 6888 w 10 R f (additional)2251 6888 w 10 S1 f (")2651 6888 w 10 R f ( The)1 224(VC to be used for rapid data movement protocols.)8 2088 2 2728 6888 t ( consumer intends this VC to be the \256rst VC)9 1874(negotiate protocol will then be used to indicate if the)9 2196 2 970 7008 t ( the \256rst VC, all other VCs)6 1153( the consumer speci\256ed that this was to be)8 1799( If)1 138(or as an additional VC.)4 980 4 970 7128 t (to that consumer may be aborted.)5 1371 1 970 7248 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 17 17 %%Page: 18 18 save mark 18 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 18 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( drop the VC to a consumer at any time if the consumer is generating illogical)15 3485( server may)2 513(o A)1 322 3 720 840 t ( server should \256rst return an error code to the consumer)10 2327( wherever possible the)3 931(requests. However,)1 812 3 970 960 t (indicating the cause of the VC abort.)6 1515 1 970 1080 t ( gets a hard error on a VC \(such as a send failure\) all VCs to that consumer may be)19 3635( a server)2 369(o If)1 316 3 720 1356 t (aborted.)970 1476 w ( be per-)2 324( server may drop the VC on last Tree Disconnect, however, we recommend that the drop)15 3674(o A)1 322 3 720 1752 t ( This)1 246( when the VC resource is needed.)6 1398(formed only after an automatic timeout time has passed or)9 2426 3 970 1872 t ( the VC will not need to be reestablished if activity occurs again)12 2827(will help performance in that)4 1243 2 970 1992 t (before the)1 409 1 970 2112 t 10 S1 f (")1412 2112 w 10 R f (timeout)1453 2112 w 10 S1 f (")1759 2112 w 10 R f (time.)1833 2112 w (Some server implementations will perform a)5 1834 1 970 2352 t 10 S1 f (")2839 2352 w 10 R f (soft timeout)1 491 1 2880 2352 t 10 S1 f (")3371 2352 w 10 R f ( thus no)2 339(where if no tree connects \(and)5 1254 2 3447 2352 t ( on a VC, it may age until the server elects to drop it allowing other)15 2952(other resources\) are in use)4 1118 2 970 2472 t (users access.)1 517 1 970 2592 t (Other implementations include a)3 1355 1 970 2832 t 10 S1 f (")2366 2832 w 10 R f (hard timeout)1 524 1 2407 2832 t 10 S1 f (")2931 2832 w 10 R f ( \(system)1 353(in that if a VC has not been used for a)10 1674 2 3013 2832 t ( be aborted destroying all Tree Connections etc.)7 1969(administrator de\256ned\) amount of time, the VC will)7 2101 2 970 2952 t (which are still on the session.)5 1217 1 970 3072 t (Others use an as needed basis where one or both of the above methods are used but only when)18 4070 1 970 3312 t (Virtual Circuits are needed.)3 1127 1 970 3432 t ( always expected to be able to reestablish in the case where the VC was dropped)15 3461(A consumer is)2 609 2 970 3672 t (with no valid tree connects \(and thus no other resources\) on it.)11 2578 1 970 3792 t ( another NET USE\) in)4 961(For Hard timeouts, the user may receive errors and have to reconnect \(do)12 3109 2 970 4032 t ( is similar to many)4 777( This)1 244(order to reestablish the session.)4 1283 3 970 4152 t 10 S1 f (")3307 4152 w 10 R f (switch)3348 4152 w 10 S1 f (")3609 4152 w 10 R f (timeouts on multi-user systems.)3 1297 1 3683 4152 t ( \256le will return the fact that a previous write)9 1860(On write behind activity, a subsequent write or close of the)10 2460 2 720 4428 t ( write behind failures are limited to hard disk errors and device out of space.)14 3158(failed. Normally)1 701 2 720 4548 t 10 B f ( PROTOCOL)1 606(9. EXTENDED)1 697 2 720 4908 t 10 R f ( of enhanced and new commands is de\256ned commencing at the smb)11 2825(The format)1 455 2 720 5064 t 10 S f (_)4000 5064 w 10 R f ( messages)1 412( All)1 196(wct \256eld.)1 382 3 4050 5064 t ( an error is encountered a server)6 1398( When)1 316(will include the standard SMB header de\256ned in section 1.0.)9 2606 3 720 5184 t ( header portion of the response \(i.e., smb)7 1735(may choose to return only the)5 1260 2 720 5304 t 10 S f (_)3715 5304 w 10 R f (wct and smb)2 535 1 3765 5304 t 10 S f (_)4300 5304 w 10 R f (bcc both contain)2 690 1 4350 5304 t (zero\).)720 5424 w 10 B f ( SERVICE ENHANCEMENTS)2 1367(9.1. CORE)1 505 2 720 5664 t 10 R f ( includes functional enhancements to some core services, and these)9 2773(The LANMAN 1.0 extended protocol)4 1547 2 720 5820 t ( to the service's existing semantics,)5 1490( to services can only add)5 1064( Enhancements)1 656(are de\256ned in this section.)4 1110 4 720 5940 t ( introduced and new parameters added, but parameters can-)8 2477(i.e., additional values for parameters may be)6 1843 2 720 6060 t ( All)1 199( or used for a different purpose.)6 1338(not be removed)2 649 3 720 6180 t 10 S1 f (")2944 6180 w 10 R f (core)2985 6180 w 10 S1 f (")3156 6180 w 10 R f (requests must continue to function with the)6 1805 1 3235 6180 t ( these rules cannot be followed a new command must be de\256ned.)11 2689( If)1 132(enhanced command.)1 828 3 720 6300 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 18 18 %%Page: 19 19 save mark 19 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 19 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.1.1. NEGOTIATE)1 898 1 720 840 t 10 R f (Request Format is unchanged in order to remain compatible with earlier versions and the core protocol.)15 4252 1 720 996 t (Enhanced Response Format \(returned only when LANMAN 1.0 dialect is selected\):)10 3432 1 720 1152 t (BYTE smb)1 578 1 892 1332 t 10 S f (_)1470 1332 w 10 R f ( value = 13 */)4 582(wct; /*)1 671 2 1520 1332 t (WORD smb)1 622 1 848 1452 t 10 S f (_)1470 1452 w 10 R f ( index identifying dialect selected */)5 1491(index; /*)1 671 2 1520 1452 t ( smb)1 317(+ WORD)1 394 2 759 1572 t 10 S f (_)1470 1572 w 10 R f ( security mode:)2 632(secmode; /*)1 671 2 1520 1572 t ( */)1 144( level security.)2 601( Share)1 293(bit 0 - 1 = User level security, 0 =)9 1421 4 2113 1692 t ( not encrypt passwords */)4 1053( do)1 166(bit 1 - 1 = encrypt passwords , 0 =)9 1438 3 2113 1812 t ( smb)1 317(+ WORD)1 394 2 759 1932 t 10 S f (_)1470 1932 w 10 R f ( min */)2 300( 1k)1 166( max transmit buffer size server supports,)6 1703(maxxmt; /*)1 671 4 1520 1932 t ( smb)1 317(+ WORD)1 394 2 759 2052 t 10 S f (_)1470 2052 w 10 R f ( max pending multiplexed requests server supports */)7 2190(maxmux; /*)1 671 2 1520 2052 t ( smb)1 317(+ WORD)1 394 2 759 2172 t 10 S f (_)1470 2172 w 10 R f ( max VCs per server/consumer session supported */)7 2128(maxvcs; /*)1 671 2 1520 2172 t ( smb)1 317(+ WORD)1 394 2 759 2292 t 10 S f (_)1470 2292 w 10 R f ( block read/write mode support :)5 1341(blkmode; /*)1 671 2 1520 2292 t (bit 0 - Read Block Raw supported \(65,535 bytes max\).)9 2256 1 2113 2412 t (bit 1 - Write Block Raw supported \(65,535 bytes max\). */)10 2389 1 2113 2532 t (+DWORD smb)1 750 1 720 2652 t 10 S f (_)1470 2652 w 10 R f ( Session Key \(unique token identifying session\) */)7 2069(sesskey; /*)1 671 2 1520 2652 t ( smb)1 317(+ WORD)1 394 2 759 2772 t 10 S f (_)1470 2772 w 10 R f (srv)1520 2772 w 10 S f (_)1642 2772 w 10 R f ( server's current time \(hhhhh mmmmmm xxxxx\))6 2007(time; /*)1 499 2 1692 2772 t (where 'xxxxx' is in two second increments */)7 1878 1 2113 2892 t ( smb)1 317(+ WORD)1 394 2 759 3012 t 10 S f (_)1470 3012 w 10 R f (srv)1520 3012 w 10 S f (_)1642 3012 w 10 R f ( server's current date \(yyyyyyy mmmm ddddd\) */)7 2050(date; /*)1 499 2 1692 3012 t ( smb)1 317(+ WORD)1 394 2 759 3132 t 10 S f (_)1470 3132 w 10 R f (srv)1520 3132 w 10 S f (_)1642 3132 w 10 R f ( server's current time zone */)5 1206(tzone; /*)1 499 2 1692 3132 t (+DWORD smb)1 750 1 720 3252 t 10 S f (_)1470 3252 w 10 R f ( reserved */)2 481(rsvd; /*)1 671 2 1520 3252 t (WORD smb)1 622 1 848 3372 t 10 S f (_)1470 3372 w 10 R f ( value = \(size of smb)5 875(bcc; /*)1 671 2 1520 3372 t 10 S f (_)3066 3372 w 10 R f (cryptkey\) */)1 493 1 3116 3372 t ( smb)1 317(+ BYTE)1 350 2 803 3492 t 10 S f (_)1470 3492 w 10 R f ( Key used for password encryption */)6 1545(cryptkey[]; /*)1 671 2 1520 3492 t (+ Additional parameters)2 987 1 720 3672 t (In addition, if bit ZERO \(low order bit\) of smb)9 2042 1 720 3912 t 10 S f (_)2762 3912 w 10 R f ( in the Negotiate)3 723(\257g is set \(returned\) from the server)6 1505 2 2812 3912 t ( that the server supports the)5 1251(response protocol header, this indicates)4 1696 2 720 4032 t 10 S1 f (")3722 4032 w 10 R f (sub dialect)1 460 1 3763 4032 t 10 S1 f (")4223 4032 w 10 R f (consisting of the)2 721 1 4319 4032 t (LockandRead and WriteandUnlock protocols.)3 1859 1 720 4152 t (Service Enhancement:)1 903 1 720 4428 t (The dialect string for the LANMAN 1.0 extended protocol speci\256ed in this document is:)13 3639 1 720 4584 t (LANMAN1.0)970 4824 w ( of whether or not the)5 927(Having selected LANMAN 1.0 as the dialect, the consumer needs to be informed)12 3393 2 720 5064 t (server is executing in)3 932 1 720 5184 t 10 S1 f (")1704 5184 w 10 R f (share level security mode)3 1098 1 1745 5184 t 10 S1 f (")2843 5184 w 10 R f (or)2936 5184 w 10 S1 f (")3071 5184 w 10 R f (user level security mode)3 1051 1 3112 5184 t 10 S1 f (")4163 5184 w 10 R f (in order to format)3 785 1 4255 5184 t (appropriate Session Set Up protocols.)4 1539 1 720 5304 t ( read directly into user space\))5 1222(Whether or not Read Block Raw \(where up to 65,535 bytes of data may be)14 3098 2 720 5544 t (is supported is returned.)3 984 1 720 5664 t ( up to 65,535 bytes of data may be written directly from user)12 2607(Whether or not Write Block Raw \(where)6 1713 2 720 5904 t (space\) is supported is returned.)4 1271 1 720 6024 t (The smb)1 364 1 720 6264 t 10 S f (_)1084 6264 w 10 R f ( added to a session \(via the Session Set Up)9 1869(sesskey value is used to validate additional VCs)7 2037 2 1134 6264 t (protocol\).)720 6384 w (The minimum server SMB buffer size \(smb)6 1814 1 720 6624 t 10 S f (_)2534 6624 w 10 R f ( provides suf\256cient room)3 1035( This)1 247(maxxmt\) is 1024 bytes \(1k\).)4 1174 3 2584 6624 t (for most protocols including the simple)5 1615 1 720 6744 t 10 S1 f (")2368 6744 w 10 R f (request-response)2409 6744 w 10 S1 f (")3079 6744 w 10 R f (mode of the IOCTL protocol.)4 1211 1 3153 6744 t ( smb)1 203(Note that)1 379 2 720 6984 t 10 S f (_)1302 6984 w 10 R f ( Thus)1 269(maxxmt returned in the NEGOTIATE response is the server buffer size supported.)11 3419 2 1352 6984 t ( larger)1 268( size may be)3 532( This)1 248(this is the max SMB message size which the consumer can send to the server.)14 3272 4 720 7104 t (than smb)1 380 1 720 7224 t 10 S f (_)1100 7224 w 10 R f ( SETUP and X protocol)4 1023( SESSION)1 481( server from the consumer via the)6 1443(bufsize returned to the)3 943 4 1150 7224 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 19 19 %%Page: 20 20 save mark 20 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 20 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (which is the maximum SMB message size which the server may send to the consumer.)14 3583 1 720 840 t ( smb)1 225(Thus if the server's buffer size \(as indicated in)8 2112 2 720 1080 t 10 S f (_)3057 1080 w 10 R f (maxxmt on NEGOTIATE\) were 4k and the)6 1933 1 3107 1080 t ( in smb)2 331(consumer's buffer size were only 2k \(as indicated)7 2119 2 720 1200 t 10 S f (_)3170 1200 w 10 R f ( The)1 231(bufsize on SESSION SETUP and X\),)5 1589 2 3220 1200 t ( \(standard\) write requests but must only request up to 2k for \(standard\))12 3039(consumer could send up to 4k)5 1281 2 720 1320 t ( max transaction response from the server would also be 2k.)10 2478( The)1 221(read requests.)1 556 3 720 1440 t (LANMAN 1.0 will use a cryptkey of 8 bytes.)8 1878 1 720 1680 t (The date is in the following format:)6 1469 1 720 2160 t (bits:)786 2280 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 2400 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 2520 t ( d d d)3 225( d)1 150( d)1 60( m m)2 150( m)1 150( m)1 90( y y)2 150( y)1 150(y y y y)3 275 9 1257 2640 t (where:)720 2760 w (y - bit of year 0-119 \(1980-2099\))6 1373 1 918 2880 t (m - bit of month 1-12)5 904 1 918 3000 t (d - bit of day 1-31)5 764 1 918 3120 t (The time is in the following format:)6 1481 1 720 3600 t (bits:)786 3720 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 3840 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 3960 t ( x x x)3 225( x)1 150( x)1 60( m m)2 150( m)1 150( m m)2 150( m)1 90( h)1 150(h h h h)3 275 9 1257 4080 t (where:)720 4200 w (h - bit of hour \(0-23\))5 869 1 918 4320 t (m - bit of minute \(0-59\))5 992 1 918 4440 t (x - bit of 2 second increment)6 1196 1 918 4560 t (Negotiate may generate the following errors.)5 1830 1 720 5076 t (Error Class ERRDOS)2 888 1 1080 5256 t 10 S1 f (<)1146 5496 w 10 R f (implementation speci\256c)1 966 1 1202 5496 t 10 S1 f (>)2168 5496 w 10 R f (Error Class ERRSRV)2 883 1 1080 5736 t (ERRerror)1146 5976 w 10 S1 f (<)1146 6096 w 10 R f (implementation speci\256c)1 966 1 1202 6096 t 10 S1 f (>)2168 6096 w 10 R f (Error Class ERRHRD)2 899 1 1080 6336 t 10 S1 f (<)1146 6576 w 10 R f (implementation speci\256c)1 966 1 1202 6576 t 10 S1 f (>)2168 6576 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 20 20 %%Page: 21 21 save mark 21 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 21 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( SERVICES)1 534(9.2. ADDITIONAL)1 866 2 720 840 t 10 R f ( all functions considered necessary to provide transparency)7 2498(This LANMAN 1.0 Extension Set includes)5 1822 2 720 996 t ( as a guide)3 466( requirements have been used)4 1240( OS/2)1 279(for all essential or frequently used \256le access functions.)8 2335 4 720 1116 t ( in more)2 365(for selecting the services included here; when other common operating systems are considered)12 3955 2 720 1236 t (detail it may prove necessary to expand this set.)8 1975 1 720 1356 t (The protocols in this section are presented in alphabetical order.)9 2628 1 720 1512 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 21 21 %%Page: 22 22 save mark 22 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 22 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.1. COPY)1 574 1 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 3 */)4 532(wct; /*)1 710 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( second \(destination\) path tid */)5 1303(tid2; /*)1 710 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( what to do if destination \256le exists */)8 1570(ofun; /*)1 710 2 1458 1416 t (WORD smb)1 622 1 786 1536 t 10 S f (_)1408 1536 w 10 R f ( \257ags to control copy operations:)5 1353(\257ags; /*)1 710 2 1458 1536 t (bit 0 - destination must be a \256le.)7 1345 1 2090 1656 t (bit 1 - destination must be a directory.)7 1577 1 2090 1776 t (bit 2 - copy destination mode: 0 = binary, 1 = ASCII.)11 2213 1 2090 1896 t (bit 3 - copy source mode: 0 = binary, 1 = ASCII.)11 2034 1 2090 2016 t (bit 4 - verify all writes. */)6 1072 1 2090 2136 t (WORD smb)1 622 1 786 2256 t 10 S f (_)1408 2256 w 10 R f ( minimum value = 2 */)5 955(bcc; /*)1 710 2 1458 2256 t (BYTE smb)1 578 1 830 2376 t 10 S f (_)1408 2376 w 10 R f ( pathname of source \256le */)5 1102(path[]; /*)1 710 2 1458 2376 t (BYTE smb)1 578 1 830 2496 t 10 S f (_)1408 2496 w 10 R f (new)1458 2496 w 10 S f (_)1624 2496 w 10 R f ( pathname of destination \256le */)5 1281(path[]; /*)1 494 2 1674 2496 t (Response Format:)1 733 1 720 2676 t (BYTE smb)1 578 1 830 2856 t 10 S f (_)1408 2856 w 10 R f ( value = 1 */)4 532(wct; /*)1 565 2 1458 2856 t (WORD smb)1 622 1 786 2976 t 10 S f (_)1408 2976 w 10 R f ( number of \256les copied */)5 1064(cct; /*)1 565 2 1458 2976 t (WORD smb)1 622 1 786 3096 t 10 S f (_)1408 3096 w 10 R f ( minimum value = 0 */)5 955(bcc; /*)1 565 2 1458 3096 t (BYTE smb)1 578 1 830 3216 t 10 S f (_)1408 3216 w 10 R f ( pathname of \256le where error occured - ASCIIZ */)9 2080(err\256le[]; /*)1 565 2 1458 3216 t (Service:)720 3396 w (The \256le referenced by smb)4 1129 1 720 3672 t 10 S f (_)1849 3672 w 10 R f ( to smb)2 327(path is copied)2 585 2 1899 3672 t 10 S f (_)2811 3672 w 10 R f (new)2861 3672 w 10 S f (_)3027 3672 w 10 R f ( smb)1 208(path. Both)1 466 2 3077 3672 t 10 S f (_)3751 3672 w 10 R f (path and smb)2 565 1 3801 3672 t 10 S f (_)4366 3672 w 10 R f (new)4416 3672 w 10 S f (_)4582 3672 w 10 R f (path must)1 408 1 4632 3672 t ( server must do any necessary access permission checks on both the)11 2906( The)1 231( on the server.)3 619(refer to paths)2 564 4 720 3792 t (source and the destination paths.)4 1333 1 720 3912 t (The TID in smb)3 692 1 720 4152 t 10 S f (_)1412 4152 w 10 R f ( smb)1 210(tid of the header is associated with the source while)9 2213 2 1462 4152 t 10 S f (_)3885 4152 w 10 R f (tid2 is associated with the)4 1105 1 3935 4152 t ( that smb)2 387( Note)1 262( the same or differing valid TIDs.)6 1399( TID \256elds may contain)4 993(destination. These)1 771 5 720 4272 t 10 S f (_)4532 4272 w 10 R f (tid2 can be)2 458 1 4582 4272 t (set to -1 indicating that this is to be the same TID as the TID in smb)16 2859 1 720 4392 t 10 S f (_)3579 4392 w 10 R f ( use)1 168( allows)1 295( This)1 245(tid of the header.)3 703 4 3629 4392 t (of the copy protocol with TCONandX.)5 1588 1 720 4512 t ( \256les speci\256ed)2 598( Source)1 348( Cards are permitted.)3 873( Wild)1 270(The source path must refer to an existing \256le or \256les.)10 2231 5 720 4752 t ( an error is encountered, the expanded)6 1652( If)1 146( are processed until an error is encountered.)7 1893(by Wild Cards)2 629 4 720 4872 t (name of the \256le is returned in smb)7 1424 1 720 4992 t 10 S f (_)2144 4992 w 10 R f ( error code is returned in smb)6 1223(err\256le. The)1 484 2 2194 4992 t 10 S f (_)3901 4992 w 10 R f (err.)3951 4992 w (The destination path can refer to either a \256le or a directory.)11 2443 1 720 5232 t ( smb)1 210(The destination can be required to be a \256le or a directory by)12 2593 2 720 5472 t 10 S f (_)3523 5472 w 10 R f ( neither bit is set, the)5 923( If)1 142(\257ags bits.)1 402 3 3573 5472 t (destination may be either a \256le or a directory.)8 1880 1 720 5592 t (Wild Cards are not permitted in the destination path.)8 2165 1 720 5832 t ( destination \256le will either be truncated)6 1619(If the destination is a \256le and the source contains Wild Cards, the)12 2701 2 720 6072 t (or appended to at the start of the operation \(depending on bits in smb)13 2885 1 720 6192 t 10 S f (_)3605 6192 w 10 R f ( \256les will then)3 597( Subsiquent)1 512(ofun\) .)1 276 3 3655 6192 t (be appended to the \256le.)4 961 1 720 6312 t (smb)720 6792 w 10 S f (_)887 6792 w 10 R f (ofun bit \256eld mapping:)3 944 1 937 6792 t (bits:)786 6912 w ( 1)1 70( 1)1 140(1 1 1 1)3 260 3 1220 7032 t ( 2 1 0)3 210( 3)1 140( 6 5 4)3 210( 7)1 140( 0 9 8)3 210( 1)1 140(5 4 3 2)3 260 7 1220 7152 t ( OO)1 162( r)1 70( r)1 123( C)1 87( r r)2 140( r)1 140( r r r)3 210( r)1 140(r r r r)3 243 9 1228 7272 t ( s)1 64( k)1 79( r)1 61( o)1 59( w)1 92( t)1 62( e)1 56( N)1 162( t)1 68( f)1 61( o)1 76( s)1 64( o)1 79( r)1 64( c)1 78( i)1 39( M)1 140( 9 8 8)3 210( 1)1 153( ,)1 57( 9 8 7)3 210( 1)1 153( ,)1 57( n)1 70( o)1 81( i)1 70( t)1 62( a)1 76( r)1 61( o)1 70( p)1 79( r)1 61( o)1 62( C)1 159( t)1 68( f)1 61( o)1 76( s)1 64( o)1 79( r)1 64( c)1 78( i)1 39( M)1 171( t)1 59( h)1 70( g)1 81( i)1 68( r)1 61( p y)2 140(C o)1 129 50 721 7680 t cleartomark showpage restore %%EndPage: 22 22 %%Page: 23 23 save mark 23 pagesetup 10 R f ( -)1 70( -)1 5262(- -)1 103 3 18 40 t ( 9 8 8)3 210( 1)1 153( ,)1 57( 7)1 149( r)1 64( e)1 67( b)1 56( m)1 87( e)1 67( v)1 70( o)1 59( N)1 920( -)1 131( 3)1 70( 2)1 149( -)1 407( s)1 64( n)1 70( o)1 81( i)1 65( s)1 64( n)1 73( e)1 78( t)1 59( x)1 65( E)1 156( l)1 59( c o)2 140( t o)2 140( o)1 79( r)1 58( P)1 135(SM B)1 201 33 727 520 t (where:)860 840 w (O - Open \(action to be taken if destination \256le exists\).)10 2230 1 1210 960 t (0 - Fail.)2 330 1 1350 1080 t (1 - Append \256le.)3 651 1 1350 1200 t (2 - Truncate \256le.)3 689 1 1350 1320 t (r - reserved \(must be zero\).)5 1119 1 1210 1560 t (C - Create \(action to be taken if destination \256le does not exist\).)12 2607 1 1210 1800 t (0 -- Fail.)2 363 1 1350 1920 t (1 -- Create \256le.)3 628 1 1350 2040 t (Copy may generate the following errors.)5 1659 1 720 2400 t (Error Class ERRDOS)2 888 1 1080 2580 t (ERRbad\256le)1146 2820 w (ERRbadpath)1146 2940 w (ERR\256leexists)1146 3060 w (ERRnoaccess)1146 3180 w (ERRno\256les)1146 3300 w (ERRbadshare)1146 3420 w 10 S1 f (<)1146 3540 w 10 R f (implementation speci\256c)1 966 1 1202 3540 t 10 S1 f (>)2168 3540 w 10 R f (Error Class ERRSRV)2 883 1 1080 3780 t (ERRerror)1146 4020 w (ERRinvnid)1146 4140 w (ERRnosupport)1146 4260 w (ERRaccess)1146 4380 w 10 S1 f (<)1146 4500 w 10 R f (implementation speci\256c)1 966 1 1202 4500 t 10 S1 f (>)2168 4500 w 10 R f (Error Class ERRHRD)2 899 1 1080 4740 t 10 S1 f (<)1146 4980 w 10 R f (implementation speci\256c)1 966 1 1202 4980 t 10 S1 f (>)2168 4980 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 23 23 %%Page: 24 24 save mark 24 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 24 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.2. ECHO)1 586 1 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 01 */)4 582(wct; /*)1 510 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( number of times to echo data back */)8 1567(reverb; /*)1 510 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( minimum value = 4 */)5 955(bcc; /*)1 510 2 1458 1416 t (BYTE smb)1 578 1 830 1536 t 10 S f (_)1408 1536 w 10 R f ( data to echo back */)5 863(data[]; /*)1 510 2 1458 1536 t (Response Format \(one for each echo requested\):)6 1976 1 720 1872 t (BYTE smb)1 578 1 830 2052 t 10 S f (_)1408 2052 w 10 R f ( value = 1 */)4 532(wct; /*)1 488 2 1458 2052 t (WORD smb)1 622 1 786 2172 t 10 S f (_)1408 2172 w 10 R f ( sequence number of this echo */)6 1362(seq; /*)1 488 2 1458 2172 t (WORD smb)1 622 1 786 2292 t 10 S f (_)1408 2292 w 10 R f ( minimum value = 4 */)5 955(bcc; /*)1 488 2 1458 2292 t (BYTE smb)1 578 1 830 2412 t 10 S f (_)1408 2412 w 10 R f ( echo data */)3 531(data[]; /*)1 488 2 1458 2412 t (Service:)720 2748 w ( is also used to)4 633( It)1 130( test the VC and to see if the server is still responding.)12 2294(The ECHO protocol is used to)5 1263 4 720 2904 t (see if the TID is still valid.)6 1117 1 720 3024 t ( server will)2 505( The)1 241( may be active on the multiplexed VC.)7 1739(When this protocol is used, other requests)6 1835 4 720 3264 t (respond with the zero or more response protocol messages as requested in smb)12 3240 1 720 3384 t 10 S f (_)3960 3384 w 10 R f (reverb.)4010 3384 w ( smb)1 209( If)1 141(Each response echos the data sent \(note - data size may be zero\).)12 2782 3 720 3624 t 10 S f (_)3852 3624 w 10 R f (reverb is zero, no response)4 1138 1 3902 3624 t (will be sent.)2 502 1 720 3744 t ( \256eld in smb)3 534(There is no need for a valid TID)7 1365 2 720 3984 t 10 S f (_)2619 3984 w 10 R f (tid for the success of this protocol \(a null TID is de\256ned)11 2371 1 2669 3984 t ( TID is present, then the server must check the TID for validity because the)14 3175( if a)2 181( However,)1 461(as 0xFFFF\).)1 503 4 720 4104 t ( error class and)3 696( ERRSRV)1 478( TID is still valid.)4 829(consumer may be sending this protocol to see if the)9 2317 4 720 4224 t (ERRinvnid error code should be set in the protocol response if the TID is invalid.)14 3367 1 720 4344 t (The \257ow for the ECHO protocol is:)6 1469 1 720 4584 t (consumer)1080 4824 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 906 1 1513 4824 t 10 R f (ECHO request \(data\))2 858 1 2456 4824 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1057 2 3347 4824 t 10 R f (server)4437 4824 w (consumer)1080 4944 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261<)1 780(\261 <)1 61 2 1501 4944 t 10 R f (ECHO response 1 \(data\))3 1002 1 2375 4944 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 933(\261 <)1 61 2 3410 4944 t 10 R f (server)4437 4944 w (consumer)1080 5064 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261<)1 780(\261 <)1 61 2 1501 5064 t 10 R f (ECHO response 2 \(data\))3 1002 1 2375 5064 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 933(\261 <)1 61 2 3410 5064 t 10 R f (server)4437 5064 w ( .)1 1787(. .)1 1813 2 1080 5184 t (consumer)1080 5304 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261<)1 780(\261 <)1 61 2 1501 5304 t 10 R f (ECHO response n \(data\))3 1002 1 2375 5304 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 933(\261 <)1 61 2 3410 5304 t 10 R f (server)4437 5304 w (ECHO may generate the following errors.)5 1714 1 720 5580 t (Error Class ERRDOS)2 888 1 1080 5760 t 10 S1 f (<)1146 6000 w 10 R f (implementation speci\256c)1 966 1 1202 6000 t 10 S1 f (>)2168 6000 w 10 R f (Error Class ERRSRV)2 883 1 1080 6240 t (ERRerror)1146 6480 w (ERRnosupport)1146 6600 w 10 S1 f (<)1146 6720 w 10 R f (implementation speci\256c)1 966 1 1202 6720 t 10 S1 f (>)2168 6720 w 10 R f (Error Class ERRHRD)2 899 1 1080 6960 t 10 S1 f (<)1146 7200 w 10 R f (implementation speci\256c)1 966 1 1202 7200 t 10 S1 f (>)2168 7200 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 24 24 %%Page: 25 25 save mark 25 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 25 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.3. FIND)1 535 1 720 840 t 10 R f (Request Format: \(same as core Search Protocol\))6 1972 1 720 996 t (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 2 */)4 532(wct; /*)1 804 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( max number of entries to \256nd */)7 1369(count; /*)1 804 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( search attribute */)3 764(attr; /*)1 804 2 1458 1416 t (WORD smb)1 622 1 786 1536 t 10 S f (_)1408 1536 w 10 R f ( minimum value = 5 */)5 955(bcc; /*)1 804 2 1458 1536 t (BYTE smb)1 578 1 830 1656 t 10 S f (_)1408 1656 w 10 R f ( */)1 111( \(04\))1 232( ASCII)1 294(ident1; /*)1 804 4 1458 1656 t (BYTE smb)1 578 1 830 1776 t 10 S f (_)1408 1776 w 10 R f ( \256lename \(may contain global characters\) */)6 1805(pathname[]; /*)1 804 2 1458 1776 t (BYTE smb)1 578 1 830 1896 t 10 S f (_)1408 1896 w 10 R f ( Variable Block \(05\) */)4 958(ident2; /*)1 804 2 1458 1896 t (WORD smb)1 622 1 786 2016 t 10 S f (_)1408 2016 w 10 R f ( resume key length \(zero if)5 1112(keylen; /*)1 804 2 1458 2016 t 10 S1 f (")3407 2016 w 10 R f (Find First)1 401 1 3448 2016 t 10 S1 f (")3849 2016 w 10 R f (\) */)1 144 1 3890 2016 t (BYTE smb)1 578 1 830 2136 t 10 S f (_)1408 2136 w 10 R f (resumekey[*]; /*)1 804 1 1458 2136 t 10 S1 f (")2295 2136 w 10 R f (Find Next)1 411 1 2336 2136 t 10 S1 f (")2747 2136 w 10 R f (key \(* = value of smb)5 914 1 2821 2136 t 10 S f (_)3735 2136 w 10 R f (keylen\) */)1 410 1 3785 2136 t (Response Format: \(same as core Search Protocol\))6 2033 1 720 2472 t (BYTE smb)1 578 1 830 2652 t 10 S f (_)1408 2652 w 10 R f ( value = 1 */)4 532(wct; /*)1 544 2 1458 2652 t (WORD smb)1 622 1 786 2772 t 10 S f (_)1408 2772 w 10 R f ( number of entries found */)5 1130(count; /*)1 544 2 1458 2772 t (WORD smb)1 622 1 786 2892 t 10 S f (_)1408 2892 w 10 R f ( minimum value = 3 */)5 955(bcc; /*)1 544 2 1458 2892 t (BYTE smb)1 578 1 830 3012 t 10 S f (_)1408 3012 w 10 R f ( Variable Block \(05\) */)4 958(ident; /*)1 544 2 1458 3012 t (WORD smb)1 622 1 786 3132 t 10 S f (_)1408 3132 w 10 R f ( data length */)3 593(datalen; /*)1 544 2 1458 3132 t (BYTE smb)1 578 1 830 3252 t 10 S f (_)1408 3252 w 10 R f ( directory entries */)3 803(data[*]; /*)1 544 2 1458 3252 t (Directory Information Entry \(dir)3 1324 1 720 3588 t 10 S f (_)2044 3588 w 10 R f (info\) Format: \(same as core Search Protocol\))6 1844 1 2094 3588 t (BYTE \256nd)1 567 1 869 3768 t 10 S f (_)1436 3768 w 10 R f (buf)1486 3768 w 10 S f (_)1619 3768 w 10 R f ( reserved \(resume)2 724(reserved[21]; /*)1 764 2 1669 3768 t 10 S f (_)3157 3768 w 10 R f (key\) */)1 288 1 3207 3768 t (BYTE \256nd)1 567 1 869 3888 t 10 S f (_)1436 3888 w 10 R f (buf)1486 3888 w 10 S f (_)1619 3888 w 10 R f ( attribute */)2 477(attr; /*)1 764 2 1669 3888 t (WORD \256nd)1 611 1 825 4008 t 10 S f (_)1436 4008 w 10 R f (buf)1486 4008 w 10 S f (_)1619 4008 w 10 R f ( modi\256cation time \(hhhhh mmmmmm xxxxx\))5 1883(time; /*)1 764 2 1669 4008 t (where 'xxxxx' is in two second increments */)7 1878 1 2355 4128 t (WORD \256nd)1 611 1 825 4248 t 10 S f (_)1436 4248 w 10 R f (buf)1486 4248 w 10 S f (_)1619 4248 w 10 R f ( modi\256cation date \(yyyyyyy mmmm ddddd\) */)6 1926(date; /*)1 764 2 1669 4248 t (DWORD \256nd)1 683 1 753 4368 t 10 S f (_)1436 4368 w 10 R f (buf)1486 4368 w 10 S f (_)1619 4368 w 10 R f ( \256le size */)3 460(size; /*)1 764 2 1669 4368 t (BYTE \256nd)1 567 1 869 4488 t 10 S f (_)1436 4488 w 10 R f (buf)1486 4488 w 10 S f (_)1619 4488 w 10 R f ( \256le name -- ASCII \(null terminated\) */)7 1629(pname[13]; /*)1 764 2 1669 4488 t (The resume)1 476 1 720 4824 t 10 S f (_)1196 4824 w 10 R f (key has the following format:)4 1214 1 1246 4824 t (BYTE sr)1 483 1 786 5004 t 10 S f (_)1269 5004 w 10 R f ( reserved:)1 398(res; /*)1 638 2 1319 5004 t ( - reserved for consumer use)5 1172(bit 7)1 288 2 1945 5124 t ( - reserved for system use \(must be preserved\))8 1903(bit 5,6)1 297 2 1945 5244 t (bits 0-4 - reserved for server \(must be preserved\) */)9 2124 1 1945 5364 t (BYTE sr)1 483 1 786 5484 t 10 S f (_)1269 5484 w 10 R f ( Format:)1 383( pathname sought.)2 746(name[11]; /*)1 638 3 1319 5484 t (0-3 character extension, left justi\256ed \(in last 3 chars\) */)9 2279 1 1945 5604 t (BYTE sr)1 483 1 786 5724 t 10 S f (_)1269 5724 w 10 R f ( uniquely identi\256es \256nd through \256nd close */)7 1854(\256ndid[1]; /*)1 638 2 1319 5724 t (BYTE sr)1 483 1 786 5844 t 10 S f (_)1269 5844 w 10 R f ( available for server use \(must be non-zero\) */)8 1903(server[4]; /*)1 638 2 1319 5844 t (BYTE sr)1 483 1 786 5964 t 10 S f (_)1269 5964 w 10 R f ( reserved for consumer use */)5 1217(res[4]; /*)1 638 2 1319 5964 t (Service:)720 6300 w ( entries matching the speci\256ed \256le pathname.)6 1944(The Find protocol \256nds the directory entry or group of)9 2376 2 720 6456 t (The \256lename portion of the pathname may contain global \(wild card\) characters.)11 3303 1 720 6576 t ( protocols)1 415( The)1 231(The Find protocol is used to match the \256nd OS/2 system call.)11 2648 3 720 6816 t 10 S1 f (")4057 6816 w 10 R f (Find)4098 6816 w 10 S1 f (")4326 6816 w 10 R f (,)4367 6816 w 10 S1 f (")4436 6816 w 10 R f (Find Unique)1 522 1 4477 6816 t 10 S1 f (")4999 6816 w 10 R f (and)720 6936 w 10 S1 f (")909 6936 w 10 R f (Find Close)1 457 1 950 6936 t 10 S1 f (")1407 6936 w 10 R f ( protocols may be used in)5 1119( These)1 315( \(or searching\) a directory.)4 1136(are methods of reading)3 977 4 1493 6936 t (place of the core)3 727 1 720 7056 t 10 S1 f (")1494 7056 w 10 R f (Search)1535 7056 w 10 S1 f (")1806 7056 w 10 R f ( may be)2 362( There)1 313( been negotiated.)2 725(protocol when LANMAN 1.0 dialect has)5 1746 4 1894 7056 t (cases where the Search protocol will still be used.)8 2052 1 720 7176 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 25 25 %%Page: 26 26 save mark 26 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 26 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( as the core)3 505(The format of the Find protocol is the same)8 1873 2 720 840 t 10 S1 f (")3141 840 w 10 R f (Search)3182 840 w 10 S1 f (")3453 840 w 10 R f ( difference is that the)4 914(protocol. The)1 589 2 3537 840 t (directory is logically Opened with a Find protocol and logically closed with the Find Close protocol.)15 4320 1 720 960 t ( are thus held \(allowing search)5 1272( buffers)1 316( Search)1 338(This allows the Server to make better use of its resources.)10 2394 4 720 1080 t ( a)1 82(resumption via presenting)2 1066 2 720 1200 t 10 S1 f (")1906 1200 w 10 R f (resume)1947 1200 w 10 S f (_)2235 1200 w 10 R f (key)2285 1200 w 10 S1 f (")2429 1200 w 10 R f ( sr)1 110( The)1 259(\) until a Find Close protocol is received.)7 1701 3 2470 1200 t 10 S f (_)4540 1200 w 10 R f (\256ndid \256eld)1 450 1 4590 1200 t ( identi\256er \(within the session\) of the search from)8 2075(of each resume key is a unique)6 1320 2 720 1320 t 10 S1 f (")4156 1320 w 10 R f (Find)4197 1320 w 10 S1 f (")4381 1320 w 10 R f (through)4463 1320 w 10 S1 f (")4815 1320 w 10 R f (Find)4856 1320 w (close)720 1440 w 10 S1 f (")925 1440 w 10 R f ( if the consumer does)4 958(. Thus)1 309 2 966 1440 t 10 S1 f (")2284 1440 w 10 R f (Find ahead)1 467 1 2325 1440 t 10 S1 f (")2792 1440 w 10 R f ( the)1 172(, any \256nd buffers containing resume keys with)7 2035 2 2833 1440 t (matching \256nd id may be released when the Find Close is requested.)11 2785 1 720 1560 t ( open, if a Find request \(Find)6 1259(As is true of a failing)5 921 2 720 1800 t 10 S1 f (")2941 1800 w 10 R f (\256rst)2982 1800 w 10 S1 f (")3138 1800 w 10 R f (request where resume)2 901 1 3220 1800 t 10 S f (_)4121 1800 w 10 R f (key is null\) fails \(no)4 869 1 4171 1800 t (entries are found\), no \256nd close protocol is expected.)8 2182 1 720 1920 t (If no global characters are present, a)6 1507 1 720 2160 t 10 S1 f (")2262 2160 w 10 R f (Find Unique)1 514 1 2303 2160 t 10 S1 f (")2817 2160 w 10 R f (protocol should be used \(only one entry is expected)8 2146 1 2894 2160 t (and \256nd close need not be sent\).)6 1332 1 720 2280 t ( attribute \256eld indicates the attri-)5 1387( The)1 229( request speci\256es the \256le to be sought.)7 1633(The \256le path name in the)5 1071 4 720 2520 t ( the system)2 476( If)1 137( then only normal \256les are returned.)6 1506( the attribute is zero)4 849( If)1 138(butes that the \256le must have.)5 1214 6 720 2640 t ( inclusive -- both the speci\256ed type\(s\))6 1599(\256le, hidden or directory attributes are speci\256ed then the search is)10 2721 2 720 2760 t ( speci\256ed then the search is)5 1235( the volume label attribute is)5 1286( If)1 153(of \256les and normal \256les are returned.)6 1646 4 720 2880 t (exclusive, and only the volume label entry is returned)8 2208 1 720 3000 t ( response will contain)3 913( The)1 226( directory entries to be returned.)5 1345(The max-count \256eld speci\256es the number of)6 1836 4 720 3240 t ( more than max-count)3 960( No)1 207( as determined by the count-returned \256eld.)6 1856(zero or more directory entries)4 1297 4 720 3360 t ( entries that match the sought \256lename/attribute will be returned.)9 2658( Only)1 266(entries will be returned.)3 972 3 720 3480 t (The resume)1 486 1 720 3720 t 10 S f (_)1206 3720 w 10 R f (key \256eld must be null \(length = 0\) on the initial \()11 2162 1 1256 3720 t 10 S1 f (")3418 3720 w 10 R f (Find First)1 412 1 3459 3720 t 10 S1 f (")3871 3720 w 10 R f ( Subsequent)1 538(\) \256nd request.)2 590 2 3912 3720 t ( contain the resume)3 839(\256nd requests intended to continue a search must)7 2064 2 720 3840 t 10 S f (_)3623 3840 w 10 R f (key \256eld extracted from the last)5 1367 1 3673 3840 t ( resume)1 324( The)1 224(directory entry of the previous response.)5 1668 3 720 3960 t 10 S f (_)2936 3960 w 10 R f ( calls containing)2 679(key \256eld is self-contained, for on)5 1375 2 2986 3960 t (a resume)1 366 1 720 4080 t 10 S f (_)1086 4080 w 10 R f ( will be valid in the request. A \256nd request will ter-)11 2136(key neither the attribute or pathname \256elds)6 1768 2 1136 4080 t ( requested maximum number of entries that match the named \256le are found, or)13 3360(minate when either the)3 960 2 720 4200 t ( con-)1 212( response)1 385( A)1 141(the end of directory is reached without the maximum number of matches being found.)13 3582 4 720 4320 t ( no matching entries were found between the starting point of the search)12 3027(taining no entries indicates that)4 1293 2 720 4440 t (and the end of directory.)4 1010 1 720 4560 t ( single request as Find supports)5 1318(There may be multiple matching entries in response to a)9 2343 2 720 4800 t 10 S1 f (")4418 4800 w 10 R f (wild cards)1 425 1 4459 4800 t 10 S1 f (")4884 4800 w 10 R f (in)4962 4800 w ( component of the pathname\).)4 1247(the \256le name \(last)3 755 2 720 4920 t 10 S1 f (")2760 4920 w 10 R f (?)2801 4920 w 10 S1 f (")2845 4920 w 10 R f (is the wild card for single characters,)6 1549 1 2924 4920 t 10 S1 f (")4511 4920 w 10 R f (*)4552 4920 w 10 S1 f (")4602 4920 w 10 R f (or)4681 4920 w 10 S1 f (")4802 4920 w 10 R f (null)4843 4920 w 10 S1 f (")4999 4920 w 10 R f ( The)1 238( part of the \256lename component.)5 1423(will match any number of \256lename characters within a single)9 2659 3 720 5040 t ( name)1 251( The)1 223( a three character extension.)4 1155(\256lename is divided into two parts -- an eight character name and)11 2691 4 720 5160 t (and extension are divided by a)5 1257 1 720 5280 t 10 S1 f (")2010 5280 w 10 R f (.)2051 5280 w 10 S1 f (")2076 5280 w 10 R f (.)2117 5280 w ( part commences with one or more)6 1524(If a \256lename)2 548 2 720 5520 t 10 S1 f (")2840 5520 w 10 R f (?)2881 5520 w 10 S1 f (")2925 5520 w 10 R f (s then exactly that number of characters will be)8 2074 1 2966 5520 t (matched by the Wild Cards, e.g.,)5 1382 1 720 5640 t 10 S1 f (")2141 5640 w 10 R f (??x)2182 5640 w 10 S1 f (")2320 5640 w 10 R f (will equal)1 410 1 2400 5640 t 10 S1 f (")2848 5640 w 10 R f (abx)2889 5640 w 10 S1 f (")3033 5640 w 10 R f (but not)1 294 1 3112 5640 t 10 S1 f (")3444 5640 w 10 R f (abcx)3485 5640 w 10 S1 f (")3673 5640 w 10 R f (or)3752 5640 w 10 S1 f (")3873 5640 w 10 R f (ax)3914 5640 w 10 S1 f (")4008 5640 w 10 R f ( a \256lename part)3 657(. When)1 334 2 4049 5640 t (has trailing)1 468 1 720 5760 t 10 S1 f (")1234 5760 w 10 R f (?)1275 5760 w 10 S1 f (")1319 5760 w 10 R f ( of characters or less, e.g.,)5 1148(s then it will match the speci\256ed number)7 1771 2 1360 5760 t 10 S1 f (")4326 5760 w 10 R f (x??)4367 5760 w 10 S1 f (")4505 5760 w 10 R f (will match)1 447 1 4593 5760 t 10 S1 f (")720 5880 w 10 R f (xab)761 5880 w 10 S1 f (")905 5880 w 10 R f (,)946 5880 w 10 S1 f (")1010 5880 w 10 R f (xa)1051 5880 w 10 S1 f (")1145 5880 w 10 R f (and)1225 5880 w 10 S1 f (")1408 5880 w 10 R f (x)1449 5880 w 10 S1 f (")1499 5880 w 10 R f (, but not)2 359 1 1540 5880 t 10 S1 f (")1938 5880 w 10 R f (xabc)1979 5880 w 10 S1 f (")2167 5880 w 10 R f ( only)1 217(. If)1 163 2 2208 5880 t 10 S1 f (")2627 5880 w 10 R f (?)2668 5880 w 10 S1 f (")2712 5880 w 10 R f ( the \256lename part, then it is handled as)8 1644(s are present in)3 643 2 2753 5880 t (for trailing)1 438 1 720 6000 t 10 S1 f (")1191 6000 w 10 R f (?)1232 6000 w 10 S1 f (")1276 6000 w 10 R f (s)1317 6000 w 10 S1 f (")720 6240 w 10 R f (*)761 6240 w 10 S1 f (")811 6240 w 10 R f (or)891 6240 w 10 S1 f (")1013 6240 w 10 R f (null)1054 6240 w 10 S1 f (")1210 6240 w 10 R f (match entire pathname parts, thus)4 1401 1 1290 6240 t 10 S1 f (")2730 6240 w 10 R f (*.abc)2771 6240 w 10 S1 f (")2984 6240 w 10 R f (or)3065 6240 w 10 S1 f (")3188 6240 w 10 R f (.abc)3229 6240 w 10 S1 f (")3392 6240 w 10 R f (will match any \256le with an extension)6 1567 1 3473 6240 t (of)720 6360 w 10 S1 f (")836 6360 w 10 R f (abc)877 6360 w 10 S1 f (")1015 6360 w 10 R f (.)1056 6360 w 10 S1 f (")1147 6360 w 10 R f (*.*)1188 6360 w 10 S1 f (")1313 6360 w 10 R f (,)1354 6360 w 10 S1 f (")1412 6360 w 10 R f (*)1453 6360 w 10 S1 f (")1503 6360 w 10 R f (or)1577 6360 w 10 S1 f (")1693 6360 w 10 R f (null)1734 6360 w 10 S1 f (")1890 6360 w 10 R f (will match all \256les in a directory.)6 1372 1 1964 6360 t ( to have read permission on the subtree containing the directory)10 2640(Unprotected servers require the requester)4 1680 2 720 6600 t (searched \(the share speci\256es read permission\).)5 1890 1 720 6720 t (Protected servers require the requester to have permission to search the speci\256ed directory.)12 3723 1 720 6960 t ( placed in a message of the max-xmit-size for the TID speci\256ed,)11 2660(If a Find requests more data than can be)8 1660 2 720 7200 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 26 26 %%Page: 27 27 save mark 27 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 27 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (the server will return only the number of entries which will \256t.)11 2585 1 720 840 t (The number of entries returned will be the minimum of:)9 2311 1 720 1080 t (1. The number of entries requested.)5 1456 1 1080 1260 t (2. The number of \(complete\) entries that will \256t in the negotiated SMB buffer.)13 3231 1 1080 1380 t (3. The number of entries that match the requested name pattern and attributes.)12 3212 1 1080 1500 t (The error ERRno\256les set in smb)5 1376 1 720 1800 t 10 S f (_)2096 1800 w 10 R f ( value in smb)3 590(err \256eld of the response header or a zero)8 1741 2 2146 1800 t 10 S f (_)4477 1800 w 10 R f (count of the)2 513 1 4527 1800 t (response indicates no matching entry was found.)6 1992 1 720 1920 t ( along with each directory entry is a server de\256ned key which when)12 2963(The resume search key returned)4 1357 2 720 2160 t ( the directory entry fol-)4 979(returned in the Find Next protocol, allows the directory search to be resumed at)13 3341 2 720 2280 t (lowing the one denoted by the resume search key.)8 2057 1 720 2400 t (The date is in the following format:)6 1469 1 720 2880 t (bits:)786 3000 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 3120 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 3240 t ( d d d)3 225( d)1 150( d)1 60( m m)2 150( m)1 150( m)1 90( y y)2 150( y)1 150(y y y y)3 275 9 1257 3360 t (where:)720 3480 w (y - bit of year 0-119 \(1980-2099\))6 1373 1 918 3600 t (m - bit of month 1-12)5 904 1 918 3720 t (d - bit of day 1-31)5 764 1 918 3840 t (The time is in the following format:)6 1481 1 720 4320 t (bits:)786 4440 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 4560 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 4680 t ( x x x)3 225( x)1 150( x)1 60( m m)2 150( m)1 150( m m)2 150( m)1 90( h)1 150(h h h h)3 275 9 1257 4800 t (where:)720 4920 w (h - bit of hour \(0-23\))5 869 1 918 5040 t (m - bit of minute \(0-59\))5 992 1 918 5160 t (x - bit of 2 second increment)6 1196 1 918 5280 t (Find may generate the following errors.)5 1626 1 720 5676 t (Error Class ERRDOS)2 888 1 1080 5856 t (ERRno\256les)1146 6096 w (ERRbadpath)1146 6216 w (ERRnoaccess)1146 6336 w (ERRbadaccess)1146 6456 w (ERRbadshare)1146 6576 w 10 S1 f (<)1146 6696 w 10 R f (implementation speci\256c)1 966 1 1202 6696 t 10 S1 f (>)2168 6696 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 27 27 %%Page: 28 28 save mark 28 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 28 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRSRV)2 883 1 1080 900 t (ERRerror)1146 1140 w (ERRaccess)1146 1260 w (ERRinvnid)1146 1380 w 10 S1 f (<)1146 1500 w 10 R f (implementation speci\256c)1 966 1 1202 1500 t 10 S1 f (>)2168 1500 w 10 R f (Error Class ERRHRD)2 899 1 1080 1740 t 10 S1 f (<)1146 1980 w 10 R f (implementation speci\256c)1 966 1 1202 1980 t 10 S1 f (>)2168 1980 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 28 28 %%Page: 29 29 save mark 29 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 29 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( CLOSE)1 373(9.2.4. FIND)1 535 2 720 840 t 10 R f (Request Format: \(same as core Search Protocol -)7 2005 1 720 996 t 10 S1 f (")2758 996 w 10 R f (Find Next)1 411 1 2799 996 t 10 S1 f (")3210 996 w 10 R f (form\))3284 996 w (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 2 */)4 532(wct; /*)1 804 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( max number of entries to \256nd */)7 1369(count; /*)1 804 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( search attribute */)3 764(attr; /*)1 804 2 1458 1416 t (WORD smb)1 622 1 786 1536 t 10 S f (_)1408 1536 w 10 R f ( minimum value = 5 */)5 955(bcc; /*)1 804 2 1458 1536 t (BYTE smb)1 578 1 830 1656 t 10 S f (_)1408 1656 w 10 R f ( */)1 111( \(04\))1 232( ASCII)1 294(ident1; /*)1 804 4 1458 1656 t (BYTE smb)1 578 1 830 1776 t 10 S f (_)1408 1776 w 10 R f ( null \(may contain only null\) */)6 1298(pathname[]; /*)1 804 2 1458 1776 t (BYTE smb)1 578 1 830 1896 t 10 S f (_)1408 1896 w 10 R f ( Variable Block \(05\) */)4 958(ident2; /*)1 804 2 1458 1896 t (WORD smb)1 622 1 786 2016 t 10 S f (_)1408 2016 w 10 R f ( resume \(close\) key length \(may not be zero\) */)9 1959(keylen; /*)1 804 2 1458 2016 t (BYTE smb)1 578 1 830 2136 t 10 S f (_)1408 2136 w 10 R f (resumekey[*]; /*)1 804 1 1458 2136 t 10 S1 f (")2295 2136 w 10 R f (Find Close)1 445 1 2336 2136 t 10 S1 f (")2781 2136 w 10 R f (key \(* = value of smb)5 914 1 2855 2136 t 10 S f (_)3769 2136 w 10 R f (keylen\) */)1 410 1 3819 2136 t (Response Format: \(same format as core Search Protocol\))7 2332 1 720 2472 t (BYTE smb)1 578 1 830 2652 t 10 S f (_)1408 2652 w 10 R f ( value = 1 */)4 532(wct; /*)1 593 2 1458 2652 t (WORD smb)1 622 1 786 2772 t 10 S f (_)1408 2772 w 10 R f ( reserved */)2 481(reserved; /*)1 593 2 1458 2772 t (WORD smb)1 622 1 786 2892 t 10 S f (_)1408 2892 w 10 R f ( value = 3 */)4 532(bcc; /*)1 593 2 1458 2892 t (BYTE smb)1 578 1 830 3012 t 10 S f (_)1408 3012 w 10 R f ( Variable Block \(05\) */)4 958(ident; /*)1 593 2 1458 3012 t (WORD smb)1 622 1 786 3132 t 10 S f (_)1408 3132 w 10 R f ( data length \(value = 0\) */)6 1080(datalen; /*)1 593 2 1458 3132 t (The resume)1 476 1 720 3588 t 10 S f (_)1196 3588 w 10 R f (key \(or close key\) has the following format:)7 1811 1 1246 3588 t (BYTE sr)1 483 1 786 3768 t 10 S f (_)1269 3768 w 10 R f ( reserved:)1 398(res; /*)1 638 2 1319 3768 t ( - reserved for consumer use)5 1172(bit 7)1 288 2 1945 3888 t ( - reserved for system use \(must be preserved\))8 1903(bit 5,6)1 297 2 1945 4008 t (bits 0-4 - rsvd for server \(must be preserved by consumer\) */)11 2513 1 1945 4128 t (BYTE sr)1 483 1 786 4248 t 10 S f (_)1269 4248 w 10 R f ( Format:)1 383( pathname sought.)2 746(name[11]; /*)1 638 3 1319 4248 t (1-8 character \256le name, left justi\256ed)5 1487 1 1945 4368 t (0-3 character extension, left justi\256ed \(in last 3 chars\) */)9 2279 1 1945 4488 t (BYTE sr)1 483 1 786 4608 t 10 S f (_)1269 4608 w 10 R f ( uniquely identi\256es \256nd through \256nd close */)7 1854(\256ndid[1]; /*)1 638 2 1319 4608 t (BYTE sr)1 483 1 786 4728 t 10 S f (_)1269 4728 w 10 R f ( available for server use \(must be non-zero\) */)8 1903(server[4]; /*)1 638 2 1319 4728 t (BYTE sr)1 483 1 786 4848 t 10 S f (_)1269 4848 w 10 R f ( reserved for consumer use */)5 1217(res[4]; /*)1 638 2 1319 4848 t (Service:)720 5304 w ( protocol closes the association between a Find id returned \(in the resume)12 3138(The Find Close)2 649 2 720 5460 t 10 S f (_)4507 5460 w 10 R f (key\) by the)2 483 1 4557 5460 t (Find protocol and the directory search.)5 1587 1 720 5580 t ( protocols presenting a)3 979(Whereas the First Find protocol logically opens the directory, subsequent \256nd)10 3341 2 720 5820 t (resume)720 5940 w 10 S f (_)1008 5940 w 10 R f (key further)1 466 1 1058 5940 t 10 S1 f (")1575 5940 w 10 R f (read)1616 5940 w 10 S1 f (")1787 5940 w 10 R f (the directory, the Find Close protocol)5 1629 1 1879 5940 t 10 S1 f (")3559 5940 w 10 R f (closes)3600 5940 w 10 S1 f (")3844 5940 w 10 R f (the directory allowing the)3 1104 1 3936 5940 t (server to free any resources held in support of the directory search.)11 2752 1 720 6060 t ( protocols)1 408( The)1 224(The Find Close protocol is used to match the \256nd Close OS/2 system call.)13 3099 3 720 6300 t 10 S1 f (")4487 6300 w 10 R f (Find)4528 6300 w 10 S1 f (")4712 6300 w 10 R f (,)4753 6300 w 10 S1 f (")4815 6300 w 10 R f (Find)4856 6300 w (Unique)720 6420 w 10 S1 f (")1014 6420 w 10 R f (and)1098 6420 w 10 S1 f (")1285 6420 w 10 R f (Find Close)1 455 1 1326 6420 t 10 S1 f (")1781 6420 w 10 R f ( protocols may be)3 764( These)1 313( reading \(or searching\) a directory.)5 1469(are methods of)2 629 4 1865 6420 t ( place of the core)4 722(used in)1 294 2 720 6540 t 10 S1 f (")1770 6540 w 10 R f (Search)1811 6540 w 10 S1 f (")2082 6540 w 10 R f ( may)1 206( There)1 299(protocol when LANMAN 1.0 dialect has been negotiated.)7 2378 3 2157 6540 t (be cases where the Search protocol will still be used.)9 2179 1 720 6660 t ( the \256nd id portion the resume key should be required to identify the search being ter-)16 3721(Although only)1 599 2 720 6900 t (minated, the entire resume)3 1092 1 720 7020 t 10 S f (_)1812 7020 w 10 R f ( previous Find \(either a)4 972(key as returned in the)4 903 2 1862 7020 t 10 S1 f (")3772 7020 w 10 R f (Find First)1 403 1 3813 7020 t 10 S1 f (")4216 7020 w 10 R f (or)4292 7020 w 10 S1 f (")4410 7020 w 10 R f (Find Next)1 413 1 4451 7020 t 10 S1 f (")4864 7020 w 10 R f (\) is)1 135 1 4905 7020 t (sent to the server in this protocol.)6 1383 1 720 7140 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 29 29 %%Page: 30 30 save mark 30 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 30 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Find Close may generate the following errors.)6 1887 1 720 840 t (Error Class ERRDOS)2 888 1 1080 1020 t (ERRbad\256d)1146 1260 w 10 S1 f (<)1146 1380 w 10 R f (implementation speci\256c)1 966 1 1202 1380 t 10 S1 f (>)2168 1380 w 10 R f (Error Class ERRSRV)2 883 1 1080 1620 t (ERRerror)1146 1860 w (ERRinvnid)1146 1980 w 10 S1 f (<)1146 2100 w 10 R f (implementation speci\256c)1 966 1 1202 2100 t 10 S1 f (>)2168 2100 w 10 R f (Error Class ERRHRD)2 899 1 1080 2340 t 10 S1 f (<)1146 2580 w 10 R f (implementation speci\256c)1 966 1 1202 2580 t 10 S1 f (>)2168 2580 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 30 30 %%Page: 31 31 save mark 31 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 31 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( UNIQUE)1 433(9.2.5. FIND)1 535 2 720 840 t 10 R f (Request Format: \(same as core Search Protocol -)7 2005 1 720 996 t 10 S1 f (")2758 996 w 10 R f (Find First)1 401 1 2799 996 t 10 S1 f (")3200 996 w 10 R f (form\))3274 996 w (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 2 */)4 532(wct; /*)1 710 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( max number of entries to \256nd */)7 1369(count; /*)1 710 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( search attribute */)3 764(attr; /*)1 710 2 1458 1416 t (WORD smb)1 622 1 786 1536 t 10 S f (_)1408 1536 w 10 R f ( minimum value = 5 */)5 955(bcc; /*)1 710 2 1458 1536 t (BYTE smb)1 578 1 830 1656 t 10 S f (_)1408 1656 w 10 R f ( */)1 111( \(04\))1 232( ASCII)1 294(ident1; /*)1 710 4 1458 1656 t (BYTE smb)1 578 1 830 1776 t 10 S f (_)1408 1776 w 10 R f ( \256lename \(may contain global characters\) */)6 1805(pathname[]; /*)1 710 2 1458 1776 t (BYTE smb)1 578 1 830 1896 t 10 S f (_)1408 1896 w 10 R f ( Variable Block \(05\) */)4 958(ident2; /*)1 710 2 1458 1896 t (WORD smb)1 622 1 786 2016 t 10 S f (_)1408 2016 w 10 R f ( must be zero \()4 625(keylen; /*)1 710 2 1458 2016 t 10 S1 f (")2793 2016 w 10 R f (Find First)1 401 1 2834 2016 t 10 S1 f (")3235 2016 w 10 R f (only\) */)1 322 1 3309 2016 t (Response Format: \(same as core Search Protocol\))6 2033 1 720 2352 t (BYTE smb)1 578 1 830 2532 t 10 S f (_)1408 2532 w 10 R f ( value = 1 */)4 532(wct; /*)1 544 2 1458 2532 t (WORD smb)1 622 1 786 2652 t 10 S f (_)1408 2652 w 10 R f ( number of entries found */)5 1130(count; /*)1 544 2 1458 2652 t (WORD smb)1 622 1 786 2772 t 10 S f (_)1408 2772 w 10 R f ( minimum value = 3 */)5 955(bcc; /*)1 544 2 1458 2772 t (BYTE smb)1 578 1 830 2892 t 10 S f (_)1408 2892 w 10 R f ( Variable Block \(05\) */)4 958(ident; /*)1 544 2 1458 2892 t (WORD smb)1 622 1 786 3012 t 10 S f (_)1408 3012 w 10 R f ( data length */)3 593(datalen; /*)1 544 2 1458 3012 t (BYTE smb)1 578 1 830 3132 t 10 S f (_)1408 3132 w 10 R f ( directory entries */)3 803(data[*]; /*)1 544 2 1458 3132 t (Directory Information Entry \(dir)3 1324 1 720 3468 t 10 S f (_)2044 3468 w 10 R f (info\) Format: \(same as core Search Protocol\))6 1844 1 2094 3468 t (BYTE \256nd)1 567 1 869 3648 t 10 S f (_)1436 3648 w 10 R f (buf)1486 3648 w 10 S f (_)1619 3648 w 10 R f ( reserved \(resume)2 724(reserved[21]; /*)1 764 2 1669 3648 t 10 S f (_)3157 3648 w 10 R f (key\) */)1 288 1 3207 3648 t (BYTE \256nd)1 567 1 869 3768 t 10 S f (_)1436 3768 w 10 R f (buf)1486 3768 w 10 S f (_)1619 3768 w 10 R f ( attribute */)2 477(attr; /*)1 764 2 1669 3768 t (WORD \256nd)1 611 1 825 3888 t 10 S f (_)1436 3888 w 10 R f (buf)1486 3888 w 10 S f (_)1619 3888 w 10 R f ( modi\256cation time \(hhhhh mmmmmm xxxxx\))5 1883(time; /*)1 764 2 1669 3888 t (where 'xxxxx' is in two second increments */)7 1878 1 2355 4008 t (WORD \256nd)1 611 1 825 4128 t 10 S f (_)1436 4128 w 10 R f (buf)1486 4128 w 10 S f (_)1619 4128 w 10 R f ( modi\256cation date \(yyyyyyy mmmm ddddd\) */)6 1926(date; /*)1 764 2 1669 4128 t (DWORD \256nd)1 683 1 753 4248 t 10 S f (_)1436 4248 w 10 R f (buf)1486 4248 w 10 S f (_)1619 4248 w 10 R f ( \256le size */)3 460(size; /*)1 764 2 1669 4248 t (BYTE \256nd)1 567 1 869 4368 t 10 S f (_)1436 4368 w 10 R f (buf)1486 4368 w 10 S f (_)1619 4368 w 10 R f ( \256le name -- ASCII \(null terminated\) */)7 1629(pname[13]; /*)1 764 2 1669 4368 t (The resume)1 476 1 720 4704 t 10 S f (_)1196 4704 w 10 R f (key has the following format:)4 1214 1 1246 4704 t (BYTE sr)1 483 1 786 4884 t 10 S f (_)1269 4884 w 10 R f ( reserved:)1 398(res; /*)1 638 2 1319 4884 t ( - reserved for consumer use)5 1172(bit 7)1 288 2 1945 5004 t ( - reserved for system use \(must be preserved\))8 1903(bit 5,6)1 297 2 1945 5124 t (bits 0-4 - rsvd for server \(must be preserved by consumer\) */)11 2513 1 1945 5244 t (BYTE sr)1 483 1 786 5364 t 10 S f (_)1269 5364 w 10 R f ( Format:)1 383( pathname sought.)2 746(name[11]; /*)1 638 3 1319 5364 t (1-8 character \256le name, left justi\256ed)5 1487 1 1945 5484 t (0-3 character extension, left justi\256ed \(in last 3 chars\) */)9 2279 1 1945 5604 t (BYTE sr)1 483 1 786 5724 t 10 S f (_)1269 5724 w 10 R f ( uniquely identi\256es \256nd through \256nd close */)7 1854(\256ndid[1]; /*)1 638 2 1319 5724 t (BYTE sr)1 483 1 786 5844 t 10 S f (_)1269 5844 w 10 R f ( available for server use \(must be non-zero\) */)8 1903(server[4]; /*)1 638 2 1319 5844 t (BYTE sr)1 483 1 786 5964 t 10 S f (_)1269 5964 w 10 R f ( reserved for consumer use */)5 1217(res[4]; /*)1 638 2 1319 5964 t (Service:)720 6300 w ( path-)1 245(The Find Unique protocol \256nds the directory entry or group of entries matching the speci\256ed \256le)15 4075 2 720 6456 t ( portion of the pathname may contain global \(wild card\) characters, but the search)13 3465( \256lename)1 385(name. The)1 470 3 720 6576 t (may not be resumed and no Find Close protocol is expected.)10 2497 1 720 6696 t (The protocols)1 567 1 720 6936 t 10 S1 f (")1328 6936 w 10 R f (Find)1369 6936 w 10 S1 f (")1594 6936 w 10 R f (,)1635 6936 w 10 S1 f (")1701 6936 w 10 R f (Find Unique)1 519 1 1742 6936 t 10 S1 f (")2261 6936 w 10 R f (and)2343 6936 w 10 S1 f (")2528 6936 w 10 R f (Find Close)1 453 1 2569 6936 t 10 S1 f (")3022 6936 w 10 R f (are methods of reading \(or searching\) a direc-)7 1936 1 3104 6936 t ( of the core)3 496( protocols may be used in place)6 1355(tory. These)1 498 3 720 7056 t 10 S1 f (")3109 7056 w 10 R f (Search)3150 7056 w 10 S1 f (")3421 7056 w 10 R f (protocol when LANMAN 1.0 dialect)4 1538 1 3502 7056 t ( may be cases where the Search protocol will still be used.)11 2417( There)1 298(has been negotiated.)2 828 3 720 7176 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 31 31 %%Page: 32 32 save mark 32 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 32 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (The format of the Find Unique protocol is the same as the core)12 2603 1 720 840 t 10 S1 f (")3356 840 w 10 R f (Search)3397 840 w 10 S1 f (")3668 840 w 10 R f ( difference is that)3 719(protocol. The)1 579 2 3742 840 t ( , any matching entries returned, and then the directory is logically)11 2929(the directory is logically opened)4 1391 2 720 960 t (closed.)720 1080 w (This allows the Server to make better use of its resources. No Search buffers are held \(search resumption)17 4320 1 720 1320 t (via presenting a)2 648 1 720 1440 t 10 S1 f (")1401 1440 w 10 R f (resume)1442 1440 w 10 S f (_)1730 1440 w 10 R f (key)1780 1440 w 10 S1 f (")1924 1440 w 10 R f (will not be allowed\).)3 851 1 1998 1440 t (Only one buffer of entries is expected and \256nd close need not be sent\).)13 2920 1 720 1680 t ( attribute \256eld indicates the attri-)5 1387( The)1 229( request speci\256es the \256le to be sought.)7 1633(The \256le path name in the)5 1071 4 720 1920 t ( the system)2 476( If)1 137( then only normal \256les are returned.)6 1506( the attribute is zero)4 849( If)1 138(butes that the \256le must have.)5 1214 6 720 2040 t ( inclusive -- both the speci\256ed type\(s\))6 1599(\256le, hidden or directory attributes are speci\256ed then the search is)10 2721 2 720 2160 t ( speci\256ed then the search is)5 1235( the volume label attribute is)5 1286( If)1 153(of \256les and normal \256les are returned.)6 1646 4 720 2280 t (exclusive, and only the volume label entry is returned)8 2208 1 720 2400 t ( response will contain)3 913( The)1 226( directory entries to be returned.)5 1345(The max-count \256eld speci\256es the number of)6 1836 4 720 2640 t ( more than max-count)3 960( No)1 207( as determined by the count-returned \256eld.)6 1856(zero or more directory entries)4 1297 4 720 2760 t ( entries that match the sought \256lename/attribute will be returned.)9 2658( Only)1 266(entries will be returned.)3 972 3 720 2880 t (The resume)1 476 1 720 3120 t 10 S f (_)1196 3120 w 10 R f (key \256eld must be null \(length = 0\).)7 1445 1 1246 3120 t ( the requested maximum number of entries that match)8 2254(A Find Unique request will terminate when either)7 2066 2 720 3360 t ( without the maximum number of matches)6 1795(the named \256le are found, or the end of directory is reached)11 2525 2 720 3480 t ( entries indicates that no matching entries were found between)9 2654( response containing no)3 997( A)1 147(being found.)1 522 4 720 3600 t (the starting point of the search and the end of directory.)10 2295 1 720 3720 t ( be multiple matching entries in response to a single request as Find Unique supports)14 3616(There may)1 444 2 720 3960 t 10 S1 f (")4821 3960 w 10 R f (wild)4862 3960 w (cards)720 4080 w 10 S1 f (")930 4080 w 10 R f (in the \256le name \(last component of the pathname\).)8 2115 1 1009 4080 t 10 S1 f (")3162 4080 w 10 R f (?)3203 4080 w 10 S1 f (")3247 4080 w 10 R f ( card for single characters,)4 1102(is the wild)2 443 2 3326 4080 t 10 S1 f (")4908 4080 w 10 R f (*)4949 4080 w 10 S1 f (")4999 4080 w 10 R f (or)720 4200 w 10 S1 f (")841 4200 w 10 R f (null)882 4200 w 10 S1 f (")1038 4200 w 10 R f (will match any number of \256lename characters within a single part of the \256lename component.)14 3923 1 1117 4200 t ( The)1 227( two parts -- an eight character name and a three character extension.)12 2911(The \256lename is divided into)4 1182 3 720 4320 t (name and extension are divided by a)6 1506 1 720 4440 t 10 S1 f (")2259 4440 w 10 R f (.)2300 4440 w 10 S1 f (")2325 4440 w 10 R f (.)2366 4440 w ( part commences with one or more)6 1524(If a \256lename)2 548 2 720 4680 t 10 S1 f (")2840 4680 w 10 R f (?)2881 4680 w 10 S1 f (")2925 4680 w 10 R f (s then exactly that number of characters will be)8 2074 1 2966 4680 t (matched by the Wild Cards, e.g.,)5 1382 1 720 4800 t 10 S1 f (")2141 4800 w 10 R f (??x)2182 4800 w 10 S1 f (")2320 4800 w 10 R f (will equal)1 410 1 2400 4800 t 10 S1 f (")2848 4800 w 10 R f (abx)2889 4800 w 10 S1 f (")3033 4800 w 10 R f (but not)1 294 1 3112 4800 t 10 S1 f (")3444 4800 w 10 R f (abcx)3485 4800 w 10 S1 f (")3673 4800 w 10 R f (or)3752 4800 w 10 S1 f (")3873 4800 w 10 R f (ax)3914 4800 w 10 S1 f (")4008 4800 w 10 R f ( a \256lename part)3 657(. When)1 334 2 4049 4800 t (has trailing)1 468 1 720 4920 t 10 S1 f (")1234 4920 w 10 R f (?)1275 4920 w 10 S1 f (")1319 4920 w 10 R f ( of characters or less, e.g.,)5 1148(s then it will match the speci\256ed number)7 1771 2 1360 4920 t 10 S1 f (")4326 4920 w 10 R f (x??)4367 4920 w 10 S1 f (")4505 4920 w 10 R f (will match)1 447 1 4593 4920 t 10 S1 f (")720 5040 w 10 R f (xab)761 5040 w 10 S1 f (")905 5040 w 10 R f (,)946 5040 w 10 S1 f (")1010 5040 w 10 R f (xa)1051 5040 w 10 S1 f (")1145 5040 w 10 R f (and)1225 5040 w 10 S1 f (")1408 5040 w 10 R f (x)1449 5040 w 10 S1 f (")1499 5040 w 10 R f (, but not)2 359 1 1540 5040 t 10 S1 f (")1938 5040 w 10 R f (xabc)1979 5040 w 10 S1 f (")2167 5040 w 10 R f ( only)1 217(. If)1 163 2 2208 5040 t 10 S1 f (")2627 5040 w 10 R f (?)2668 5040 w 10 S1 f (")2712 5040 w 10 R f ( the \256lename part, then it is handled as)8 1644(s are present in)3 643 2 2753 5040 t (for trailing)1 438 1 720 5160 t 10 S1 f (")1191 5160 w 10 R f (?)1232 5160 w 10 S1 f (")1276 5160 w 10 R f (s)1317 5160 w 10 S1 f (")720 5400 w 10 R f (*)761 5400 w 10 S1 f (")811 5400 w 10 R f (or)891 5400 w 10 S1 f (")1013 5400 w 10 R f (null)1054 5400 w 10 S1 f (")1210 5400 w 10 R f (match entire pathname parts, thus)4 1401 1 1290 5400 t 10 S1 f (")2730 5400 w 10 R f (*.abc)2771 5400 w 10 S1 f (")2984 5400 w 10 R f (or)3065 5400 w 10 S1 f (")3188 5400 w 10 R f (.abc)3229 5400 w 10 S1 f (")3392 5400 w 10 R f (will match any \256le with an extension)6 1567 1 3473 5400 t (of)720 5520 w 10 S1 f (")836 5520 w 10 R f (abc)877 5520 w 10 S1 f (")1015 5520 w 10 R f (.)1056 5520 w 10 S1 f (")1147 5520 w 10 R f (*.*)1188 5520 w 10 S1 f (")1313 5520 w 10 R f (,)1354 5520 w 10 S1 f (")1412 5520 w 10 R f (*)1453 5520 w 10 S1 f (")1503 5520 w 10 R f (or)1577 5520 w 10 S1 f (")1693 5520 w 10 R f (null)1734 5520 w 10 S1 f (")1890 5520 w 10 R f (will match all \256les in a directory.)6 1372 1 1964 5520 t ( to have read permission on the subtree containing the directory)10 2640(Unprotected servers require the requester)4 1680 2 720 5760 t (searched \(the share speci\256es read permission\).)5 1890 1 720 5880 t (Protected servers require the requester to have permission to search the speci\256ed directory.)12 3723 1 720 6120 t ( the TID)2 366(If a Find Unique requests more data than can be placed in a message of the max-xmit-size for)17 3954 2 720 6360 t (speci\256ed, the server will abort the virtual circuit to the consumer.)10 2687 1 720 6480 t (The number of entries returned will be the minimum of:)9 2311 1 720 6720 t (1. The number of entries requested.)5 1456 1 1080 6900 t (2. The number of \(complete\) entries that will \256t in the negotiated SMB buffer.)13 3231 1 1080 7020 t (3. The number of entries that match the requested name pattern and attributes.)12 3212 1 1080 7140 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 32 32 %%Page: 33 33 save mark 33 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 33 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (The error ERRno\256les set in smb)5 1376 1 720 840 t 10 S f (_)2096 840 w 10 R f ( value in smb)3 590(err \256eld of the response header or a zero)8 1741 2 2146 840 t 10 S f (_)4477 840 w 10 R f (count of the)2 513 1 4527 840 t (response indicates no matching entry was found.)6 1992 1 720 960 t ( search key returned along with each directory entry is a server de\256ned key. This key will be)17 3844(The resume)1 476 2 720 1200 t ( to continue the)3 664(returned as in the Find protocol and Search protocol however it may NOT be returned)14 3656 2 720 1320 t (search.)720 1440 w (The date is in the following format:)6 1469 1 720 2040 t (bits:)786 2160 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 2280 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 2400 t ( d d d)3 225( d)1 150( d)1 60( m m)2 150( m)1 150( m)1 90( y y)2 150( y)1 150(y y y y)3 275 9 1257 2520 t (where:)720 2640 w (y - bit of year 0-119 \(1980-2099\))6 1373 1 918 2760 t (m - bit of month 1-12)5 904 1 918 2880 t (d - bit of day 1-31)5 764 1 918 3000 t (The time is in the following format:)6 1481 1 720 3480 t (bits:)786 3600 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 3720 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 3840 t ( x x x)3 225( x)1 150( x)1 60( m m)2 150( m)1 150( m m)2 150( m)1 90( h)1 150(h h h h)3 275 9 1257 3960 t (where:)720 4080 w (h - bit of hour \(0-23\))5 869 1 918 4200 t (m - bit of minute \(0-59\))5 992 1 918 4320 t (x - bit of 2 second increment)6 1196 1 918 4440 t (Find Unique may generate the following errors.)6 1953 1 720 4836 t (Error Class ERRDOS)2 888 1 1080 5016 t (ERRno\256les)1146 5256 w (ERRbadpath)1146 5376 w (ERRnoaccess)1146 5496 w (ERRbadaccess)1146 5616 w (ERRbadshare)1146 5736 w 10 S1 f (<)1146 5856 w 10 R f (implementation speci\256c)1 966 1 1202 5856 t 10 S1 f (>)2168 5856 w 10 R f (Error Class ERRSRV)2 883 1 1080 6096 t (ERRerror)1146 6336 w (ERRaccess)1146 6456 w (ERRinvnid)1146 6576 w 10 S1 f (<)1146 6696 w 10 R f (implementation speci\256c)1 966 1 1202 6696 t 10 S1 f (>)2168 6696 w 10 R f (Error Class ERRHRD)2 899 1 1080 6936 t 10 S1 f (<)1146 7176 w 10 R f (implementation speci\256c)1 966 1 1202 7176 t 10 S1 f (>)2168 7176 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 33 33 %%Page: 34 34 save mark 34 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 34 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( EXPANDED FILE ATTRIBUTES)3 1534(9.2.6. GET)1 503 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 1 */)4 532(wct; /*)1 400 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 400 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( value = 0 */)4 532(bcc; /*)1 400 2 1458 1416 t (Response Format:)1 733 1 720 1716 t (BYTE smb)1 578 1 869 1896 t 10 S f (_)1447 1896 w 10 R f ( value = 11 */)4 582(wct; /*)1 605 2 1497 1896 t (WORD smb)1 622 1 825 2016 t 10 S f (_)1447 2016 w 10 R f ( date of creation */)4 780(cdate; /*)1 605 2 1497 2016 t (WORD smb)1 622 1 825 2136 t 10 S f (_)1447 2136 w 10 R f ( time of creation */)4 792(ctime; /*)1 605 2 1497 2136 t (WORD smb)1 622 1 825 2256 t 10 S f (_)1447 2256 w 10 R f ( date of last access */)5 885(adate; /*)1 605 2 1497 2256 t (WORD smb)1 622 1 825 2376 t 10 S f (_)1447 2376 w 10 R f ( time of last access */)5 897(atime; /*)1 605 2 1497 2376 t (WORD smb)1 622 1 825 2496 t 10 S f (_)1447 2496 w 10 R f ( date of last modi\256cation */)5 1137(mdate; /*)1 605 2 1497 2496 t (WORD smb)1 622 1 825 2616 t 10 S f (_)1447 2616 w 10 R f ( time of last modi\256cation */)5 1149(mtime; /*)1 605 2 1497 2616 t (DWORD smb)1 694 1 753 2736 t 10 S f (_)1447 2736 w 10 R f ( \256le end of data */)5 764(datasize; /*)1 605 2 1497 2736 t (DWORD smb)1 694 1 753 2856 t 10 S f (_)1447 2856 w 10 R f ( \256le allocation */)3 699(allocsize; /*)1 605 2 1497 2856 t (WORD smb)1 622 1 825 2976 t 10 S f (_)1447 2976 w 10 R f ( \256le attribute */)3 638(attr; /*)1 605 2 1497 2976 t (WORD smb)1 622 1 825 3096 t 10 S f (_)1447 3096 w 10 R f ( minimum value = 0 */)5 955(bcc; /*)1 605 2 1497 3096 t (BYTE smb)1 578 1 869 3216 t 10 S f (_)1447 3216 w 10 R f ( reserved */)2 481(rsvd[]; /*)1 605 2 1497 3216 t (Service Enhancement:)1 903 1 720 3552 t ( The)1 232(The Expanded Get File Attributes is enhanced to return more information about the queried \256le.)14 4088 2 720 3708 t ( a server)2 363( If)1 137( returned to the requester.)4 1074(current values of the \256le attributes listed as output parameters are)10 2746 4 720 3828 t (does not support one of the optional attributes, a null value \(hex FFFF\) is returned.)14 3421 1 720 3948 t (The \256le being interrogated is speci\256ed by the \256le handle \(FID\).)10 2607 1 720 4188 t ( for information not requested \(via smb)6 1654(The values of the response \256elds which are)7 1812 2 720 4464 t 10 S f (_)4186 4464 w 10 R f (info of the request\))3 804 1 4236 4464 t (are unde\256ned.)1 573 1 720 4584 t (The attribute \256eld \(smb)3 1025 1 720 4860 t 10 S f (_)1745 4860 w 10 R f ( \256eld)1 232( This)1 265(attr\) has the following format \(bit0 is the least signi\256cant bit\).)10 2748 3 1795 4860 t (matches that used by OS/2.)4 1123 1 720 4980 t (bit0 - read only \256le)4 798 1 1080 5160 t (bit1 -)1 222 1 1080 5280 t 10 S1 f (")1335 5280 w 10 R f (hidden)1376 5280 w 10 S1 f (")1648 5280 w 10 R f (\256le)1722 5280 w (bit2 - system \256le)3 694 1 1080 5400 t (bit3 - reserved)2 592 1 1080 5520 t (bit4 - directory)2 615 1 1080 5640 t ( archive \256le)2 487(bit5 -)1 255 2 1080 5760 t (bits6-15 - reserved \(must be zero\))5 1389 1 1080 5880 t ( The)1 238( \(as de\256ned in the core protocol\) is no longer a valid attribute.)12 2771(Note that the volume label bit)5 1311 3 720 6180 t (volume label is now returned in the Query Server Information response.)10 2955 1 720 6300 t ( guaranteed in the case of an error return \(any protocol)10 2456(The contents of response parameters is not)6 1864 2 720 6540 t (response with an error set in the header may have smb)10 2247 1 720 6660 t 10 S f (_)2967 6660 w 10 R f (wct of zero and smb)4 841 1 3017 6660 t 10 S f (_)3858 6660 w 10 R f (bcc count of zero\).)3 771 1 3908 6660 t (The dates are in the following format:)6 1562 1 720 7140 t (bits:)786 7260 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 34 34 %%Page: 35 35 save mark 35 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 35 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 840 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 960 t ( d d d)3 225( d)1 150( d)1 60( m m)2 150( m)1 150( m)1 90( y y)2 150( y)1 150(y y y y)3 275 9 1257 1080 t (where:)720 1200 w (y - bit of year 0-119 \(1980-2099\))6 1373 1 918 1320 t (m - bit of month 1-12)5 904 1 918 1440 t (d - bit of day 1-31)5 764 1 918 1560 t (The times are in the following format:)6 1574 1 720 2040 t (bits:)786 2160 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 2280 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 2400 t ( x x x)3 225( x)1 150( x)1 60( m m)2 150( m)1 150( m m)2 150( m)1 90( h)1 150(h h h h)3 275 9 1257 2520 t (where:)720 2640 w (h - bit of hour \(0-23\))5 869 1 918 2760 t (m - bit of minute \(0-59\))5 992 1 918 2880 t (x - bit of 2 second increment)6 1196 1 918 3000 t (Get Expanded \256le attributes may generate the following errors.)8 2584 1 720 3396 t (Error Class ERRDOS)2 888 1 1080 3576 t (ERRbad\256le)1146 3816 w (ERRbad\256d)1146 3936 w 10 S1 f (<)1146 4056 w 10 R f (implementation speci\256c)1 966 1 1202 4056 t 10 S1 f (>)2168 4056 w 10 R f (Error Class ERRSRV)2 883 1 1080 4296 t (ERRerror)1146 4536 w (ERRinvnid)1146 4656 w 10 S1 f (<)1146 4776 w 10 R f (implementation speci\256c)1 966 1 1202 4776 t 10 S1 f (>)2168 4776 w 10 R f (Error Class ERRHRD)2 899 1 1080 5016 t 10 S1 f (<)1146 5256 w 10 R f (implementation speci\256c)1 966 1 1202 5256 t 10 S1 f (>)2168 5256 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 35 35 %%Page: 36 36 save mark 36 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 36 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.7. IOCTL)1 614 1 720 840 t 10 R f (Primary Request Format:)2 1027 1 720 996 t (BYTE smb)1 578 1 869 1212 t 10 S f (_)1447 1212 w 10 R f ( value = 14 */)4 582(wct; /*)1 621 2 1497 1212 t (WORD smb)1 622 1 825 1332 t 10 S f (_)1447 1332 w 10 R f ( \256le handle */)3 571(\256d; /*)1 621 2 1497 1332 t (WORD smb)1 622 1 825 1452 t 10 S f (_)1447 1452 w 10 R f ( device category */)3 780(cat; /*)1 621 2 1497 1452 t (WORD smb)1 622 1 825 1572 t 10 S f (_)1447 1572 w 10 R f ( device function */)3 770(fun; /*)1 621 2 1497 1572 t (WORD smb)1 622 1 825 1692 t 10 S f (_)1447 1692 w 10 R f ( total number of parameter bytes being sent */)8 1900(tpscnt; /*)1 621 2 1497 1692 t (WORD smb)1 622 1 825 1812 t 10 S f (_)1447 1812 w 10 R f ( total number of data bytes being sent */)8 1668(tdscnt; /*)1 621 2 1497 1812 t (WORD smb)1 622 1 825 1932 t 10 S f (_)1447 1932 w 10 R f ( max number of parameter bytes to return */)8 1827(mprcnt; /*)1 621 2 1497 1932 t (WORD smb)1 622 1 825 2052 t 10 S f (_)1447 2052 w 10 R f ( max number of data bytes to return */)8 1595(mdrcnt; /*)1 621 2 1497 2052 t (DWORD smb)1 694 1 753 2172 t 10 S f (_)1447 2172 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 621 2 1497 2172 t (WORD smb)1 622 1 825 2292 t 10 S f (_)1447 2292 w 10 R f ( reserved */)2 481(rsvd; /*)1 621 2 1497 2292 t (WORD smb)1 622 1 825 2412 t 10 S f (_)1447 2412 w 10 R f ( number of parameter bytes being sent this buffer */)9 2143(pscnt; /*)1 621 2 1497 2412 t (WORD smb)1 622 1 825 2532 t 10 S f (_)1447 2532 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(psoff; /*)1 621 2 1497 2532 t (WORD smb)1 622 1 825 2652 t 10 S f (_)1447 2652 w 10 R f ( number of data bytes being sent this buffer */)9 1911(dscnt; /*)1 621 2 1497 2652 t (WORD smb)1 622 1 825 2772 t 10 S f (_)1447 2772 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(dsoff; /*)1 621 2 1497 2772 t (WORD smb)1 622 1 825 2892 t 10 S f (_)1447 2892 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 621 2 1497 2892 t (BYTE smb)1 578 1 869 3012 t 10 S f (_)1447 3012 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 621 2 1497 3012 t (BYTE smb)1 578 1 869 3132 t 10 S f (_)1447 3132 w 10 R f ( param bytes \(* = value of smb)7 1296(param[*]; /*)1 621 2 1497 3132 t 10 S f (_)3414 3132 w 10 R f (pscnt\) */)1 355 1 3464 3132 t (BYTE smb)1 578 1 869 3252 t 10 S f (_)1447 3252 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad1[]; /*)1 621 2 1497 3252 t (BYTE smb)1 578 1 869 3372 t 10 S f (_)1447 3372 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 621 2 1497 3372 t 10 S f (_)3331 3372 w 10 R f (dscnt\) */)1 355 1 3381 3372 t (Interim Response Format \(if no error - ok send remaining data\):)10 2631 1 720 3708 t (BYTE smb)1 578 1 830 3888 t 10 S f (_)1408 3888 w 10 R f ( value = 0 */)4 532(wct; /*)1 400 2 1458 3888 t (WORD smb)1 622 1 786 4008 t 10 S f (_)1408 4008 w 10 R f ( value = 0 */)4 532(bcc; /*)1 400 2 1458 4008 t (Secondary Request Format \(more data - may be zero or more of these\):)12 2939 1 720 4224 t (BYTE smb)1 578 1 830 4404 t 10 S f (_)1408 4404 w 10 R f ( value = 8 */)4 532(wct; /*)1 621 2 1458 4404 t (WORD smb)1 622 1 786 4524 t 10 S f (_)1408 4524 w 10 R f ( total number of parameter bytes being sent */)8 1900(tpscnt; /*)1 621 2 1458 4524 t (WORD smb)1 622 1 786 4644 t 10 S f (_)1408 4644 w 10 R f ( total number of data bytes being sent */)8 1668(tdscnt; /*)1 621 2 1458 4644 t (WORD smb)1 622 1 786 4764 t 10 S f (_)1408 4764 w 10 R f ( number of parameter bytes being sent this buffer */)9 2143(pscnt; /*)1 621 2 1458 4764 t (WORD smb)1 622 1 786 4884 t 10 S f (_)1408 4884 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(psoff; /*)1 621 2 1458 4884 t (WORD smb)1 622 1 786 5004 t 10 S f (_)1408 5004 w 10 R f ( byte displacement for these parameter bytes */)7 1938(psdisp; /*)1 621 2 1458 5004 t (WORD smb)1 622 1 786 5124 t 10 S f (_)1408 5124 w 10 R f ( number of data bytes being sent this buffer */)9 1911(dscnt; /*)1 621 2 1458 5124 t (WORD smb)1 622 1 786 5244 t 10 S f (_)1408 5244 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(dsoff; /*)1 621 2 1458 5244 t (WORD smb)1 622 1 786 5364 t 10 S f (_)1408 5364 w 10 R f ( byte displacement for these data bytes */)7 1706(dsdisp; /*)1 621 2 1458 5364 t (WORD smb)1 622 1 786 5484 t 10 S f (_)1408 5484 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 621 2 1458 5484 t (BYTE smb)1 578 1 830 5604 t 10 S f (_)1408 5604 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 621 2 1458 5604 t (BYTE smb)1 578 1 830 5724 t 10 S f (_)1408 5724 w 10 R f ( param bytes \(* = value of smb)7 1296(param[*]; /*)1 621 2 1458 5724 t 10 S f (_)3375 5724 w 10 R f (pscnt\) */)1 355 1 3425 5724 t (BYTE smb)1 578 1 830 5844 t 10 S f (_)1408 5844 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad1[]; /*)1 621 2 1458 5844 t (BYTE smb)1 578 1 830 5964 t 10 S f (_)1408 5964 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 621 2 1458 5964 t 10 S f (_)3292 5964 w 10 R f (dscnt\) */)1 355 1 3342 5964 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 36 36 %%Page: 37 37 save mark 37 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 37 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Response Format \(may respond with one or more of these\):)9 2449 1 720 840 t (BYTE smb)1 578 1 830 1020 t 10 S f (_)1408 1020 w 10 R f ( value = 8 */)4 532(wct; /*)1 621 2 1458 1020 t (WORD smb)1 622 1 786 1140 t 10 S f (_)1408 1140 w 10 R f ( total number of parameter bytes being returned */)8 2071(tprcnt; /*)1 621 2 1458 1140 t (WORD smb)1 622 1 786 1260 t 10 S f (_)1408 1260 w 10 R f ( total number of data bytes being returned */)8 1839(tdrcnt; /*)1 621 2 1458 1260 t (WORD smb)1 622 1 786 1380 t 10 S f (_)1408 1380 w 10 R f ( number of param bytes being returned this buffer */)9 2165(prcnt; /*)1 621 2 1458 1380 t (WORD smb)1 622 1 786 1500 t 10 S f (_)1408 1500 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(proff; /*)1 621 2 1458 1500 t (WORD smb)1 622 1 786 1620 t 10 S f (_)1408 1620 w 10 R f ( byte displacement for these parameter bytes */)7 1938(prdisp; /*)1 621 2 1458 1620 t (WORD smb)1 622 1 786 1740 t 10 S f (_)1408 1740 w 10 R f ( number of data bytes being returned this buffer */)9 2082(drcnt; /*)1 621 2 1458 1740 t (WORD smb)1 622 1 786 1860 t 10 S f (_)1408 1860 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(droff; /*)1 621 2 1458 1860 t (WORD smb)1 622 1 786 1980 t 10 S f (_)1408 1980 w 10 R f ( byte displacement for these data bytes */)7 1706(drdisp; /*)1 621 2 1458 1980 t (WORD smb)1 622 1 786 2100 t 10 S f (_)1408 2100 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 621 2 1458 2100 t (BYTE smb)1 578 1 830 2220 t 10 S f (_)1408 2220 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 621 2 1458 2220 t (BYTE smb)1 578 1 830 2340 t 10 S f (_)1408 2340 w 10 R f ( param bytes \(* = value of smb)7 1296(param[*]; /*)1 621 2 1458 2340 t 10 S f (_)3375 2340 w 10 R f (prcnt\) */)1 349 1 3425 2340 t (BYTE smb)1 578 1 830 2460 t 10 S f (_)1408 2460 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad1[]; /*)1 621 2 1458 2460 t (BYTE smb)1 578 1 830 2580 t 10 S f (_)1408 2580 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 621 2 1458 2580 t 10 S f (_)3292 2580 w 10 R f (drcnt\) */)1 349 1 3342 2580 t (Service:)720 2760 w ( and the device/\256le speci\256c response to)6 1672(This function delivers a device/\256le speci\256c request to a server,)9 2648 2 720 2916 t ( target \256le is identi\256ed by the \256le handle in smb)10 1991( The)1 221(the requester.)1 545 3 720 3036 t 10 S f (_)3477 3036 w 10 R f (\256d.)3527 3036 w ( Therefore)1 462( particular device type on a particular server type.)8 2076(The request de\256nes a function speci\256c to a)7 1782 3 720 3276 t ( The)1 229( by consumer/server implementations.)3 1574(the functions supported are not de\256ned by the protocol, but)9 2517 3 720 3396 t (protocol simply provides a means of delivering them and retrieving the results.)11 3240 1 720 3516 t ( make up the complete protocol, thus the TID,)8 1970(Note that the primary request through the \256nal response)8 2350 2 720 3756 t ( consumer to)2 532(PID, UID and MID are expected to remain constant and can be used by both the server and)17 3788 2 720 3876 t (route the individual messages of the protocol to the correct process.)10 2778 1 720 3996 t ( bytes needed in order to perform the IOCTL request may be more than will \256t in a sin-)18 3705(The number of)2 615 2 720 4236 t (gle buffer.)1 423 1 720 4356 t ( the number of parameter and data bytes expected to be)10 2335(At the time of the request, the consumer knows)8 1985 2 720 4596 t ( this information to the server via the primary request \(smb)10 2458(sent and passes)2 632 2 720 4716 t 10 S f (_)3810 4716 w 10 R f (tpscnt and smb)2 620 1 3860 4716 t 10 S f (_)4480 4716 w 10 R f (tdscnt\). This)1 510 1 4530 4716 t (may be reduced by lowering the total number of bytes expected \(smb)11 2918 1 720 4836 t 10 S f (_)3638 4836 w 10 R f ( smbtdscnt\) in each)3 819(tpscnt and/or)1 533 2 3688 4836 t (\(any\) secondary request.)2 993 1 720 4956 t (Thus when the amount of parameter bytes received \(total of each smb)11 2906 1 720 5196 t 10 S f (_)3626 5196 w 10 R f ( amount of)2 457(pscnt\) equals the total)3 907 2 3676 5196 t (parameter bytes expected \(smallest smb)4 1651 1 720 5316 t 10 S f (_)2371 5316 w 10 R f ( the parameter)2 598(tpscnt\) received, then the server has received all)7 2021 2 2421 5316 t (bytes.)720 5436 w ( bytes received \(total of each smb)6 1425(Likewise, when the amount of data)5 1468 2 720 5676 t 10 S f (_)3613 5676 w 10 R f (dscnt\) equals the total amount of)5 1377 1 3663 5676 t (data bytes expected \(smallest smb)4 1391 1 720 5796 t 10 S f (_)2111 5796 w 10 R f (tdscnt\) received, then the server has received all the data bytes.)10 2595 1 2161 5796 t ( However, the server)3 914(The parameter bytes should normally be sent \256rst followed by the data bytes.)12 3406 2 720 6036 t ( buffer by the offset \256elds \(smb)6 1361(knows where each begins and ends in each)7 1835 2 720 6156 t 10 S f (_)3916 6156 w 10 R f (psoff and smb)2 600 1 3966 6156 t 10 S f (_)4566 6156 w 10 R f (dsoff\) and)1 424 1 4616 6156 t (the length \256elds \(smb)3 894 1 720 6276 t 10 S f (_)1614 6276 w 10 R f (pscnt and smb)2 592 1 1664 6276 t 10 S f (_)2256 6276 w 10 R f ( each\) is)2 354( displacement of the bytes \(relative to start of)8 1888(dscnt\). The)1 492 3 2306 6276 t (also known \(smb)2 709 1 720 6396 t 10 S f (_)1429 6396 w 10 R f (psdisp and smb)2 643 1 1479 6396 t 10 S f (_)2122 6396 w 10 R f ( able to reasemble the parameter and data)7 1737( the server is)3 546(dsdisp\). Thus)1 585 3 2172 6396 t (bytes should the)2 666 1 720 6516 t 10 S1 f (")1419 6516 w 10 R f (packets)1460 6516 w 10 S1 f (")1759 6516 w 10 R f (\(buffers\) be received out of sequence.)5 1545 1 1833 6516 t ( response is expected \(and)4 1099(If all parameter bytes and data bytes \256t into a single buffer, then no interrum)14 3221 2 720 6756 t (no secondary request is sent\).)4 1210 1 720 6876 t ( amount of data bytes and parameter bytes which the server may)11 2789(The Consumer knows the maximum)4 1531 2 720 7116 t (return \(from smb)2 698 1 720 7236 t 10 S f (_)1418 7236 w 10 R f (mprcnt and smb)2 660 1 1468 7236 t 10 S f (_)2128 7236 w 10 R f ( it initializes its bytes expected variables)6 1663( Thus)1 266(mdrcnt of the request\).)3 933 3 2178 7236 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 37 37 %%Page: 38 38 save mark 38 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 38 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( being returned via each)4 1030( Server then informs the consumer of the actual amounts)9 2413( The)1 230(to these values.)2 647 4 720 840 t 10 S1 f (")720 960 w 10 R f (packet)761 960 w 10 S1 f (")1021 960 w 10 R f (\(buffer\) of the response \(smb)4 1195 1 1095 960 t 10 S f (_)2290 960 w 10 R f (tprcnt and smb)2 610 1 2340 960 t 10 S f (_)2950 960 w 10 R f (tdrcnt\).)3000 960 w ( the total number of bytes expected \(smb)7 1740(The server may reduce the expected bytes by lowering)8 2297 2 720 1200 t 10 S f (_)4757 1200 w 10 R f (tprcnt)4807 1200 w (and/or smb)1 455 1 720 1320 t 10 S f (_)1175 1320 w 10 R f (tdrcnt\) in each \(any\) response.)4 1242 1 1225 1320 t ( of each smb)3 543(Thus when the amount of parameter bytes received \(total)8 2366 2 720 1560 t 10 S f (_)3629 1560 w 10 R f (prcnt\) equals the total amount of)5 1361 1 3679 1560 t (parameter bytes expected \(smallest smb)4 1631 1 720 1680 t 10 S f (_)2351 1680 w 10 R f ( received all the parame-)4 1021(tprcnt\) received, then the consumer has)5 1618 2 2401 1680 t (ter bytes.)1 374 1 720 1800 t (Likewise, when the amount of data bytes received \(total of each smb)11 2898 1 720 2040 t 10 S f (_)3618 2040 w 10 R f ( of)1 123(drcnt\) equals the total amount)4 1249 2 3668 2040 t (data bytes expected \(smallest smb)4 1391 1 720 2160 t 10 S f (_)2111 2160 w 10 R f (tdrcnt\) received, then the consumer has received all the data bytes.)10 2734 1 2161 2160 t ( bytes. However, the consu-)4 1174(The parameter bytes should normally be returned \256rst followed by the data)11 3146 2 720 2400 t ( buffer by the offset \256elds \(smb)6 1361(mer knows where each begins and ends in each)8 2033 2 720 2520 t 10 S f (_)4114 2520 w 10 R f (proff and smb)2 594 1 4164 2520 t 10 S f (_)4758 2520 w 10 R f (droff\))4808 2520 w (and the length \256elds \(smb)4 1121 1 720 2640 t 10 S f (_)1841 2640 w 10 R f (prcnt and smb)2 610 1 1891 2640 t 10 S f (_)2501 2640 w 10 R f ( of the bytes \(relative to start of)7 1417( displacement)1 574(drcnt\). The)1 498 3 2551 2640 t (each\) is also known \(smb)4 1059 1 720 2760 t 10 S f (_)1779 2760 w 10 R f ( smb)1 202(prdisp and)1 430 2 1829 2760 t 10 S f (_)2461 2760 w 10 R f ( the consumer is able to reasemble the parame-)8 1953(drdisp\). Thus)1 576 2 2511 2760 t (ter and data bytes should the)5 1180 1 720 2880 t 10 S1 f (")1933 2880 w 10 R f (packets)1974 2880 w 10 S1 f (")2273 2880 w 10 R f (\(buffers\) be received out of sequence.)5 1545 1 2347 2880 t (In the simplest form, a single request is sent and a single response is returned.)14 3219 1 720 3120 t (Thus the \257ow is:)3 694 1 720 3360 t ( \(both parameters)2 740( consumer sends the \256rst \(primary\) request which identi\256es the total bytes)11 3175(1 The)1 405 3 720 3636 t ( \256t in a nego-)4 573(and data\) which are expected to be sent and contains as many of those bytes as will)16 3497 2 970 3756 t ( number of bytes \(both parameters)5 1477( request also identi\256es the maximum)5 1569( This)1 289(tiated size buffer.)2 735 4 970 3876 t ( the server will need to return on IOCTL completion. If all the bytes \256t in the single)17 3681(and data\))1 389 2 970 3996 t (buffer, skip to step 4.)4 881 1 970 4116 t ( server responds with a single interim response meaning)8 2305(2 The)1 405 2 720 4392 t 10 S1 f (")3463 4392 w 10 R f (ok, send the remainder of the bytes)6 1448 1 3504 4392 t 10 S1 f (")4952 4392 w 10 R f (.)4993 4392 w ( iteration of this secon-)4 957( consumer then sends another buffer full of bytes to the server. On each)13 2958(3 The)1 405 3 720 4668 t (dary request, smb)2 727 1 970 4788 t 10 S f (_)1697 4788 w 10 R f (tpscnt and/or smb)2 731 1 1747 4788 t 10 S f (_)2478 4788 w 10 R f ( repeated until all bytes)4 968( step is)2 298( This)1 246(tdscnt could be reduced.)3 1000 4 2528 4788 t ( delivered to the server \(total of all smb)8 1703(have been)1 416 2 970 4908 t 10 S f (_)3089 4908 w 10 R f (pscnt equals smallest smb)3 1084 1 3139 4908 t 10 S f (_)4223 4908 w 10 R f (tpscnt and total of)3 767 1 4273 4908 t (all smb)1 300 1 970 5028 t 10 S f (_)1270 5028 w 10 R f (dscnt equals smallest smb)3 1060 1 1320 5028 t 10 S f (_)2380 5028 w 10 R f (tdscnt\).)2430 5028 w ( Server sets up and performs the IOCTL with the information provided.)11 2945(4 The)1 405 2 720 5304 t ( IOCTL, the server sends back \(up to\) the number of parameter and data)13 3076( completion of the)3 772(5 Upon)1 472 3 720 5580 t ( step is repeated until all)5 1014( This)1 244( in the negotiated buffer size\).)5 1237(bytes requested \(or as many as will \256t)7 1575 4 970 5700 t ( each iteration of this response, smb)6 1506( On)1 192(result bytes have been returned.)4 1310 3 970 5820 t 10 S f (_)3978 5820 w 10 R f (tprcnt and/or smb)2 729 1 4028 5820 t 10 S f (_)4757 5820 w 10 R f (tdrcnt)4807 5820 w ( repeated until all bytes have been delivered to the consumer \(total)11 2785( step is)2 304( This)1 249(could be reduced.)2 732 4 970 5940 t (of all smb)2 502 1 970 6060 t 10 S f (_)1472 6060 w 10 R f (prcnt equals smallest smb)3 1186 1 1522 6060 t 10 S f (_)2708 6060 w 10 R f (tprcnt and total of all smb)5 1290 1 2758 6060 t 10 S f (_)4048 6060 w 10 R f (drcnt equals smallest)2 942 1 4098 6060 t (smb)970 6180 w 10 S f (_)1137 6180 w 10 R f (tdrcnt\).)1187 6180 w ( NOT all \256t in a single)6 1026(The \257ow for the IOCTL protocol when the request parameters and data does)12 3294 2 720 6576 t (buffer is:)1 371 1 720 6696 t (consumer)1080 6936 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 906 1 1502 6936 t 10 R f (IOCTL request \(data\))2 880 1 2445 6936 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1046 2 3358 6936 t 10 R f (server)4437 6936 w (consumer)1080 7056 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261<)1 782(\261 <)1 61 2 1501 7056 t 10 R f (OK send remaining data)3 997 1 2377 7056 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261)1 903(\261 <)1 61 2 3407 7056 t 10 R f (server)4437 7056 w (consumer)1080 7176 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1502 7176 t 10 R f (IOCTL secondary request 1 \(data\))4 1400 1 2185 7176 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261)1 786 2 3618 7176 t 10 R f (server)4437 7176 w (consumer)1080 7296 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1502 7296 t 10 R f (IOCTL secondary request 2 \(data\))4 1400 1 2185 7296 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261)1 786 2 3618 7296 t 10 R f (server)4437 7296 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 38 38 %%Page: 39 39 save mark 39 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 39 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( .)1 1787(. .)1 1813 2 1080 840 t (consumer)1080 960 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1502 960 t 10 R f (IOCTL secondary request n \(data\))4 1400 1 2185 960 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261)1 786 2 3618 960 t 10 R f (server)4437 960 w ( .)1 1787(. .)1 1813 2 1080 1080 t ( .)1 961( sets up and performs the IOCTL\))6 1401(. \(server)1 1238 3 1080 1200 t ( .)1 1787(. .)1 1813 2 1080 1320 t (consumer)1080 1440 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 769(\261 <)1 61 2 1501 1440 t 10 R f (IOCTL response 1 \(data\))3 1024 1 2364 1440 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 922(\261 <)1 61 2 3421 1440 t 10 R f (server)4437 1440 w (consumer)1080 1560 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 769(\261 <)1 61 2 1501 1560 t 10 R f (IOCTL response 2 \(data\))3 1024 1 2364 1560 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 922(\261 <)1 61 2 3421 1560 t 10 R f (server)4437 1560 w ( .)1 1787(. .)1 1813 2 1080 1680 t (consumer)1080 1800 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 769(\261 <)1 61 2 1501 1800 t 10 R f (IOCTL response n \(data\))3 1024 1 2364 1800 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 922(\261 <)1 61 2 3421 1800 t 10 R f (server)4437 1800 w (The \257ow for the IOCTL protocol when the request parameters and data does all \256t in a single buffer is:)19 4264 1 720 2040 t (consumer)1080 2280 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 906 1 1502 2280 t 10 R f (IOCTL request \(data\))2 880 1 2445 2280 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1046 2 3358 2280 t 10 R f (server)4437 2280 w ( .)1 1787(. .)1 1813 2 1080 2400 t ( .)1 961( sets up and performs the IOCTL\))6 1401(. \(server)1 1238 3 1080 2520 t ( .)1 1787(. .)1 1813 2 1080 2640 t (consumer)1080 2760 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 769(\261 <)1 61 2 1501 2760 t 10 R f (IOCTL response 1 \(data\))3 1024 1 2364 2760 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 922(\261 <)1 61 2 3421 2760 t 10 R f (server)4437 2760 w ( .)1 1124( one if all data \256t in buffer\))7 1140(. \(only)1 1336 3 1080 2880 t (consumer)1080 3000 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 769(\261 <)1 61 2 1501 3000 t 10 R f (IOCTL response 2 \(data\))3 1024 1 2364 3000 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 922(\261 <)1 61 2 3421 3000 t 10 R f (server)4437 3000 w ( .)1 1787(. .)1 1813 2 1080 3120 t (consumer)1080 3240 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 769(\261 <)1 61 2 1501 3240 t 10 R f (IOCTL response n \(data\))3 1024 1 2364 3240 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 922(\261 <)1 61 2 3421 3240 t 10 R f (server)4437 3240 w ( Only)1 268( simple form of the IOCTL protocol.)6 1528(The \256rst release of LANMAN 1.0 will support only the most)10 2524 3 720 3516 t ( the maximum number of parameter bytes is)7 1858( Further)1 365(a single request and a single response is expected.)8 2097 3 720 3636 t ( bytes and the maximum number of data bytes is limited to 128 bytes on both the request)17 3738(limited to 128)2 582 2 720 3756 t ( the minimum)2 590(and response IOCTL protocols. This ensures that the request and response will \256t within)13 3730 2 720 3876 t (1024 byte SMB buffers.)3 990 1 720 3996 t ( does all \256t in a single buffer is)8 1342(The \257ow for the IOCTL protocol when the request parameters and data)11 2978 2 720 4236 t (and the reply parameters and data all \256t in a single buffer is:)12 2497 1 720 4356 t (consumer)1080 4596 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 906 1 1502 4596 t 10 R f (IOCTL request \(data\))2 880 1 2445 4596 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1046 2 3358 4596 t 10 R f (server)4437 4596 w ( .)1 1787(. .)1 1813 2 1080 4716 t ( .)1 961( sets up and performs the IOCTL\))6 1401(. \(server)1 1238 3 1080 4836 t ( .)1 1787(. .)1 1813 2 1080 4956 t (consumer)1080 5076 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261<)1 810(\261 <)1 61 2 1501 5076 t 10 R f (IOCTL response \(data\))2 941 1 2405 5076 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 964(\261 <)1 61 2 3379 5076 t 10 R f (server)4437 5076 w (IOCTL may generate the following errors.)5 1736 1 720 5352 t (Error Class ERRDOS)2 888 1 1080 5532 t (ERRbad\256le)1146 5772 w (ERRbad\256d)1146 5892 w (ERRbaddata)1146 6012 w 10 S1 f (<)1146 6132 w 10 R f (implementation speci\256c)1 966 1 1202 6132 t 10 S1 f (>)2168 6132 w 10 R f (Error Class ERRSRV)2 883 1 1080 6372 t (ERRerror)1146 6612 w (ERRinvnid)1146 6732 w 10 S1 f (<)1146 6852 w 10 R f (implementation speci\256c)1 966 1 1202 6852 t 10 S1 f (>)2168 6852 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 39 39 %%Page: 40 40 save mark 40 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 40 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRHRD)2 899 1 1080 900 t 10 S1 f (<)1146 1140 w 10 R f (implementation speci\256c)1 966 1 1202 1140 t 10 S1 f (>)2168 1140 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 40 40 %%Page: 41 41 save mark 41 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 41 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( and READ)2 511(9.2.8. LOCK)1 586 2 720 840 t 10 R f (Request Format \(same as core READ\):)5 1601 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 5 */)4 532(wct; /*)1 533 2 1497 1176 t (WORD smb)1 622 1 825 1296 t 10 S f (_)1447 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 533 2 1497 1296 t (WORD smb)1 622 1 825 1416 t 10 S f (_)1447 1416 w 10 R f ( number of bytes to lock and return */)8 1573(count; /*)1 533 2 1497 1416 t (DWORD smb)1 694 1 753 1536 t 10 S f (_)1447 1536 w 10 R f ( offset in \256le to lock and begin read */)9 1595(offset; /*)1 533 2 1497 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( number of bytes remaining to be read */)8 1689(remcnt; /*)1 533 2 1497 1656 t (WORD smb)1 622 1 825 1776 t 10 S f (_)1447 1776 w 10 R f ( value = 0 */)4 532(bcc; /*)1 533 2 1497 1776 t (Response Format \(same as core READ\):)5 1662 1 720 2112 t (BYTE smb)1 578 1 830 2292 t 10 S f (_)1408 2292 w 10 R f ( value = 5 */)4 532(wct; /*)1 544 2 1458 2292 t (WORD smb)1 622 1 786 2412 t 10 S f (_)1408 2412 w 10 R f ( number of locked bytes read */)6 1312(count; /*)1 544 2 1458 2412 t (WORD smb)1 622 1 786 2532 t 10 S f (_)1408 2532 w 10 R f ( reserved \(to match size of write request\) */)8 1798(rsvd[4]; /*)1 544 2 1458 2532 t (WORD smb)1 622 1 786 2652 t 10 S f (_)1408 2652 w 10 R f ( minimum value = 4 */)5 955(bcc; /*)1 544 2 1458 2652 t (BYTE smb)1 578 1 830 2772 t 10 S f (_)1408 2772 w 10 R f ( value = DATA)3 648(ident1; /*)1 544 2 1458 2772 t 10 S f (_)2650 2772 w 10 R f (BLOCK */)1 450 1 2700 2772 t (WORD smb)1 622 1 786 2892 t 10 S f (_)1408 2892 w 10 R f ( length of data returned */)5 1074(size; /*)1 544 2 1458 2892 t (BYTE smb)1 578 1 830 3012 t 10 S f (_)1408 3012 w 10 R f ( data */)2 310(data[]; /*)1 544 2 1458 3012 t (Service:)720 3312 w (The LockandRead request is used to lock and)7 1872 1 720 3468 t 10 S1 f (")2625 3468 w 10 R f (read ahead)1 436 1 2666 3468 t 10 S1 f (")3102 3468 w 10 R f (the speci\256ed bytes.)2 779 1 3176 3468 t (The locked portion of a \256le is)6 1236 1 720 3708 t 10 S1 f (")1990 3708 w 10 R f (safe)2031 3708 w 10 S1 f (")2191 3708 w 10 R f ( because no other process can access the locked bytes)9 2225(to read ahead)2 549 2 2266 3708 t ( will be)2 322( the consumer can assume that the bytes being locked)9 2246( Thus)1 270(until this process unlocks the bytes.)5 1482 4 720 3828 t (read and submit this protocol to both lock and read ahead the bytes.)12 2795 1 720 3948 t ( signi\256cant performance improvements on data base update operations \(lock data -)11 3549(This can provide)2 715 2 720 4188 t 10 S1 f (>)4984 4188 w 10 R f (read data -)2 436 1 720 4308 t 10 S1 f (>)1156 4308 w 10 R f ([update -)1 365 1 1245 4308 t 10 S1 f (>)1610 4308 w 10 R f (write data] -)2 503 1 1699 4308 t 10 S1 f (>)2202 4308 w 10 R f (unlock data\).)1 529 1 2291 4308 t ( is supported \(along with WriteandUnlock\) is returned in the smb)10 2758(Whether or not this protocol)4 1188 2 720 4548 t 10 S f (_)4666 4548 w 10 R f (\257g \256eld)1 324 1 4716 4548 t (of the negotiate response.)3 1044 1 720 4668 t ( bytes before)2 535( server merely locks the)4 989( The)1 222(The request and response format are identical to the core read.)10 2574 4 720 4908 t (reading them.)1 557 1 720 5028 t (If an error occurs on the lock, the bytes should not be read.)12 2446 1 720 5268 t (LockandRead may generate the following errors:)5 1999 1 720 5508 t (Error Class ERRDOS:)2 916 1 1080 5688 t (ERRnoaccess)1146 5928 w (ERRbad\256d)1146 6048 w (ERRlock)1146 6168 w (ERRbadaccess)1146 6288 w (Error Class ERRSRV:)2 911 1 1080 6528 t (ERRerror)1146 6768 w (ERRinvdevice)1146 6888 w (ERRinvnid)1146 7008 w 10 S1 f (<)1146 7128 w 10 R f (implementation speci\256c)1 966 1 1202 7128 t 10 S1 f (>)2168 7128 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 41 41 %%Page: 42 42 save mark 42 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 42 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRHRD:)2 927 1 1080 900 t 10 S1 f (<)1146 1140 w 10 R f (implementation speci\256c)1 966 1 1202 1140 t 10 S1 f (>)2168 1140 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 42 42 %%Page: 43 43 save mark 43 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 43 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( and X)2 300(9.2.9. LOCKING)1 775 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 8 */)4 532(wct; /*)1 706 2 1497 1176 t (BYTE smb)1 578 1 869 1296 t 10 S f (_)1447 1296 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 706 2 1497 1296 t (BYTE smb)1 578 1 869 1416 t 10 S f (_)1447 1416 w 10 R f ( reserved \(must be zero\) */)5 1106(reh2; /*)1 706 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 706 2 1497 1536 t 10 S1 f (@)3959 1536 w 10 R f (smb)4051 1536 w 10 S f (_)4218 1536 w 10 R f (wct\) */)1 288 1 4268 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( \256le handle */)3 571(\256d; /*)1 706 2 1497 1656 t (WORD smb)1 622 1 825 1776 t 10 S f (_)1447 1776 w 10 R f ( locking mode:)2 616(locktype; /*)1 706 2 1497 1776 t (bit 0 - 0 = lock out all access, 1 = read ok while locked)14 2301 1 2125 1896 t (bit 1 - 1 = single user total \256le unlock)9 1575 1 2125 2016 t (DWORD smb)1 694 1 753 2136 t 10 S f (_)1447 2136 w 10 R f ( number of milliseconds to attempt each lock */)8 1968(timeout; /*)1 706 2 1497 2136 t (WORD smb)1 622 1 825 2256 t 10 S f (_)1447 2256 w 10 R f ( number of unlock range structures following */)7 1967(unlocknum; /*)1 706 2 1497 2256 t (WORD smb)1 622 1 825 2376 t 10 S f (_)1447 2376 w 10 R f ( number of lock range structures following */)7 1867(locknum; /*)1 706 2 1497 2376 t (WORD smb)1 622 1 825 2496 t 10 S f (_)1447 2496 w 10 R f ( total bytes following */)4 988(bcc; /*)1 706 2 1497 2496 t (struct smb)1 539 1 908 2616 t 10 S f (_)1447 2616 w 10 R f ( unlock range structures \(* = smb)6 1385(unlkrng[*]; /*)1 706 2 1497 2616 t 10 S f (_)3588 2616 w 10 R f (unlocknum\) */)1 594 1 3638 2616 t (struct smb)1 539 1 908 2736 t 10 S f (_)1447 2736 w 10 R f ( lock range structures \(* = smb)6 1285(lockrng[*]; /*)1 706 2 1497 2736 t 10 S f (_)3488 2736 w 10 R f (locknum\) */)1 494 1 3538 2736 t (Unlock Range Structure \(smb)3 1214 1 720 3072 t 10 S f (_)1934 3072 w 10 R f (unlkrng\) Format:)1 694 1 1984 3072 t (WORD smb)1 622 1 825 3252 t 10 S f (_)1447 3252 w 10 R f ( pid of process)3 609(lpid; /*)1 650 2 1497 3252 t 10 S1 f (")2789 3252 w 10 R f (owning)2830 3252 w 10 S1 f (")3130 3252 w 10 R f (the lock */)2 438 1 3204 3252 t (DWORD smb)1 694 1 753 3372 t 10 S f (_)1447 3372 w 10 R f ( \256le offset to bytes to be unlocked */)8 1524(unlockoff; /*)1 650 2 1497 3372 t (DWORD smb)1 694 1 753 3492 t 10 S f (_)1447 3492 w 10 R f ( number of bytes to be unlocked */)7 1446(unlocklen; /*)1 650 2 1497 3492 t (Lock Range Structure \(smb)3 1125 1 720 3828 t 10 S f (_)1845 3828 w 10 R f (lockrng\) Format:)1 688 1 1895 3828 t (WORD smb)1 622 1 825 4008 t 10 S f (_)1447 4008 w 10 R f ( pid of process)3 609(lpid; /*)1 550 2 1497 4008 t 10 S1 f (")2689 4008 w 10 R f (owning)2730 4008 w 10 S1 f (")3030 4008 w 10 R f (the lock */)2 438 1 3104 4008 t (DWORD smb)1 694 1 753 4128 t 10 S f (_)1447 4128 w 10 R f ( \256le offset to bytes to be locked */)8 1424(lockoff; /*)1 550 2 1497 4128 t (DWORD smb)1 694 1 753 4248 t 10 S f (_)1447 4248 w 10 R f ( number of bytes to be locked */)7 1346(locklen; /*)1 550 2 1497 4248 t (Response Format:)1 733 1 720 4584 t (BYTE smb)1 578 1 830 4764 t 10 S f (_)1408 4764 w 10 R f ( value = 2 */)4 532(wct; /*)1 478 2 1458 4764 t (BYTE smb)1 578 1 830 4884 t 10 S f (_)1408 4884 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 478 2 1458 4884 t (BYTE smb)1 578 1 830 5004 t 10 S f (_)1408 5004 w 10 R f ( reserved \(pad to word\) */)5 1073(res2; /*)1 478 2 1458 5004 t (WORD smb)1 622 1 786 5124 t 10 S f (_)1408 5124 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 478 2 1458 5124 t 10 S1 f (@)3692 5124 w 10 R f (smb)3784 5124 w 10 S f (_)3951 5124 w 10 R f (wct\) */)1 288 1 4001 5124 t (WORD smb)1 622 1 786 5244 t 10 S f (_)1408 5244 w 10 R f ( value = 0 */)4 532(bcc; /*)1 478 2 1458 5244 t (Service Enhancement:)1 903 1 720 5580 t (This protocol allows both locking and/or unlocking of \256le range\(s\).)9 2764 1 720 5736 t (If unlocking is speci\256ed \(smb)4 1228 1 720 6096 t 10 S f (_)1948 6096 w 10 R f ( of bytes speci\256ed by smb)5 1096(unlocknum non-zero\), the number)3 1394 2 1998 6096 t 10 S f (_)4488 6096 w 10 R f (unlocklen at)1 502 1 4538 6096 t (the \256le offset speci\256ed by smb)5 1314 1 720 6216 t 10 S f (_)2034 6216 w 10 R f ( if locking is)3 554( Then)1 281(unlockoff will be unlocked for each unlock range.)7 2121 3 2084 6216 t (speci\256ed \(smb)1 610 1 720 6336 t 10 S f (_)1330 6336 w 10 R f (locknum non-zero\), the number of bytes speci\256ed by smb)8 2545 1 1380 6336 t 10 S f (_)3925 6336 w 10 R f ( \256le offset)2 467(locklen at the)2 598 2 3975 6336 t (speci\256ed by smb)2 688 1 720 6456 t 10 S f (_)1408 6456 w 10 R f (lockoff will be locked for each lock range.)7 1751 1 1458 6456 t (The time speci\256ed by smb)4 1171 1 720 6696 t 10 S f (_)1891 6696 w 10 R f ( the byte range\(s\))3 785(timeout is the maximum amount of time to wait for)9 2314 2 1941 6696 t ( timeout value of 0 indi-)5 1034( A)1 143(speci\256ed to become unlocked \(so that they can be locked by this protocol\).)12 3143 3 720 6816 t ( timeout value of)3 707( A)1 139( if any lock range speci\256ed is locked.)7 1549(cates that this protocol should fail immediately)6 1925 4 720 6936 t ( long as it takes for each byte range speci\256ed to become)11 2495(-1 indicates that the server should wait as)7 1825 2 720 7056 t ( other value of smb)4 815( Any)1 241( it may be again locked by this protocol.)8 1695(unlocked so that)2 675 4 720 7176 t 10 S f (_)4146 7176 w 10 R f (timeout speci\256es the)2 844 1 4196 7176 t (maximum number of milliseconds to wait for all lock range\(s\) speci\256ed to become available.)13 3821 1 720 7296 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 43 43 %%Page: 44 44 save mark 44 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 44 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( the lock ranges timeout because of the area to be locked is already locked \(or the lock fails\),)18 3951(If any of)2 369 2 720 840 t ( locked as a result of this protocol will)8 1636(the other ranges in the protocol request which were successfully)9 2684 2 720 960 t ( ranges will be locked when this protocol returns to the consumer or)12 2946(be unlocked \(either all requested)4 1374 2 720 1080 t (none\).)720 1200 w (If smb)1 270 1 720 1440 t 10 S f (_)990 1440 w 10 R f (locktype is 1, the lock is speci\256ed as a)8 1625 1 1040 1440 t 10 S1 f (")2703 1440 w 10 R f (read only)1 387 1 2744 1440 t 10 S1 f (")3131 1440 w 10 R f ( for both read and write \(where)6 1318(lock. Locks)1 512 2 3210 1440 t (smb)720 1560 w 10 S f (_)887 1560 w 10 R f (locktype is 0\) should be prohibited, but other)7 1890 1 937 1560 t 10 S1 f (")2865 1560 w 10 R f (read only)1 387 1 2906 1560 t 10 S1 f (")3293 1560 w 10 R f ( this mode)2 441( If)1 136(locks should be permitted.)3 1091 3 3372 1560 t ( smb)1 202(can not be supported on a given server, the)8 1782 2 720 1680 t 10 S f (_)2704 1680 w 10 R f (locktype \256eld should always be treated as 0 in that any)10 2286 1 2754 1680 t (lock attempt will fail if the byte range speci\256ed is locked.)10 2380 1 720 1800 t (Closing a \256le with locks still in force causes the locks to be released in no de\256ned order.)17 3665 1 720 2040 t ( The)1 223( a simple mechanism for excluding other processes read/write access to regions of a \256le.)14 3663(Locking is)1 434 3 720 2280 t ( Any)1 245( beyond end-of-\256le is NOT an error.)6 1539( Locking)1 406( logical \256le.)2 505(locked regions can be anywhere in the)6 1625 5 720 2400 t ( smb)1 201(process using the FID speci\256ed in)5 1397 2 720 2520 t 10 S f (_)2318 2520 w 10 R f (\256d has access to the locked bytes, other processes will be denied)11 2672 1 2368 2520 t (the locking of the same bytes.)5 1233 1 720 2640 t ( any of the)3 484(The proper method for using locks is not to rely on being denied read or write access on)17 3836 2 720 2880 t ( attempt the locking protocol and proceed with the read/write only if)11 2930(read/write protocols but rather to)4 1390 2 720 3000 t (the lock succeeded.)2 794 1 720 3120 t ( other words, if)3 646( In)1 153(Locking a range of bytes will fail if any subranges or overlapping ranges are locked.)14 3521 3 720 3360 t (any of the speci\256ed bytes are already locked, the lock will fail.)11 2591 1 720 3480 t (The time which a byte range is locked should be kept as short as possible.)14 3061 1 720 3720 t ( including the optional second protocol must \256t in the negotiated)10 2753(The entire message sent and received)5 1567 2 720 3960 t (max transfer size.)2 722 1 720 4080 t (NOTE - LANMAN 1.0 does not support smb)7 1934 1 720 4320 t 10 S f (_)2654 4320 w 10 R f ( bit 1 is set \(read ok while locked\) also)9 1707(locktype where)1 629 2 2704 4320 t (smb)720 4440 w 10 S f (_)887 4440 w 10 R f (timeout is ignored and treated as if it were set to zero.)11 2234 1 937 4440 t (The following are the only valid protocol requests commands for smb)10 2871 1 720 4680 t 10 S f (_)3591 4680 w 10 R f (com2 \(X\) for LOCKING and X:)5 1334 1 3641 4680 t (READ)1080 4860 w (READ and X)2 554 1 1080 4980 t (A)720 5196 w 10 S1 f (")826 5196 w 10 R f (single user total \256le lock)4 1019 1 867 5196 t 10 S1 f (")1886 5196 w 10 R f (is also known as an)4 813 1 1961 5196 t 10 S1 f (")2808 5196 w 10 R f (opportunistic lock)1 734 1 2849 5196 t 10 S1 f (")3583 5196 w 10 R f ( consumer requests an)3 911(. A)1 164 2 3624 5196 t 10 S1 f (")4733 5196 w 10 R f (oppor-)4774 5196 w (tunistic lock)1 505 1 720 5316 t 10 S1 f (")1225 5316 w 10 R f ( when-)1 286(by setting the appropriate bit in the OpenX, Open, Create and MakeNew protocols)12 3450 2 1304 5316 t ( server responds by setting the)5 1327( The)1 236( is being opened in a mode which is not exclusive.)10 2242(ever the \256le)2 515 4 720 5436 t ( response protocol indicating whether or not the)7 2016(appropriate bit in the)3 883 2 720 5556 t 10 S1 f (")3659 5556 w 10 R f (opportunistic lock)1 740 1 3700 5556 t 10 S1 f (")4440 5556 w 10 R f (was granted.)1 519 1 4521 5556 t (By granting the)2 656 1 720 5676 t 10 S1 f (")1418 5676 w 10 R f (oplock)1459 5676 w 10 S1 f (")1731 5676 w 10 R f ( ONLY being used by)4 954(, the server tells the consumer that the \256le is currently)10 2314 2 1772 5676 t ( consumer can therefore safely do read ahead and)8 2122( The)1 232( at the current time.)4 855(this one consumer process)3 1111 4 720 5796 t ( as well as local caching of \256le locks knowing that the \256le will not be accessed/changed in)17 3807(write behind)1 513 2 720 5916 t (any way by another process while the)6 1550 1 720 6036 t 10 S1 f (")2303 6036 w 10 R f (oplock)2344 6036 w 10 S1 f (")2616 6036 w 10 R f (is in effect.)2 462 1 2690 6036 t ( any other process attempts to open the)7 1752(The consumer will be noti\256ed when)5 1575 2 720 6276 t 10 S1 f (")4100 6276 w 10 R f (oplocked)4141 6276 w 10 S1 f (")4507 6276 w 10 R f (\256le and if)2 439 1 4601 6276 t 10 S1 f (")720 6396 w 10 R f (opbatch)761 6396 w 10 S1 f (")1077 6396 w 10 R f ( smb)1 203(\(bit 2 of)2 346 2 1155 6396 t 10 S f (_)1704 6396 w 10 R f (\257ags\) was set on the OpenX request, the consumer will also be noti\256ed on any)14 3286 1 1754 6396 t (operation which may change the \256le.)5 1515 1 720 6516 t (When another user attempts to Open \(or otherwise modify if)9 2541 1 720 6756 t 10 S1 f (")3300 6756 w 10 R f (opbatch)3341 6756 w 10 S1 f (")3657 6756 w 10 R f (was requested\) the \256le which a)5 1303 1 3737 6756 t (consumer has oplocked, the server will)5 1623 1 720 6876 t 10 S1 f (")2381 6876 w 10 R f (hold off)1 332 1 2422 6876 t 10 S1 f (")2754 6876 w 10 R f ( consumer via a Lock-)4 940(the 2nd attempt and notify the)5 1267 2 2833 6876 t (ingX protocol \(with bit one of smb)6 1496 1 720 6996 t 10 S f (_)2216 6996 w 10 R f (locktype set\) that the)3 886 1 2266 6996 t 10 S1 f (")3194 6996 w 10 R f (oplock)3235 6996 w 10 S1 f (")3507 6996 w 10 R f ( consumer is)2 541( The)1 231(is being broken.)2 677 3 3591 6996 t ( this\))1 215(expected to then \257ush any dirty buffers, submit any \256le locks \(LockingX protocol can be used for)16 4105 2 720 7116 t ( protocol \(with bit one of smb)6 1272(and respond to the server with either a LockingX)8 2053 2 720 7236 t 10 S f (_)4045 7236 w 10 R f (locktype set\) or with a)4 945 1 4095 7236 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 44 44 %%Page: 45 45 save mark 45 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 45 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( that because a close being sent to the server and)10 2134( Note)1 272( the \256le is no longer in use.)7 1223(close protocol if)2 691 4 720 840 t ( noti\256cation from the server could cross on the wire, if the consumer gets an oplock)15 3774(break oplock)1 546 2 720 960 t ( the)1 179( Once)1 300(noti\256cation on a \256le which it does not have open, that noti\256cation should be ignored.)14 3841 3 720 1080 t 10 S1 f (")720 1200 w 10 R f (oplock)761 1200 w 10 S1 f (")1033 1200 w 10 R f ( The)1 237( caching.)1 384(has been broken, the consumer must no longer do any form of data or lock)14 3297 3 1122 1200 t 10 S1 f (")720 1320 w 10 R f (oplock)761 1320 w 10 S1 f (")1033 1320 w 10 R f ( once the consumer has been)5 1209( the \256le is still open)5 857( If)1 138(is never reenstated while the \256le is open.)7 1723 4 1113 1320 t (noti\256ed, the 2nd opener does not get the \256le)8 1829 1 720 1440 t 10 S1 f (")2583 1440 w 10 R f (oplocked)2624 1440 w 10 S1 f (")2990 1440 w 10 R f ( the)1 157( the \256le is closed by)5 842( If)1 133(along with the open.)3 843 4 3065 1440 t (consumer which had it open, the server is again free to grant the new opener the oplock.)16 3642 1 720 1560 t (Note that the)2 536 1 720 1800 t 10 S1 f (")1291 1800 w 10 R f (oplock)1332 1800 w 10 S1 f (")1604 1800 w 10 R f ( the oplock is bro-)4 771(broken noti\256cation will only go to one consumer because after)9 2589 2 1680 1800 t (ken, any further open attempts will just get the oplock request denied.)11 2876 1 720 1920 t ( an)1 138(Also note that due to timing, the consumer could get)9 2261 2 720 2160 t 10 S1 f (")3163 2160 w 10 R f (oplock)3204 2160 w 10 S1 f (")3476 2160 w 10 R f (broken noti\256cation in a user's data)5 1479 1 3561 2160 t ( consumer must)2 651( The)1 222( crossing on the wire with a Read Raw request.)9 1961(buffer as a result of this noti\256cation)6 1486 4 720 2280 t (detect this \(use length of msg,)5 1279 1 720 2400 t 10 S1 f (")2040 2400 w 10 R f (FFSMB)2081 2400 w 10 S1 f (")2405 2400 w 10 R f ( smb)1 241(, MID of -1 and)4 693 2 2446 2400 t 10 S f (_)3380 2400 w 10 R f ( the)1 164(cmd of SMBLockingX\) and honor)4 1446 2 3430 2400 t 10 S1 f (")720 2520 w 10 R f (oplock)761 2520 w 10 S1 f (")1033 2520 w 10 R f ( server must also note on receipt of an Read Raw request that)12 2553( The)1 222( usual.)1 270(broken noti\256cation as)2 886 4 1109 2520 t (there is an outstanding \(unanswered\))4 1561 1 720 2640 t 10 S1 f (")2329 2640 w 10 R f (oplock)2370 2640 w 10 S1 f (")2642 2640 w 10 R f ( to the consumer and return a zero)7 1528(broken noti\256cation)1 781 2 2731 2640 t ( consumer should \(after responding to the)6 1742( The)1 226( denoting failure of the read raw request.)7 1714(length response)1 638 4 720 2760 t 10 S1 f (")720 2880 w 10 R f (oplock)761 2880 w 10 S1 f (")1033 2880 w 10 R f ( allows a \256le to)4 647( This)1 245( read protocol to redo the read request.)7 1603(broken noti\256cation\), use a standard)4 1438 4 1107 2880 t (actually contain data matching an)4 1374 1 720 3000 t 10 S1 f (")2127 3000 w 10 R f (oplock)2168 3000 w 10 S1 f (")2440 3000 w 10 R f (broken noti\256cation and still be read correctly.)6 1870 1 2514 3000 t 10 S1 f (")720 3240 w 10 R f (Oplock)761 3240 w 10 S1 f (")1055 3240 w 10 R f ( a non)2 286(is a major performance win in the real world because many \256les must be opened in)15 3613 2 1141 3240 t ( often, the \256les are not actually in use)8 1559( However)1 431( because the \256le could be used by others.)8 1697(exclusive mode)1 633 4 720 3360 t (by multiple users at the same instant.)6 1528 1 720 3480 t (Locking and X may generate the following errors.)7 2057 1 720 3756 t (Error Class ERRDOS)2 888 1 1080 3936 t (ERRbad\256le)1146 4176 w (ERRbad\256d)1146 4296 w (ERRlock)1146 4416 w 10 S1 f (<)1146 4536 w 10 R f (implementation speci\256c)1 966 1 1202 4536 t 10 S1 f (>)2168 4536 w 10 R f (Error Class ERRSRV)2 883 1 1080 4776 t (ERRerror)1146 5016 w (ERRinvdevice)1146 5136 w (ERRinvnid)1146 5256 w 10 S1 f (<)1146 5376 w 10 R f (implementation speci\256c)1 966 1 1202 5376 t 10 S1 f (>)2168 5376 w 10 R f (Error Class ERRHRD)2 899 1 1080 5616 t 10 S1 f (<)1146 5856 w 10 R f (implementation speci\256c)1 966 1 1202 5856 t 10 S1 f (>)2168 5856 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 45 45 %%Page: 46 46 save mark 46 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 46 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.10. MOVE)1 652 1 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 3 */)4 532(wct; /*)1 710 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( second \(destination\) path tid */)5 1303(tid2; /*)1 710 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( what to do if destination \256le exists */)8 1570(ofun; /*)1 710 2 1458 1416 t (WORD smb)1 622 1 786 1536 t 10 S f (_)1408 1536 w 10 R f ( \257ags to control move operations:)5 1381(\257ags; /*)1 710 2 1458 1536 t (bit 0 - destination must be a \256le.)7 1345 1 2090 1656 t (bit 1 - destination must be a directory.)7 1577 1 2090 1776 t (bit 2 - reserved \(must be zero\))6 1250 1 2090 1896 t (bit 3 - reserved \(must be zero\))6 1250 1 2090 2016 t (bit 4 - verify all writes.)5 961 1 2090 2136 t (WORD smb)1 622 1 786 2256 t 10 S f (_)1408 2256 w 10 R f ( minimum value = 2 */)5 955(bcc; /*)1 710 2 1458 2256 t (BYTE smb)1 578 1 830 2376 t 10 S f (_)1408 2376 w 10 R f ( pathname of source \256le */)5 1102(path[]; /*)1 710 2 1458 2376 t (BYTE smb)1 578 1 830 2496 t 10 S f (_)1408 2496 w 10 R f (new)1458 2496 w 10 S f (_)1624 2496 w 10 R f ( pathname of destination \256le */)5 1281(path[]; /*)1 494 2 1674 2496 t (Response Format:)1 733 1 720 2676 t (BYTE smb)1 578 1 830 2856 t 10 S f (_)1408 2856 w 10 R f ( value = 1 */)4 532(wct; /*)1 565 2 1458 2856 t (WORD smb)1 622 1 786 2976 t 10 S f (_)1408 2976 w 10 R f ( number of \256les moved */)5 1070(cct; /*)1 565 2 1458 2976 t (WORD smb)1 622 1 786 3096 t 10 S f (_)1408 3096 w 10 R f ( minimum value = 0 */)5 955(bcc; /*)1 565 2 1458 3096 t (BYTE smb)1 578 1 830 3216 t 10 S f (_)1408 3216 w 10 R f ( pathname of \256le where error occured - ASCIIZ */)9 2080(err\256le[]; /*)1 565 2 1458 3216 t (Service:)720 3396 w ( referenced by smb)3 818(The \256le)1 326 2 720 3672 t 10 S f (_)1864 3672 w 10 R f (path \(source\) is copied to smb)5 1296 1 1914 3672 t 10 S f (_)3210 3672 w 10 R f (new)3260 3672 w 10 S f (_)3426 3672 w 10 R f (path \(destination\), then the \256le refer-)5 1564 1 3476 3672 t (enced by smb)2 585 1 720 3792 t 10 S f (_)1305 3792 w 10 R f ( smb)1 209( Both)1 270( deleted.)1 355(path \(source\) is)2 651 4 1355 3792 t 10 S f (_)2840 3792 w 10 R f (path and smb)2 567 1 2890 3792 t 10 S f (_)3457 3792 w 10 R f (new)3507 3792 w 10 S f (_)3673 3792 w 10 R f (path must refer to paths on the)6 1317 1 3723 3792 t ( do any necessary access permission checks on both the source and the destina-)13 3318( server must)2 510(server. The)1 492 3 720 3912 t (tion paths.)1 425 1 720 4032 t (The TID in smb)3 692 1 720 4272 t 10 S f (_)1412 4272 w 10 R f ( smb)1 210(tid of the header is associated with the source while)9 2213 2 1462 4272 t 10 S f (_)3885 4272 w 10 R f (tid2 is associated with the)4 1105 1 3935 4272 t ( that smb)2 387( Note)1 262( the same or differing valid TIDs.)6 1399( TID \256elds may contain)4 993(destination. These)1 771 5 720 4392 t 10 S f (_)4532 4392 w 10 R f (tid2 can be)2 458 1 4582 4392 t (set to -1 indicating that this is to be the same TID as the TID in smb)16 2859 1 720 4512 t 10 S f (_)3579 4512 w 10 R f ( use)1 168( allows)1 295( This)1 245(tid of the header.)3 703 4 3629 4512 t (of the move protocol with TCONandX.)5 1616 1 720 4632 t ( \256les speci\256ed)2 598( Source)1 348( Cards are permitted.)3 873( Wild)1 270(The source path must refer to an existing \256le or \256les.)10 2231 5 720 4872 t ( an error is encountered, the expanded)6 1652( If)1 146( are processed until an error is encountered.)7 1893(by Wild Cards)2 629 4 720 4992 t (name of the \256le is returned in smb)7 1424 1 720 5112 t 10 S f (_)2144 5112 w 10 R f ( error code is returned in smb)6 1223(err\256le. The)1 484 2 2194 5112 t 10 S f (_)3901 5112 w 10 R f (err.)3951 5112 w (The destination path can refer to either a \256le or a directory.)11 2443 1 720 5352 t ( smb)1 210(The destination can be required to be a \256le or a directory by)12 2593 2 720 5592 t 10 S f (_)3523 5592 w 10 R f ( neither bit is set, the)5 923( If)1 142(\257ags bits.)1 402 3 3573 5592 t (destination may be either a \256le or a directory.)8 1880 1 720 5712 t (Wild Cards are not permitted in the destination path.)8 2165 1 720 5952 t (smb)720 6432 w 10 S f (_)887 6432 w 10 R f (ofun bit \256eld mapping:)3 944 1 937 6432 t (bits:)786 6552 w ( 1)1 70( 1)1 140(1 1 1 1)3 260 3 1220 6672 t ( 2 1 0)3 210( 3)1 140( 6 5 4)3 210( 7)1 140( 0 9 8)3 210( 1)1 140(5 4 3 2)3 260 7 1220 6792 t ( OO)1 162( r)1 70( r)1 140( r r r)3 210( r)1 140( r r r)3 210( r)1 140(r r r r)3 243 8 1228 6912 t (where:)786 7152 w (O - Open \(action to be taken if destination \256le exists\).)10 2230 1 951 7272 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 46 46 %%Page: 47 47 save mark 47 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 47 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (0 - Fail.)2 330 1 1017 840 t (1 - reserved.)2 511 1 1017 960 t (2 - Truncate \256le.)3 689 1 1017 1080 t (r - reserved \(must be zero\).)5 1119 1 951 1320 t ( \256le components except the last must exist \(directories)8 2250( All)1 196( it will be created.)4 758(If target \256le does not exist,)5 1116 4 720 1716 t (will not be created\).)3 822 1 720 1836 t (Move may generate the following errors.)5 1675 1 720 2112 t (Error Class ERRDOS)2 888 1 1080 2292 t (ERRbad\256le)1146 2532 w (ERRbadpath)1146 2652 w (ERR\256leexists)1146 2772 w (ERRnoaccess)1146 2892 w (ERRno\256les)1146 3012 w (ERRbadshare)1146 3132 w 10 S1 f (<)1146 3252 w 10 R f (implementation speci\256c)1 966 1 1202 3252 t 10 S1 f (>)2168 3252 w 10 R f (Error Class ERRSRV)2 883 1 1080 3492 t (ERRerror)1146 3732 w (ERRinvnid)1146 3852 w (ERRnosupport)1146 3972 w (ERRaccess)1146 4092 w 10 S1 f (<)1146 4212 w 10 R f (implementation speci\256c)1 966 1 1202 4212 t 10 S1 f (>)2168 4212 w 10 R f (Error Class ERRHRD)2 899 1 1080 4452 t 10 S1 f (<)1146 4692 w 10 R f (implementation speci\256c)1 966 1 1202 4692 t 10 S1 f (>)2168 4692 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 47 47 %%Page: 48 48 save mark 48 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 48 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( and X)2 300(9.2.11. OPEN)1 619 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 15 */)4 582(wct; /*)1 710 2 1497 1176 t (BYTE smb)1 578 1 869 1296 t 10 S f (_)1447 1296 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 710 2 1497 1296 t (BYTE smb)1 578 1 869 1416 t 10 S f (_)1447 1416 w 10 R f ( reserved \(must be zero\) */)5 1106(reh2; /*)1 710 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 710 2 1497 1536 t 10 S1 f (@)3963 1536 w 10 R f (smb)4055 1536 w 10 S f (_)4222 1536 w 10 R f (wct\) */)1 288 1 4272 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( additional information:)2 966(\257ags; /*)1 710 2 1497 1656 t (bit 0 - if set, return additional information)7 1727 1 2129 1776 t (bit 1 - if set, set single user total \256le lock \(if only access\))13 2368 1 2129 1896 t (bit 2 - if set, the server should notify the consumer on any)12 2407 1 2129 2016 t (action which can modify the \256le \(delete, setattrib,)7 2039 1 2393 2136 t (rename, etc.\). if not set, the server need only notify)9 2109 1 2393 2256 t (the consumer on another open request. This bit only has)9 2308 1 2393 2376 t (meaning if bit 1 is set. */)6 1040 1 2393 2496 t (WORD smb)1 622 1 825 2616 t 10 S f (_)1447 2616 w 10 R f ( \256le open mode */)4 754(mode; /*)1 710 2 1497 2616 t (WORD smb)1 622 1 825 2736 t 10 S f (_)1447 2736 w 10 R f ( */)1 144( search attributes)2 692(sattr; /*)1 710 3 1497 2736 t (WORD smb)1 622 1 825 2856 t 10 S f (_)1447 2856 w 10 R f ( \256le attributes \(for create\) */)5 1162(attr; /*)1 710 2 1497 2856 t (DWORD smb)1 694 1 753 2976 t 10 S f (_)1447 2976 w 10 R f ( create time */)3 592(time; /*)1 710 2 1497 2976 t (WORD smb)1 622 1 825 3096 t 10 S f (_)1447 3096 w 10 R f ( open function */)3 704(ofun; /*)1 710 2 1497 3096 t (DWORD smb)1 694 1 753 3216 t 10 S f (_)1447 3216 w 10 R f ( bytes to reserve on)4 808(size; /*)1 710 2 1497 3216 t 10 S1 f (")3048 3216 w 10 R f (create)3089 3216 w 10 S1 f (")3326 3216 w 10 R f (or)3400 3216 w 10 S1 f (")3516 3216 w 10 R f (truncate)3557 3216 w 10 S1 f (")3878 3216 w 10 R f (*/)3952 3216 w (DWORD smb)1 694 1 753 3336 t 10 S f (_)1447 3336 w 10 R f ( max milliseconds to wait for resource to open */)9 2028(timeout; /*)1 710 2 1497 3336 t (DWORD smb)1 694 1 753 3456 t 10 S f (_)1447 3456 w 10 R f ( reserved \(must be zero\) */)5 1106(rsvd; /*)1 710 2 1497 3456 t (WORD smb)1 622 1 825 3576 t 10 S f (_)1447 3576 w 10 R f ( minimum value = 1 */)5 955(bcc; /*)1 710 2 1497 3576 t (BYTE smb)1 578 1 869 3696 t 10 S f (_)1447 3696 w 10 R f ( \256le pathname */)3 693(pathname[]; /*)1 710 2 1497 3696 t (Response Format:)1 733 1 720 4032 t (BYTE smb)1 578 1 892 4212 t 10 S f (_)1470 4212 w 10 R f ( value = 15 */)4 582(wct; /*)1 589 2 1520 4212 t (BYTE smb)1 578 1 892 4332 t 10 S f (_)1470 4332 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 589 2 1520 4332 t (BYTE smb)1 578 1 892 4452 t 10 S f (_)1470 4452 w 10 R f ( reserved \(pad to word\) */)5 1073(res2; /*)1 589 2 1520 4452 t (WORD smb)1 622 1 848 4572 t 10 S f (_)1470 4572 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 589 2 1520 4572 t 10 S1 f (@)3865 4572 w 10 R f (smb)3957 4572 w 10 S f (_)4124 4572 w 10 R f (wct\) */)1 288 1 4174 4572 t (WORD smb)1 622 1 848 4692 t 10 S f (_)1470 4692 w 10 R f ( \256le handle */)3 571(\256d; /*)1 589 2 1520 4692 t ( smb)1 317(+ WORD)1 394 2 759 4812 t 10 S f (_)1470 4812 w 10 R f ( attributes of \256le or device */)6 1202(attribute; /*)1 589 2 1520 4812 t (+DWORD smb)1 750 1 720 4932 t 10 S f (_)1470 4932 w 10 R f ( last modi\256cation time */)4 1033(time; /*)1 589 2 1520 4932 t (+DWORD smb)1 750 1 720 5052 t 10 S f (_)1470 5052 w 10 R f ( current \256le size */)4 775(size; /*)1 589 2 1520 5052 t ( smb)1 317(+ WORD)1 394 2 759 5172 t 10 S f (_)1470 5172 w 10 R f ( access permissions actually allowed */)5 1607(access; /*)1 589 2 1520 5172 t ( smb)1 317(+ WORD)1 394 2 759 5292 t 10 S f (_)1470 5292 w 10 R f ( \256le type */)3 477(type; /*)1 589 2 1520 5292 t ( smb)1 317(+ WORD)1 394 2 759 5412 t 10 S f (_)1470 5412 w 10 R f ( state of IPC device \(e.g. pipe\) */)7 1373(state; /*)1 589 2 1520 5412 t (WORD smb)1 622 1 848 5532 t 10 S f (_)1470 5532 w 10 R f ( action taken */)3 637(action; /*)1 589 2 1520 5532 t (DWORD smb)1 694 1 776 5652 t 10 S f (_)1470 5652 w 10 R f ( server unique \256le id */)5 964(\256leid; /*)1 589 2 1520 5652 t (WORD smb)1 622 1 848 5772 t 10 S f (_)1470 5772 w 10 R f ( reserved */)2 481(rsvd; /*)1 589 2 1520 5772 t (WORD smb)1 622 1 848 5892 t 10 S f (_)1470 5892 w 10 R f ( value = 0 */)4 532(bcc; /*)1 589 2 1520 5892 t (+ returned only if bit 0 of smb)7 1264 1 720 6072 t 10 S f (_)1984 6072 w 10 R f (\257ags is set in request)4 865 1 2034 6072 t (Service Enhancement:)1 903 1 720 6228 t ( call used in OS/2)4 759(The open protocol request is enhanced in order to accommodate the new open system)13 3561 2 720 6384 t (and provide additional functionality.)3 1484 1 720 6504 t ( including the optional second protocol must \256t in the negotiated)10 2753(The entire message sent and received)5 1567 2 720 6744 t (max transfer size.)2 722 1 720 6864 t (The following are the only valid protocol requests commands for smb)10 2871 1 720 7104 t 10 S f (_)3591 7104 w 10 R f (com2 \(X\) for OPEN and X:)5 1146 1 3641 7104 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 48 48 %%Page: 49 49 save mark 49 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 49 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (READ)1080 900 w (READ and X)2 554 1 1080 1020 t (IOCTL)1080 1140 w (The)720 1356 w 10 S1 f (")913 1356 w 10 R f (mode)954 1356 w 10 S1 f (")1176 1356 w 10 R f ( allow)1 261(\256eld for open, referenced as r/w/share in the core protocol document, is enhanced to)13 3524 2 1255 1356 t ( support execute)2 680( that do not)3 495( Systems)1 406(direct access mode for the \256le, and to allow an open for execute.)12 2739 4 720 1476 t (mode should treat the execute mode as equivalent to read mode. This word has the following format:)16 4158 1 720 1596 t (smb)720 1836 w 10 S f (_)887 1836 w 10 R f (mode bit \256eld mapping:)3 983 1 937 1836 t (bits:)786 1956 w ( 1)1 70( 1)1 140(1 1 1 1)3 260 3 1220 2076 t ( 2 1 0)3 210( 3)1 140( 6 5 4)3 210( 7)1 140( 0 9 8)3 210( 1)1 140(5 4 3 2)3 260 7 1220 2196 t ( A)1 68( AA)1 162( r)1 128( S S)2 140( S)1 82( r)1 140( r r r)3 210( r)1 140( r)1 70( r)1 39(r W)1 134 11 1228 2316 t (where:)786 2436 w (W - Write through mode. No read ahead or write behind allowed on this)13 2987 1 951 2556 t ( protocol is returned, data is expected)6 1542( When)1 304(\256le \(or device\).)2 628 3 1083 2676 t (to be on the disk \(or device\).)6 1193 1 1083 2796 t (r - reserved \(must be zero\).)5 1119 1 951 3036 t (SSS - Sharing mode)3 833 1 951 3276 t (0 -- Compatibility mode \(as in core open protocol\))8 2084 1 1017 3396 t (1 -- Deny read/write/execute \(exclusive\).)4 1668 1 1017 3516 t (2 -- Deny write.)3 661 1 1017 3636 t (3 -- Deny read/execute.)3 959 1 1017 3756 t (4 -- Deny none.)3 650 1 1017 3876 t (AAA - Access mode)3 852 1 951 4116 t (0 -- Open for reading.)4 904 1 1017 4236 t (1 -- Open for writing.)4 894 1 1017 4356 t (2 -- Open for reading and writing.)6 1403 1 1017 4476 t (3 -- Open for execute)4 884 1 1017 4596 t (rSSSrAAA = 11111111 \(hex FF\))4 1360 1 951 4956 t (indicates FCB open \(as in core open protocol\))7 1895 1 1017 5196 t (The)720 5472 w 10 S1 f (")917 5472 w 10 R f (open function)1 569 1 958 5472 t 10 S1 f (")1527 5472 w 10 R f (\256eld speci\256es the action to be taken depending on whether or not the \256le exists.)14 3429 1 1611 5472 t (This word has the following format:)5 1486 1 720 5592 t (smb)720 5952 w 10 S f (_)887 5952 w 10 R f (ofun bit \256eld mapping:)3 944 1 937 5952 t (bits:)786 6072 w ( 1)1 70( 1)1 140(1 1 1 1)3 260 3 1220 6192 t ( 2 1 0)3 210( 3)1 140( 6 5 4)3 210( 7)1 140( 0 9 8)3 210( 1)1 140(5 4 3 2)3 260 7 1220 6312 t ( OO)1 162( r)1 70( r)1 123( C)1 87( r r)2 140( r)1 140( r r r)3 210( r)1 140(r r r r)3 243 9 1228 6432 t (where:)786 6672 w (C - Create \(action to be taken if \256le does not exist\).)11 2135 1 951 6792 t (0 -- Fail.)2 363 1 1017 6912 t (1 -- Create \256le.)3 628 1 1017 7032 t (r - reserved \(must be zero\).)5 1119 1 951 7272 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 49 49 %%Page: 50 50 save mark 50 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 50 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (O - Open \(action to be taken if \256le exists\).)9 1758 1 951 840 t (0 - Fail.)2 330 1 1017 960 t (1 - Open \256le.)3 551 1 1017 1080 t (2 - Truncate \256le.)3 689 1 1017 1200 t ( queuing mode, in that if the device \(or all devices of type requested\) is)14 3024(I/O devices can be opened in a)6 1296 2 720 1716 t ( non zero)2 395( a)1 82( Thus)1 271(currently in use the user may optionally queue waiting for the device to become free.)14 3572 4 720 1836 t (smb)720 1956 w 10 S f (_)887 1956 w 10 R f (timeout \256eld is used to indicate that queuing is desired.)9 2277 1 937 1956 t (If queuing is requested, the value in the smb)8 1943 1 720 2196 t 10 S f (_)2663 2196 w 10 R f ( maximum number of mil-)4 1153(timeout \256eld is used as the)5 1174 2 2713 2196 t ( of zero means no delay \(do not queue\), a value)10 1972( value)1 250( A)1 139(liseconds to wait for the device to become free.)8 1959 4 720 2316 t ( will not send the response back to the)8 1670( server)1 285( The)1 230(of \(long\) -1 indicates to wait forever \(no timeout\).)8 2135 4 720 2436 t ( resource being queued for is actually opened \(or the speci\256ed timeout time has)13 3520(consumer until the)2 800 2 720 2556 t ( speci\256ed in milliseconds \(in order to match the OS/2 system)10 2558( that although the timeout is)5 1175(passed\). Note)1 587 3 720 2676 t ( the time that the timeout occurs and the consumer receives the timeout protocol much more)15 3936(calls\), by)1 384 2 720 2796 t (time than speci\256ed may have occurred.)5 1603 1 720 2916 t (The)720 3192 w 10 S1 f (")909 3192 w 10 R f (Action Taken)1 555 1 950 3192 t 10 S1 f (")1505 3192 w 10 R f ( word has the follow-)4 894( This)1 246( the action as a result of the Open request.)9 1764(\256eld speci\256es)1 556 4 1580 3192 t (ing format:)1 455 1 720 3312 t (smb)720 3672 w 10 S f (_)887 3672 w 10 R f (action bit \256eld mapping:)3 1005 1 937 3672 t (bits:)786 3792 w ( 1)1 70( 1)1 140(1 1 1 1)3 260 3 1220 3912 t ( 2 1 0)3 210( 3)1 140( 6 5 4)3 210( 7)1 140( 0 9 8)3 210( 1)1 140(5 4 3 2)3 260 7 1220 4032 t ( OO)1 162( r)1 70( r)1 140( r r r)3 210( r)1 140( r r r)3 210( r)1 140( r r)2 140(L r)1 117 9 1214 4152 t (where:)786 4392 w (L - Lock \(single user total \256le lock status\).)8 1765 1 951 4512 t (0 -- \256le opened by another user \(or mode not supported by server\).)12 2754 1 1017 4632 t (1 -- \256le is opened only by this user at the present time.)12 2269 1 1017 4752 t (r - reserved \(must be zero\).)5 1119 1 951 4992 t (O - Open \(action taken on Open\).)6 1386 1 951 5232 t (1 - The \256le existed and was opened.)7 1492 1 1017 5352 t (2 - The \256le did not exist but was created.)9 1703 1 1017 5472 t (3 - The \256le existed and was truncated.)7 1575 1 1017 5592 t (The attribute \256elds \(smb)3 1025 1 720 6108 t 10 S f (_)1745 6108 w 10 R f (attr, smb)1 365 1 1795 6108 t 10 S f (_)2160 6108 w 10 R f (sattr and smb)2 563 1 2210 6108 t 10 S f (_)2773 6108 w 10 R f ( format \(bit0 is the least)5 1032(attribute\) have the following)3 1185 2 2823 6108 t ( \256eld matches that used by OS/2.)6 1367( This)1 244(signi\256cant bit\).)1 614 3 720 6228 t (bit0 - read only \256le)4 798 1 1080 6408 t (bit1 -)1 222 1 1080 6528 t 10 S1 f (")1335 6528 w 10 R f (hidden)1376 6528 w 10 S1 f (")1648 6528 w 10 R f (\256le)1722 6528 w (bit2 - system \256le)3 694 1 1080 6648 t (bit3 - reserved)2 592 1 1080 6768 t (bit4 - directory)2 615 1 1080 6888 t ( archive \256le)2 487(bit5 -)1 255 2 1080 7008 t (bits6-15 - reserved \(must be zero\))5 1389 1 1080 7128 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 50 50 %%Page: 51 51 save mark 51 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 51 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( \256eld \(smb)2 464(The search attribute)2 826 2 720 840 t 10 S f (_)2010 840 w 10 R f (sattr\) indicates the attributes that the \256le must have to be found while)12 2980 1 2060 840 t ( the)1 165( If)1 142( the search attribute is zero then only normal \256les are returned.)11 2698( If)1 142( see if it exists.)4 669(searching to)1 504 6 720 960 t ( inclusive -- both the speci\256ed)5 1282(system \256le, hidden or directory attributes are speci\256ed then the search is)11 3038 2 720 1080 t (type\(s\) of \256les and normal \256les are returned.)7 1830 1 720 1200 t (The resource type \256eld \(smb)4 1174 1 720 1440 t 10 S f (_)1894 1440 w 10 R f (type\) de\256nes the additional resource types:)5 1751 1 1944 1440 t (0 - Disk \256le or directory as de\256ned in the attribute \256eld.)11 2319 1 1311 1740 t (1 - FIFO \(named pipe\))4 936 1 1311 1860 t (2 - Named pipe \(message mode\))5 1334 1 1311 1980 t (3 - LPT \(printer\) Device)4 1007 1 1311 2100 t (4 - COM \(communication\) Device)4 1413 1 1311 2220 t (IPC State Bits \(smb)3 817 1 1080 2820 t 10 S f (_)1897 2820 w 10 R f (state\))1947 2820 w (5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0)15 1925 1 1530 2940 t (B E * * T T R R)7 1009 1 1530 3060 t 10 S f (\372)2614 3060 w 10 R f (--- Icount --)2 570 1 2664 3060 t 10 S f (\372)3234 3060 w 10 R f (where:)1080 3180 w (B - Blocking - 0 =)5 771 1 1278 3300 t 10 S1 f (>)2049 3300 w 10 R f (reads/writes block if no data available)5 1556 1 2138 3300 t (1 =)1 139 1 1905 3420 t 10 S1 f (>)2044 3420 w 10 R f (reads/writes return immediately if no data)5 1712 1 2133 3420 t (E - Endpoint - 0 =)5 765 1 1278 3540 t 10 S1 f (>)2043 3540 w 10 R f (consumer end of pipe)3 886 1 2132 3540 t (1 =)1 139 1 1905 3660 t 10 S1 f (>)2044 3660 w 10 R f (server end of pipe)3 741 1 2133 3660 t (TT - Type of pipe - 00 =)7 1035 1 1278 3780 t 10 S1 f (>)2313 3780 w 10 R f (pipe is a byte stream pipe)5 1058 1 2402 3780 t (01 =)1 189 1 2070 3900 t 10 S1 f (>)2259 3900 w 10 R f (pipe is a message pipe)4 925 1 2348 3900 t (RR - Read Mode - 00 =)6 992 1 1278 4020 t 10 S1 f (>)2270 4020 w 10 R f (Read pipe as a byte stream)5 1107 1 2359 4020 t (01 =)1 189 1 1971 4140 t 10 S1 f (>)2160 4140 w 10 R f (Read messages from pipe)3 1047 1 2249 4140 t (Icount - 8-bit count to control pipe instancing \(N/A\))8 2145 1 1278 4260 t (A)720 4716 w 10 S1 f (")826 4716 w 10 R f (single user total \256le lock)4 1019 1 867 4716 t 10 S1 f (")1886 4716 w 10 R f (is also known as an)4 813 1 1961 4716 t 10 S1 f (")2808 4716 w 10 R f (opportunistic lock)1 734 1 2849 4716 t 10 S1 f (")3583 4716 w 10 R f ( consumer requests an)3 911(. A)1 164 2 3624 4716 t 10 S1 f (")4733 4716 w 10 R f (oppor-)4774 4716 w (tunistic lock)1 505 1 720 4836 t 10 S1 f (")1225 4836 w 10 R f ( when-)1 286(by setting the appropriate bit in the OpenX, Open, Create and MakeNew protocols)12 3450 2 1304 4836 t ( server responds by setting the)5 1327( The)1 236( is being opened in a mode which is not exclusive.)10 2242(ever the \256le)2 515 4 720 4956 t ( response protocol indicating whether or not the)7 2016(appropriate bit in the)3 883 2 720 5076 t 10 S1 f (")3659 5076 w 10 R f (opportunistic lock)1 740 1 3700 5076 t 10 S1 f (")4440 5076 w 10 R f (was granted.)1 519 1 4521 5076 t (By granting the)2 656 1 720 5196 t 10 S1 f (")1418 5196 w 10 R f (oplock)1459 5196 w 10 S1 f (")1731 5196 w 10 R f ( ONLY being used by)4 954(, the server tells the consumer that the \256le is currently)10 2314 2 1772 5196 t ( consumer can therefore safely do read ahead and)8 2122( The)1 232( at the current time.)4 855(this one consumer process)3 1111 4 720 5316 t ( as well as local caching of \256le locks knowing that the \256le will not be accessed/changed in)17 3807(write behind)1 513 2 720 5436 t (any way by another process while the)6 1550 1 720 5556 t 10 S1 f (")2303 5556 w 10 R f (oplock)2344 5556 w 10 S1 f (")2616 5556 w 10 R f (is in effect.)2 462 1 2690 5556 t ( any other process attempts to open the)7 1752(The consumer will be noti\256ed when)5 1575 2 720 5796 t 10 S1 f (")4100 5796 w 10 R f (oplocked)4141 5796 w 10 S1 f (")4507 5796 w 10 R f (\256le and if)2 439 1 4601 5796 t 10 S1 f (")720 5916 w 10 R f (opbatch)761 5916 w 10 S1 f (")1077 5916 w 10 R f ( smb)1 203(\(bit 2 of)2 346 2 1155 5916 t 10 S f (_)1704 5916 w 10 R f (\257ags\) was set on the OpenX request, the consumer will also be noti\256ed on any)14 3286 1 1754 5916 t (operation which may change the \256le.)5 1515 1 720 6036 t (When another user attempts to Open \(or otherwise modify if)9 2541 1 720 6276 t 10 S1 f (")3300 6276 w 10 R f (opbatch)3341 6276 w 10 S1 f (")3657 6276 w 10 R f (was requested\) the \256le which a)5 1303 1 3737 6276 t (consumer has oplocked, the server will)5 1623 1 720 6396 t 10 S1 f (")2381 6396 w 10 R f (hold off)1 332 1 2422 6396 t 10 S1 f (")2754 6396 w 10 R f ( consumer via a Lock-)4 940(the 2nd attempt and notify the)5 1267 2 2833 6396 t (ingX protocol \(with bit one of smb)6 1496 1 720 6516 t 10 S f (_)2216 6516 w 10 R f (locktype set\) that the)3 886 1 2266 6516 t 10 S1 f (")3194 6516 w 10 R f (oplock)3235 6516 w 10 S1 f (")3507 6516 w 10 R f ( consumer is)2 541( The)1 231(is being broken.)2 677 3 3591 6516 t ( this\))1 215(expected to then \257ush any dirty buffers, submit any \256le locks \(LockingX protocol can be used for)16 4105 2 720 6636 t ( protocol \(with bit one of smb)6 1272(and respond to the server with either a LockingX)8 2053 2 720 6756 t 10 S f (_)4045 6756 w 10 R f (locktype set\) or with a)4 945 1 4095 6756 t ( that because a close being sent to the server and)10 2134( Note)1 272( the \256le is no longer in use.)7 1223(close protocol if)2 691 4 720 6876 t ( noti\256cation from the server could cross on the wire, if the consumer gets an oplock)15 3774(break oplock)1 546 2 720 6996 t ( the)1 179( Once)1 300(noti\256cation on a \256le which it does not have open, that noti\256cation should be ignored.)14 3841 3 720 7116 t 10 S1 f (")720 7236 w 10 R f (oplock)761 7236 w 10 S1 f (")1033 7236 w 10 R f ( The)1 237( caching.)1 384(has been broken, the consumer must no longer do any form of data or lock)14 3297 3 1122 7236 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 51 51 %%Page: 52 52 save mark 52 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 52 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 S1 f (")720 840 w 10 R f (oplock)761 840 w 10 S1 f (")1033 840 w 10 R f ( once the consumer has been)5 1209( the \256le is still open)5 857( If)1 138(is never reenstated while the \256le is open.)7 1723 4 1113 840 t (noti\256ed, the 2nd opener does not get the \256le)8 1829 1 720 960 t 10 S1 f (")2583 960 w 10 R f (oplocked)2624 960 w 10 S1 f (")2990 960 w 10 R f ( the)1 157( the \256le is closed by)5 842( If)1 133(along with the open.)3 843 4 3065 960 t (consumer which had it open, the server is again free to grant the new opener the oplock.)16 3642 1 720 1080 t (Note that the)2 536 1 720 1320 t 10 S1 f (")1291 1320 w 10 R f (oplock)1332 1320 w 10 S1 f (")1604 1320 w 10 R f ( the oplock is bro-)4 771(broken noti\256cation will only go to one consumer because after)9 2589 2 1680 1320 t (ken, any further open attempts will just get the oplock request denied.)11 2876 1 720 1440 t ( an)1 138(Also note that due to timing, the consumer could get)9 2261 2 720 1680 t 10 S1 f (")3163 1680 w 10 R f (oplock)3204 1680 w 10 S1 f (")3476 1680 w 10 R f (broken noti\256cation in a user's data)5 1479 1 3561 1680 t ( consumer must)2 651( The)1 222( crossing on the wire with a Read Raw request.)9 1961(buffer as a result of this noti\256cation)6 1486 4 720 1800 t (detect this \(use length of msg,)5 1279 1 720 1920 t 10 S1 f (")2040 1920 w 10 R f (FFSMB)2081 1920 w 10 S1 f (")2405 1920 w 10 R f ( smb)1 241(, MID of -1 and)4 693 2 2446 1920 t 10 S f (_)3380 1920 w 10 R f ( the)1 164(cmd of SMBLockingX\) and honor)4 1446 2 3430 1920 t 10 S1 f (")720 2040 w 10 R f (oplock)761 2040 w 10 S1 f (")1033 2040 w 10 R f ( server must also note on receipt of an Read Raw request that)12 2553( The)1 222( usual.)1 270(broken noti\256cation as)2 886 4 1109 2040 t (there is an outstanding \(unanswered\))4 1561 1 720 2160 t 10 S1 f (")2329 2160 w 10 R f (oplock)2370 2160 w 10 S1 f (")2642 2160 w 10 R f ( to the consumer and return a zero)7 1528(broken noti\256cation)1 781 2 2731 2160 t ( consumer should \(after responding to the)6 1742( The)1 226( denoting failure of the read raw request.)7 1714(length response)1 638 4 720 2280 t 10 S1 f (")720 2400 w 10 R f (oplock)761 2400 w 10 S1 f (")1033 2400 w 10 R f ( allows a \256le to)4 647( This)1 245( read protocol to redo the read request.)7 1603(broken noti\256cation\), use a standard)4 1438 4 1107 2400 t (actually contain data matching an)4 1374 1 720 2520 t 10 S1 f (")2127 2520 w 10 R f (oplock)2168 2520 w 10 S1 f (")2440 2520 w 10 R f (broken noti\256cation and still be read correctly.)6 1870 1 2514 2520 t 10 S1 f (")720 2760 w 10 R f (Oplock)761 2760 w 10 S1 f (")1055 2760 w 10 R f ( a non)2 286(is a major performance win in the real world because many \256les must be opened in)15 3613 2 1141 2760 t ( often, the \256les are not actually in use)8 1559( However)1 431( because the \256le could be used by others.)8 1697(exclusive mode)1 633 4 720 2880 t (by multiple users at the same instant.)6 1528 1 720 3000 t (The following errors may be generated by Open and X.)9 2283 1 720 3276 t (Error Class ERRDOS)2 888 1 1080 3456 t (ERRbad\256le)1146 3696 w (ERRno\256ds)1146 3816 w (ERRnoaccess)1146 3936 w (ERRshare)1146 4056 w (ERRbadaccess)1146 4176 w 10 S1 f (<)1146 4296 w 10 R f (implementation speci\256c)1 966 1 1202 4296 t 10 S1 f (>)2168 4296 w 10 R f (Error Class ERRSRV)2 883 1 1080 4536 t (ERRerror)1146 4776 w (ERRaccess)1146 4896 w (ERRinvnid)1146 5016 w 10 S1 f (<)1146 5136 w 10 R f (implementation speci\256c)1 966 1 1202 5136 t 10 S1 f (>)2168 5136 w 10 R f (Error Class ERRHRD)2 899 1 1080 5376 t 10 S1 f (<)1146 5616 w 10 R f (implementation speci\256c)1 966 1 1202 5616 t 10 S1 f (>)2168 5616 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 52 52 %%Page: 53 53 save mark 53 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 53 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( and X)2 300(9.2.12. READ)1 624 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 10 */)4 582(wct; /*)1 611 2 1497 1176 t (BYTE smb)1 578 1 869 1296 t 10 S f (_)1447 1296 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 611 2 1497 1296 t (BYTE smb)1 578 1 869 1416 t 10 S f (_)1447 1416 w 10 R f ( reserved \(must be zero\) */)5 1106(reh2; /*)1 611 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 611 2 1497 1536 t 10 S1 f (@)3864 1536 w 10 R f (smb)3956 1536 w 10 S f (_)4123 1536 w 10 R f (wct\) */)1 288 1 4173 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( \256le handle */)3 571(\256d; /*)1 611 2 1497 1656 t (DWORD smb)1 694 1 753 1776 t 10 S f (_)1447 1776 w 10 R f ( offset in \256le to begin read */)7 1213(offset; /*)1 611 2 1497 1776 t (WORD smb)1 622 1 825 1896 t 10 S f (_)1447 1896 w 10 R f ( max number of bytes to return */)7 1396(maxcnt; /*)1 611 2 1497 1896 t (WORD smb)1 622 1 825 2016 t 10 S f (_)1447 2016 w 10 R f ( min number of bytes to return */)7 1380(mincnt; /*)1 611 2 1497 2016 t (DWORD smb)1 694 1 753 2136 t 10 S f (_)1447 2136 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 611 2 1497 2136 t (WORD smb)1 622 1 825 2256 t 10 S f (_)1447 2256 w 10 R f ( bytes remaining to satisfy user's request */)7 1790(countleft; /*)1 611 2 1497 2256 t (WORD smb)1 622 1 825 2376 t 10 S f (_)1447 2376 w 10 R f ( value = 0 */)4 532(bcc; /*)1 611 2 1497 2376 t (Response Format:)1 733 1 720 2712 t (BYTE smb)1 578 1 869 2892 t 10 S f (_)1447 2892 w 10 R f ( value = 12 */)4 582(wct; /*)1 661 2 1497 2892 t (BYTE smb)1 578 1 869 3012 t 10 S f (_)1447 3012 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 661 2 1497 3012 t (BYTE smb)1 578 1 869 3132 t 10 S f (_)1447 3132 w 10 R f ( reserved \(pad to word\) */)5 1073(res2; /*)1 661 2 1497 3132 t (WORD smb)1 622 1 825 3252 t 10 S f (_)1447 3252 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 661 2 1497 3252 t 10 S1 f (@)3914 3252 w 10 R f (smb)4006 3252 w 10 S f (_)4173 3252 w 10 R f (wct\) */)1 288 1 4223 3252 t (WORD smb)1 622 1 825 3372 t 10 S f (_)1447 3372 w 10 R f ( bytes remaining to be read \(pipes/devices only\) */)8 2083(remaining; /*)1 661 2 1497 3372 t (DWORD smb)1 694 1 753 3492 t 10 S f (_)1447 3492 w 10 R f ( reserved */)2 481(rsvd; /*)1 661 2 1497 3492 t (WORD smb)1 622 1 825 3612 t 10 S f (_)1447 3612 w 10 R f ( number of data bytes \(minimum value = 0\) */)9 1918(dsize; /*)1 661 2 1497 3612 t (WORD smb)1 622 1 825 3732 t 10 S f (_)1447 3732 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(doff; /*)1 661 2 1497 3732 t (WORD smb)1 622 1 825 3852 t 10 S f (_)1447 3852 w 10 R f ( reserved \(These last 5 words are reserved in */)9 1952(rsvd; /*)1 661 2 1497 3852 t (DWORD smb)1 694 1 753 3972 t 10 S f (_)1447 3972 w 10 R f ( to make the ReadandX response */)6 1462( order)1 276( reserved)1 370(rsvd; /*)1 661 4 1497 3972 t (DWORD smb)1 694 1 753 4092 t 10 S f (_)1447 4092 w 10 R f ( same size as the WriteandX request\) */)7 1638( the)1 188( reserved)1 370(rsvd; /*)1 661 4 1497 4092 t (WORD smb)1 622 1 825 4212 t 10 S f (_)1447 4212 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 661 2 1497 4212 t (BYTE smb)1 578 1 869 4332 t 10 S f (_)1447 4332 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 661 2 1497 4332 t (BYTE smb)1 578 1 869 4452 t 10 S f (_)1447 4452 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 661 2 1497 4452 t 10 S f (_)3371 4452 w 10 R f (dsize\) */)1 349 1 3421 4452 t (Service:)720 4752 w ( offers a generalized alternative to)5 1414(The expanded read and X command allows reads to be timed out, and)12 2906 2 720 4908 t (the core read command.)3 982 1 720 5028 t ( including the optional second protocol must \256t in the negotiated)10 2753(The entire message sent and received)5 1567 2 720 5268 t (max transfer size.)2 722 1 720 5388 t (The following are the only valid protocol requests commands for smb)10 2871 1 720 5628 t 10 S f (_)3591 5628 w 10 R f (com2 \(X\) for READ and X:)5 1157 1 3641 5628 t (CLOSE)1080 5808 w (CLOSE and DISCONNECT)2 1160 1 1080 5928 t (When the smb)2 599 1 720 6108 t 10 S f (_)1319 6108 w 10 R f ( server is to wait for)5 861(timeout \256eld is non-zero, it speci\256es the maximum milliseconds the)9 2810 2 1369 6108 t ( feature is useful when accessing remote devices, such as termi-)10 2706( This)1 252( to its read command.)4 927(a response)1 435 4 720 6228 t (nals, where indeterminate delays are possible.)5 1872 1 720 6348 t ( and mincnt values)3 794( Timeout)1 411(The Read command's scope is extended to Named Pipes and I/O Devices.)11 3115 3 720 6588 t ( the case of a named pipe or I/O device,)9 1719( In)1 156(are normally expected to be used only with these devices.)9 2445 3 720 6708 t (timeout is de\256ned to be the time to delay for at least smb)12 2367 1 720 6828 t 10 S f (_)3087 6828 w 10 R f (mincnt bytes.)1 547 1 3137 6828 t (If smb)1 275 1 720 7068 t 10 S f (_)995 7068 w 10 R f ( is currently available, the)4 1106(timeout is zero \(or the server does not support timeout\) and no data)12 2889 2 1045 7068 t (server will send a response with the smb)7 1673 1 720 7188 t 10 S f (_)2393 7188 w 10 R f (dsize \256eld set to zero.)4 900 1 2443 7188 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 53 53 %%Page: 54 54 save mark 54 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 54 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (If smb)1 276 1 720 840 t 10 S f (_)996 840 w 10 R f ( the server will wait to send the response)8 1777(timeout is non zero and the server supports timeout,)8 2217 2 1046 840 t ( smb)1 204( If)1 136( data becomes available or a timeout occurs.)7 1852(until the)1 344 4 720 960 t 10 S f (_)3256 960 w 10 R f (timeout is greater than zero \(but less than)7 1734 1 3306 960 t (forever \(-1\) \) and a timeout occurs, the server will send a response with the smb)15 3337 1 720 1080 t 10 S f (_)4057 1080 w 10 R f (err \256eld set to indicate)4 933 1 4107 1080 t (that the timeout occurred along with any bytes already read.)9 2467 1 720 1200 t ( smb)1 215(The return \256eld)2 665 2 720 1440 t 10 S f (_)1600 1440 w 10 R f ( is used to return the)5 928( It)1 142(remaining is to be returned for pipes or devices only.)9 2320 3 1650 1440 t ( in this)2 319(number of bytes currently available in the pipe or device \(NOT including the bytes returned)14 4001 2 720 1560 t ( by the consumer to know when a subsequent \(non blocking\))10 2560(buffer\). This information can then be used)6 1760 2 720 1680 t ( - that when the read request is actually received)9 2024( Note)1 263( return some data.)3 748(read of the pipe or device may)6 1285 4 720 1800 t ( data in the pipe or device \(more data has been written to)12 2399(by the server there may be more or less actual)9 1921 2 720 1920 t ( the information is currently not available or the request)9 2299( If)1 132(the pipe / device or another reader drained it\).)8 1889 3 720 2040 t (is NOT for a pipe or device \(or the server does not support this feature\), a -1 value should be returned.)20 4239 1 720 2160 t (A negative 2 smb)3 729 1 720 2400 t 10 S f (_)1449 2400 w 10 R f ( that the server should use the default timeout value associated)10 2596(timeout value indicates)2 945 2 1499 2400 t ( explicitly set to the resource, rather the current)8 1991( no timeout is)3 590( Thus)1 272(with the pipe or device being read.)6 1467 4 720 2520 t (timeout set either as a default or as a result of an IOCTL remains in effect.)15 3091 1 720 2640 t (Read and X may generate the following errors:)7 1932 1 720 2880 t (Error Class ERRDOS:)2 916 1 1080 3060 t (ERRnoaccess)1146 3300 w (ERRbad\256d)1146 3420 w (ERRlock)1146 3540 w (ERRbadaccess)1146 3660 w (Error Class ERRSRV:)2 911 1 1080 3900 t (ERRerror)1146 4140 w (ERRinvnid)1146 4260 w (ERRtimeout)1146 4380 w 10 S1 f (<)1146 4500 w 10 R f (implementation speci\256c)1 966 1 1202 4500 t 10 S1 f (>)2168 4500 w 10 R f (Error Class ERRHRD:)2 927 1 1080 4740 t 10 S1 f (<)1146 4980 w 10 R f (implementation speci\256c)1 966 1 1202 4980 t 10 S1 f (>)2168 4980 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 54 54 %%Page: 55 55 save mark 55 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 55 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( BLOCK MULTIPLEXED)2 1173(9.2.13. READ)1 624 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 08 */)4 582(wct; /*)1 562 2 1497 1176 t (WORD smb)1 622 1 825 1296 t 10 S f (_)1447 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 562 2 1497 1296 t (DWORD smb)1 694 1 753 1416 t 10 S f (_)1447 1416 w 10 R f ( offset in \256le to begin read */)7 1213(offset; /*)1 562 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( max number of bytes to return \(max 65,535\) */)9 1975(maxcnt; /*)1 562 2 1497 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( min number of bytes to return \(normally 0\) */)9 1923(mincnt; /*)1 562 2 1497 1656 t (DWORD smb)1 694 1 753 1776 t 10 S f (_)1447 1776 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 562 2 1497 1776 t (WORD smb)1 622 1 825 1896 t 10 S f (_)1447 1896 w 10 R f ( reserved */)2 481(rsvd; /*)1 562 2 1497 1896 t (WORD smb)1 622 1 825 2016 t 10 S f (_)1447 2016 w 10 R f ( value = 0 */)4 532(bcc; /*)1 562 2 1497 2016 t (Response Format \(one or more of these are returned\):)8 2203 1 720 2352 t (BYTE smb)1 578 1 869 2532 t 10 S f (_)1447 2532 w 10 R f ( value = 8 */)4 532(wct; /*)1 661 2 1497 2532 t (DWORD smb)1 694 1 753 2652 t 10 S f (_)1447 2652 w 10 R f ( */)1 144( offset in \256le where data read)6 1211(offset; /*)1 661 3 1497 2652 t (WORD smb)1 622 1 825 2772 t 10 S f (_)1447 2772 w 10 R f ( total bytes being returned this protocol */)7 1730(tcount; /*)1 661 2 1497 2772 t (WORD smb)1 622 1 825 2892 t 10 S f (_)1447 2892 w 10 R f ( bytes remaining to be read \(pipes/devices only\) */)8 2083(remaining; /*)1 661 2 1497 2892 t (DWORD smb)1 694 1 753 3012 t 10 S f (_)1447 3012 w 10 R f ( reserved */)2 481(rsvd; /*)1 661 2 1497 3012 t (WORD smb)1 622 1 825 3132 t 10 S f (_)1447 3132 w 10 R f ( number of data bytes this buffer \(min value = 0\) */)11 2138(dsize; /*)1 661 2 1497 3132 t (WORD smb)1 622 1 825 3252 t 10 S f (_)1447 3252 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(doff; /*)1 661 2 1497 3252 t (WORD smb)1 622 1 825 3372 t 10 S f (_)1447 3372 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 661 2 1497 3372 t (BYTE smb)1 578 1 869 3492 t 10 S f (_)1447 3492 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 661 2 1497 3492 t (BYTE smb)1 578 1 869 3612 t 10 S f (_)1447 3612 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 661 2 1497 3612 t 10 S f (_)3371 3612 w 10 R f (dsize\) */)1 349 1 3421 3612 t (Service:)720 3948 w ( Multiplexed protocol is used to maximize the performance of reading a large block of)14 3645(The Read Block)2 675 2 720 4104 t (data from the server to the consumer on a multiplexed VC.)10 2429 1 720 4224 t ( scope includes \(but is not limited to\) \256les, Named Pipes and)11 2581( command's)1 537(The Read Block Multiplexed)3 1202 3 720 4464 t (communication devices.)1 979 1 720 4584 t ( server will)2 505( The)1 241( may be active on the multiplexed VC.)7 1739(When this protocol is used, other requests)6 1835 4 720 4824 t ( or more response protocol message as de\256ned above until the requested data)12 3401(respond with the one)3 919 2 720 4944 t ( response contains the smb)4 1115( Each)1 268( been returned.)2 617(amount has)1 468 4 720 5064 t 10 S f (_)3188 5064 w 10 R f (pid and smb)2 511 1 3238 5064 t 10 S f (_)3749 5064 w 10 R f (mid of the Read Block Multi-)5 1241 1 3799 5064 t ( \256le offset and data length de\256ned in the Read response protocol \(including the SMB)14 3545(plexed request, the)2 775 2 720 5184 t ( the consumer's message delivery \(multiplexing\) system to deliver the response to)11 3447( allows)1 300(header\). This)1 573 3 720 5304 t (the appropriate thread.)2 916 1 720 5424 t ( bytes which the server may return \(from)7 1940(The Consumer knows the maximum amount of data)7 2380 2 720 5664 t (smb)720 5784 w 10 S f (_)887 5784 w 10 R f ( Server)1 305( The)1 233( value.)1 286( it initializes its bytes expected variable to this)8 2017( Thus)1 279(maxcnt of the request\).)3 983 6 937 5784 t (then informs the consumer of the actual amount being returned via each)11 3232 1 720 5904 t 10 S1 f (")4010 5904 w 10 R f (packet)4051 5904 w 10 S1 f (")4311 5904 w 10 R f (\(buffer\) of the)2 630 1 4410 5904 t (response \(smb)1 582 1 720 6024 t 10 S f (_)1302 6024 w 10 R f (tcount\).)1352 6024 w ( expected \(smb)2 630(The server may reduce the expected bytes by lowering the total number of bytes)13 3357 2 720 6264 t 10 S f (_)4707 6264 w 10 R f (tcount\))4757 6264 w (in each \(any\) response.)3 943 1 720 6384 t ( data bytes received \(total of each smb)7 1616(Thus, when the amount of)4 1090 2 720 6624 t 10 S f (_)3426 6624 w 10 R f (dsize\) equals the total amount of data)6 1564 1 3476 6624 t (bytes expected \(smallest smb)3 1219 1 720 6744 t 10 S f (_)1939 6744 w 10 R f ( then the consumer has received all the data bytes. This)10 2364(tcount received\),)1 687 2 1989 6744 t (allows the protocol to work even if the)7 1601 1 720 6864 t 10 S1 f (")2354 6864 w 10 R f (packets)2395 6864 w 10 S1 f (")2694 6864 w 10 R f (\(buffers\) are received out of sequence.)5 1572 1 2768 6864 t ( buffer)1 277( consumer's)1 527( buffer size being returned here can not be larger than the smaller of the)14 2984(Note that the)2 532 4 720 7104 t (size \(as speci\256ed in smb)4 1007 1 720 7224 t 10 S f (_)1727 7224 w 10 R f (bufsize on the SESSION SETUP and X request protocol\) or the server's buffer)12 3263 1 1777 7224 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 55 55 %%Page: 56 56 save mark 56 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 56 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (size \(as speci\256ed in smb)4 1003 1 720 840 t 10 S f (_)1723 840 w 10 R f (maxxmt of the NEGOTIATE response protocol\).)5 2003 1 1773 840 t ( reading a)2 423(As is true in the core read protocol, \(while)8 1800 2 720 1080 t 10 S1 f (")2983 1080 w 10 R f (standard blocked disk \256le)3 1069 1 3024 1080 t 10 S1 f (")4093 1080 w 10 R f (\), the total number of)4 906 1 4134 1080 t ( a read speci\256es bytes beyond the)6 1486(bytes returned may be be less than the number requested only if)11 2834 2 720 1200 t ( read completely beyond the end)5 1370( A)1 144( this case only the bytes that exist are returned.)9 1986( In)1 154(current \256le size.)2 666 5 720 1320 t ( in a single response with a zero value in smb)10 2004(of \256le will result)3 724 2 720 1440 t 10 S f (_)3448 1440 w 10 R f ( the total number of bytes)5 1119(rcount. If)1 423 2 3498 1440 t ( this indicates end of \256le \(if reading other than a)10 2119(returned is less than the number of bytes requested,)8 2201 2 720 1560 t (standard blocked disk \256le, only ZERO bytes returned indicates end of \256le\).)11 3087 1 720 1680 t ( the Read)2 407(This protocol eliminates nearly half the protocols involved with reading a block of data since)14 3913 2 720 2040 t ( once as opposed to one for each negotiated buffer size as de\256ned)12 2723(Block Multiplexed request is sent only)5 1597 2 720 2160 t (with the Read protocol.)3 962 1 720 2280 t ( no)1 146( Thus)1 279( guarantees delivery of all responses to the consumer.)8 2305(The transport layer)2 799 4 720 2520 t 10 S1 f (")4295 2520 w 10 R f (got the data you)3 704 1 4336 2520 t (sent)720 2640 w 10 S1 f (")881 2640 w 10 R f ( an error should occur at the consumer end, all bytes must be received and)14 3153( If)1 138(protocol is needed.)2 787 3 962 2640 t ( is no need to inform the server of the error.)10 1823( There)1 298(thrown away.)1 551 3 720 2760 t ( consumer is)2 535( The)1 228( to go to completion.)4 891(Once started, the Read Block Multiplexed operation is expected)8 2666 4 720 3000 t ( commands \(such as \256le close\))5 1273( Con\257icting)1 519( the server.)2 460(expected to receive all the responses generated by)7 2068 4 720 3120 t (must not be sent to the server while a multiplexed operation is in progress.)13 3079 1 720 3240 t (The \257ow for the Read Block Multiplexed \(R.B.M.\) protocol is:)9 2593 1 720 3480 t (consumer)1080 3720 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 971 1 1534 3720 t 10 R f (R. B. M. request)3 685 1 2542 3720 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1144 2 3260 3720 t 10 R f (server)4437 3720 w (consumer)1080 3840 w 10 S1 f ( \261\261\261\261\261\261\261\261\261<)1 661(\261 <)1 61 2 1501 3840 t 10 R f (R. B. M. response 1 with data)6 1239 1 2256 3840 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261)1 782(\261 <)1 61 2 3528 3840 t 10 R f (server)4437 3840 w (consumer)1080 3960 w 10 S1 f ( \261\261\261\261\261\261\261\261\261<)1 661(\261 <)1 61 2 1501 3960 t 10 R f (R. B. M. response 2 with data)6 1239 1 2256 3960 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261)1 782(\261 <)1 61 2 3528 3960 t 10 R f (server)4437 3960 w ( .)1 1787(. .)1 1813 2 1080 4080 t (consumer)1080 4200 w 10 S1 f ( \261\261\261\261\261\261\261\261\261<)1 661(\261 <)1 61 2 1501 4200 t 10 R f (R. B. M. response n with data)6 1239 1 2256 4200 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261)1 782(\261 <)1 61 2 3528 4200 t 10 R f (server)4437 4200 w ( protocol, thus the TID, PID, UID)6 1417(Note that the request through the \256nal response make up the complete)11 2903 2 720 4476 t ( the individual mes-)3 827(and MID are expected to remain constant and can be used by the consumer to route)15 3493 2 720 4596 t (sages of the protocol to the correct process.)7 1785 1 720 4716 t ( smb)1 215(The return \256eld)2 665 2 720 4992 t 10 S f (_)1600 4992 w 10 R f ( is used to return the)5 928( It)1 142(remaining is to be returned for pipes or devices only.)9 2320 3 1650 4992 t ( including the bytes returned with this)6 1618(number of bytes currently available in the pipe or device \(NOT)10 2702 2 720 5112 t (protocol\). This information can then be used by the consumer to know when a subsequent \(non block-)16 4320 1 720 5232 t ( - that when the read request is actually)8 1723( Note)1 273(ing\) read of the pipe or device may return some data.)10 2324 3 720 5352 t ( actual data in the pipe or device \(more data has been)11 2273(received by the server there may be more or less)9 2047 2 720 5472 t ( is currently not available or)5 1173( the information)2 666( If)1 135(written to the pipe / device or another reader drained it\).)10 2346 4 720 5592 t ( value should)2 563(the request is NOT for a pipe or device \(or the server does not support this feature\), a -1)18 3757 2 720 5712 t (be returned.)1 484 1 720 5832 t ( that the error ERRnoresource \(or)5 1473( Note)1 279( errors.)1 309(Read Block Multiplexed may generate the following)6 2259 4 720 6108 t ( consumer could)2 682( The)1 224( returned by the server if it is temporarily out of large buffers.)12 2596(ERRusestd\) may be)2 818 4 720 6228 t (then retry using the standard)4 1169 1 720 6348 t 10 S1 f (")1922 6348 w 10 R f (core)1963 6348 w 10 S1 f (")2134 6348 w 10 R f (read request, or delay and retry the read block multiplexed request.)10 2751 1 2208 6348 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 56 56 %%Page: 57 57 save mark 57 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 57 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRDOS)2 888 1 1080 900 t (ERRnoaccess)1146 1140 w (ERRbad\256d)1146 1260 w (ERRlock)1146 1380 w (ERRbadaccess)1146 1500 w 10 S1 f (<)1146 1620 w 10 R f (implementation speci\256c)1 966 1 1202 1620 t 10 S1 f (>)2168 1620 w 10 R f (Error Class ERRSRV)2 883 1 1080 1860 t (ERRerror)1146 2100 w (ERRinvnid)1146 2220 w (ERRnoresource)1146 2340 w (ERRusestd)1146 2460 w (ERRtimeout)1146 2580 w 10 S1 f (<)1146 2700 w 10 R f (implementation speci\256c)1 966 1 1202 2700 t 10 S1 f (>)2168 2700 w 10 R f (Error Class ERRHRD)2 899 1 1080 2940 t 10 S1 f (<)1146 3180 w 10 R f (implementation speci\256c)1 966 1 1202 3180 t 10 S1 f (>)2168 3180 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 57 57 %%Page: 58 58 save mark 58 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 58 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( BLOCK RAW)2 672(9.2.14. READ)1 624 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 08 */)4 582(wct; /*)1 562 2 1497 1176 t (WORD smb)1 622 1 825 1296 t 10 S f (_)1447 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 562 2 1497 1296 t (DWORD smb)1 694 1 753 1416 t 10 S f (_)1447 1416 w 10 R f ( offset in \256le to begin read */)7 1213(offset; /*)1 562 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( max number of bytes to return \(max 65,535\) */)9 1975(maxcnt; /*)1 562 2 1497 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( min number of bytes to return \(normally 0\) */)9 1923(mincnt; /*)1 562 2 1497 1656 t (DWORD smb)1 694 1 753 1776 t 10 S f (_)1447 1776 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 562 2 1497 1776 t (WORD smb)1 622 1 825 1896 t 10 S f (_)1447 1896 w 10 R f ( reserved */)2 481(rsvd; /*)1 562 2 1497 1896 t (WORD smb)1 622 1 825 2016 t 10 S f (_)1447 2016 w 10 R f ( value = 0 */)4 532(bcc; /*)1 562 2 1497 2016 t (Response is the raw data \(one send\).)6 1503 1 720 2352 t (Service:)720 2628 w ( protocol is used to maximize the performance of reading a large block of data)14 3406(The Read Block Raw)3 914 2 720 2784 t (from the server to the consumer.)5 1337 1 720 2904 t ( com-)1 281( \(but is not limited to\) \256les, Named Pipes and)9 1979(The Read Block Raw command's scope includes)6 2060 3 720 3144 t (munication devices.)1 807 1 720 3264 t ( the consumer has guaranteed that there is \(and will be\) no other request on)14 3181(When this protocol is used,)4 1139 2 720 3504 t ( the raw data)3 572( server will respond with)4 1077( The)1 234(the VC for the duration of the Read Block Raw request.)10 2437 4 720 3624 t ( 65,535 bytes of data and receive it)7 1509( the consumer is able to request up to)8 1607( Thus)1 273(being read \(one send\).)3 931 4 720 3744 t ( than the)2 376( that the amount of data requested is expected to be larger)11 2490( Note)1 269(directly into the user buffer.)4 1185 4 720 3864 t (negotiated buffer size for this protocol.)5 1598 1 720 3984 t ( for the duration of the request is that if other)10 1907(The reason that no other requests can be active on the VC)11 2413 2 720 4224 t ( data will be received into)5 1079(receives are present on the VC, there is normally no way to guarantee that the)14 3241 2 720 4344 t (the user space, rather the data may \256ll one \(or more\) of the other buffers.)14 3015 1 720 4464 t ( length of the message the consumer receives)7 1874(The number of bytes actually returned is determined by the)9 2446 2 720 4704 t (as reported by the transport layer \(there are no overhead)9 2306 1 720 4824 t 10 S1 f (")3059 4824 w 10 R f (header bytes)1 509 1 3100 4824 t 10 S1 f (")3609 4824 w 10 R f (\).)3650 4824 w ( present in the \256le, the read response will be of the length)12 2468(If the request is to read more bytes than are)9 1852 2 720 5064 t (actually read from the \256le.)4 1088 1 720 5184 t ( error occurs on the read, the server will respond with a)11 2326(If none of the requested bytes exist \(EOF\) or an)9 1994 2 720 5424 t ( a zero length response, the consumer will send a)9 2200( receipt of)2 460( Upon)1 308(zero byte send.)2 657 4 720 5544 t 10 S1 f (")4397 5544 w 10 R f (standard read)1 561 1 4438 5544 t 10 S1 f (")4999 5544 w 10 R f ( hit or identify)3 608( response to that read will then tell the consumer that EOF was)12 2628( The)1 223(request to the server.)3 861 4 720 5664 t (the error condition.)2 784 1 720 5784 t ( read protocol, \(while reading a)5 1317(As is true in the core)5 889 2 720 6024 t 10 S1 f (")2964 6024 w 10 R f (standard blocked disk \256le)3 1063 1 3005 6024 t 10 S1 f (")4068 6024 w 10 R f (\), the number of bytes)4 931 1 4109 6024 t ( if a read speci\256es bytes beyond the current \256le)9 2053(returned may be less than the number requested only)8 2267 2 720 6144 t ( read completely beyond the end of \256le will)8 1854( A)1 144( are returned.)2 556( this case only the bytes that exist)7 1432(size. In)1 334 5 720 6264 t ( the number of bytes returned is less than the number of bytes)12 2691( If)1 143(result in a response of zero length.)6 1486 3 720 6384 t ( a standard blocked disk \256le, only ZERO bytes)8 1964(requested, this indicates end of \256le \(if reading other than)9 2356 2 720 6504 t (returned indicates end of \256le\).)4 1232 1 720 6624 t ( no)1 133( Thus)1 266(The transport layer guarantees delivery of all response bytes to the consumer.)11 3181 3 720 6864 t 10 S1 f (")4333 6864 w 10 R f ( you)1 184(got the data)2 482 2 4374 6864 t (sent)720 6984 w 10 S1 f (")881 6984 w 10 R f (protocol is needed.)2 773 1 955 6984 t ( is no)2 241( There)1 302( consumer end, all bytes must be received and thrown away.)10 2526(If an error should occur at the)6 1251 4 720 7224 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 58 58 %%Page: 59 59 save mark 59 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 59 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (need to inform the server of the error.)7 1557 1 720 840 t (Support of this protocol is optional.)5 1463 1 720 1080 t ( the LAN-)2 440(Whether or not Read Block Raw is supported is returned in the response to negotiate and in)16 3880 2 720 1320 t (MAN 1.0 extended)2 784 1 720 1440 t 10 S1 f (")1537 1440 w 10 R f (Query Server Information)2 1052 1 1578 1440 t 10 S1 f (")2630 1440 w 10 R f (protocol.)2704 1440 w ( Raw protocol)2 594(The \257ow for reading a sequential \256le \(or down-loading a program\) using the Block Read)14 3726 2 720 1680 t (is:)720 1800 w (consumer)1080 2040 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 841 1 1539 2040 t 10 R f (OPEN for read request)3 935 1 2417 2040 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1019 2 3385 2040 t 10 R f (server)4437 2040 w (consumer)1080 2160 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 738(\261 <)1 61 2 1501 2160 t 10 R f (OPEN succeeded response)2 1085 1 2333 2160 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261)1 859(\261 <)1 61 2 3451 2160 t 10 R f (server)4437 2160 w (consumer)1080 2400 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1545 2400 t 10 R f (BLOCK READ RAW request 1)4 1314 1 2228 2400 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261)1 829 2 3575 2400 t 10 R f (server)4437 2400 w (consumer)1080 2520 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261<)1 924(\261 <)1 61 2 1501 2520 t 10 R f (raw data returned)2 713 1 2519 2520 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1078(\261 <)1 61 2 3265 2520 t 10 R f (server)4437 2520 w (consumer)1080 2640 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1545 2640 t 10 R f (BLOCK READ RAW request 2)4 1314 1 2228 2640 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261)1 829 2 3575 2640 t 10 R f (server)4437 2640 w (consumer)1080 2760 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261<)1 924(\261 <)1 61 2 1501 2760 t 10 R f (raw data returned)2 713 1 2519 2760 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1045(\261 <)1 61 2 3265 2760 t 10 R f (server)4437 2760 w ( .)1 1787(. .)1 1813 2 1080 2880 t (consumer)1080 3000 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1545 3000 t 10 R f (BLOCK READ RAW request n)4 1314 1 2228 3000 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261)1 829 2 3575 3000 t 10 R f (server)4437 3000 w (consumer)1080 3120 w 10 S1 f ( \261\261\261\261\261\261<)1 504(\261 <)1 61 2 1501 3120 t 10 R f (ZERO LEN SEND \(EOF or ERROR\))5 1553 1 2099 3120 t 10 S1 f ( \261\261\261\261\261\261\261\261\261)1 625(\261 <)1 61 2 3685 3120 t 10 R f (server)4437 3120 w (consumer)1080 3240 w 10 S1 f ( ")1 78(\261\261\261\261\261\261\261\261\261\261\261\261 >)1 776 2 1549 3240 t 10 R f (standard)2403 3240 w 10 S1 f (")2741 3240 w 10 R f (READ request)1 593 1 2815 3240 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261)1 963 2 3441 3240 t 10 R f (server)4437 3240 w (consumer)1080 3360 w 10 S1 f ( \261\261\261\261\261\261\261\261\261<)1 662(\261 <)1 61 2 1501 3360 t 10 R f (READ response EOF/ERROR)2 1238 1 2257 3360 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261)1 782(\261 <)1 61 2 3528 3360 t 10 R f (server)4437 3360 w (consumer)1080 3600 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 971 1 1558 3600 t 10 R f (CLOSE request)1 638 1 2566 3600 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1167 2 3237 3600 t 10 R f (server)4437 3600 w (consumer)1080 3720 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261<)1 710(\261 <)1 61 2 1501 3720 t 10 R f (CLOSE succeeded response)2 1141 1 2305 3720 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261)1 864(\261 <)1 61 2 3479 3720 t 10 R f (server)4437 3720 w (This approach minimizes the number of overhead protocols \(and bytes\) required.)10 3315 1 720 3960 t ( the response to this protocol is raw data only, a)10 2106( Because)1 410( generate NO errors.)3 873(Read Block Raw may)3 931 4 720 4236 t ( is temporarily out of large buffers.)6 1502(zero length response indicates EOF, a read error or that the server)11 2818 2 720 4356 t ( using a Multiplexed Read Request or a standard)8 2102(The consumer should then retry)4 1346 2 720 4476 t 10 S1 f (")4213 4476 w 10 R f (core)4254 4476 w 10 S1 f (")4425 4476 w 10 R f (read request.)1 529 1 4511 4476 t ( will work if)3 524(This request will then either return the EOF condition, an error if the read is still failing, or)17 3796 2 720 4596 t (the problem was due to being temporarily out of large buffers.)10 2567 1 720 4716 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 59 59 %%Page: 60 60 save mark 60 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 60 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( SETUP and X)3 656(9.2.15. SESSION)1 765 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 10 */)4 582(wct; /*)1 710 2 1497 1176 t (BYTE smb)1 578 1 869 1296 t 10 S f (_)1447 1296 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 710 2 1497 1296 t (BYTE smb)1 578 1 869 1416 t 10 S f (_)1447 1416 w 10 R f ( reserved \(must be zero\) */)5 1106(reh2; /*)1 710 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 710 2 1497 1536 t 10 S1 f (@)3963 1536 w 10 R f (smb)4055 1536 w 10 S f (_)4222 1536 w 10 R f (wct\) */)1 288 1 4272 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( the consumers max buffer size */)6 1395(bufsize; /*)1 710 2 1497 1656 t (WORD smb)1 622 1 825 1776 t 10 S f (_)1447 1776 w 10 R f ( actual maximum multiplexed pending requests */)6 2047(mpxmax; /*)1 710 2 1497 1776 t (WORD smb)1 622 1 825 1896 t 10 S f (_)1447 1896 w 10 R f (vc)1497 1896 w 10 S f (_)1591 1896 w 10 R f ( 0 = \256rst \(only\), non zero - additional VC number */)11 2170(num; /*)1 566 2 1641 1896 t (DWORD smb)1 694 1 753 2016 t 10 S f (_)1447 2016 w 10 R f ( Session Key \(valid only if smb)6 1309(sesskey; /*)1 710 2 1497 2016 t 10 S f (_)3516 2016 w 10 R f (vc)3566 2016 w 10 S f (_)3660 2016 w 10 R f (num != 0\) */)3 527 1 3710 2016 t (WORD smb)1 622 1 825 2136 t 10 S f (_)1447 2136 w 10 R f ( size of account password \(smb)5 1290(apasslen; /*)1 710 2 1497 2136 t 10 S f (_)3497 2136 w 10 R f (apasswd\) */)1 482 1 3547 2136 t (DWORD smb)1 694 1 753 2256 t 10 S f (_)1447 2256 w 10 R f ( reserved */)2 481(rsvd; /*)1 710 2 1497 2256 t (WORD smb)1 622 1 825 2376 t 10 S f (_)1447 2376 w 10 R f ( minimum value = 0 */)5 955(bcc; /*)1 710 2 1497 2376 t (BYTE smb)1 578 1 869 2496 t 10 S f (_)1447 2496 w 10 R f ( account password \(* = smb)5 1158(apasswd[*]; /*)1 710 2 1497 2496 t 10 S f (_)3365 2496 w 10 R f (apasslen value\) */)2 731 1 3415 2496 t (BYTE smb)1 578 1 869 2616 t 10 S f (_)1447 2616 w 10 R f ( account name string */)4 964(aname[]; /*)1 710 2 1497 2616 t (Response Format:)1 733 1 720 2916 t (BYTE smb)1 578 1 830 3096 t 10 S f (_)1408 3096 w 10 R f ( value = 3 */)4 532(wct; /*)1 500 2 1458 3096 t (BYTE smb)1 578 1 830 3216 t 10 S f (_)1408 3216 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 500 2 1458 3216 t (BYTE smb)1 578 1 830 3336 t 10 S f (_)1408 3336 w 10 R f ( reserved \(pad to word\) */)5 1073(res2; /*)1 500 2 1458 3336 t (WORD smb)1 622 1 786 3456 t 10 S f (_)1408 3456 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 500 2 1458 3456 t 10 S1 f (@)3714 3456 w 10 R f (smb)3806 3456 w 10 S f (_)3973 3456 w 10 R f (wct\) */)1 288 1 4023 3456 t (WORD smb)1 622 1 786 3576 t 10 S f (_)1408 3576 w 10 R f ( request mode:)2 604(action; /*)1 500 2 1458 3576 t (bit0 = Logged in successfully - BUT as GUEST */)9 2096 1 1880 3696 t (WORD smb)1 622 1 786 3816 t 10 S f (_)1408 3816 w 10 R f ( value = 0 */)4 532(bcc; /*)1 500 2 1458 3816 t (Service de\256nition:)1 744 1 720 4032 t (This protocol is used to further)5 1275 1 720 4188 t 10 S1 f (")2028 4188 w 10 R f (Set up)1 261 1 2069 4188 t 10 S1 f (")2330 4188 w 10 R f (the session normally just established via the negotiate protocol.)8 2593 1 2404 4188 t (One primary function is to perform a)6 1535 1 720 4428 t 10 S1 f (")2291 4428 w 10 R f (user logon)1 430 1 2332 4428 t 10 S1 f (")2762 4428 w 10 R f (in the case where the server is in)7 1376 1 2839 4428 t 10 S1 f (")4251 4428 w 10 R f (user level security)2 748 1 4292 4428 t (mode)720 4548 w 10 S1 f (")942 4548 w 10 R f ( the userid value \(smb)4 958(. Here,)1 320 2 983 4548 t 10 S f (_)2261 4548 w 10 R f ( the SMB header\) is set by the consumer to be the userid)12 2474(uid of)1 255 2 2311 4548 t (desired for the account \(user\) name supplied in smb)8 2220 1 720 4668 t 10 S f (_)2940 4668 w 10 R f ( account \(user\) pass-)3 882(aname and validated by the)4 1168 2 2990 4668 t (word supplied in smb)3 888 1 720 4788 t 10 S f (_)1608 4788 w 10 R f (apasswd \(if a passwd is required\).)5 1392 1 1658 4788 t ( be encrypted, it is a variable length \256eld with the length speci\256ed by)13 2875(Because the account password may)4 1445 2 720 5028 t (smb)720 5148 w 10 S f (_)887 5148 w 10 R f (apasslen \(if password encryption is not being used, smb)8 2460 1 937 5148 t 10 S f (_)3397 5148 w 10 R f ( a null terminated)3 786(apasswd should be)2 807 2 3447 5148 t (ASCII string with smb)3 933 1 720 5268 t 10 S f (_)1653 5268 w 10 R f (apasslen set to the string size including the null\).)8 2010 1 1703 5268 t ( supplied and if valid, it registers the UID \(in smb)10 2130(The server validates the name and password)6 1840 2 720 5508 t 10 S f (_)4690 5508 w 10 R f (uid\) on)1 300 1 4740 5508 t ( smb)1 208( The)1 229(this session as representing the speci\256ed account \(user\) name.)8 2598 3 720 5628 t 10 S f (_)3755 5628 w 10 R f (uid \256eld will then be used to)6 1235 1 3805 5628 t ( protocol requests where permission checks are)6 2034( The)1 238( on subsequent protocol requests.)4 1429(validate access)1 619 4 720 5748 t ( resource such as OPEN, RENAME, DELETE,)6 1984(required are those which refer to a symbolically named)8 2336 2 720 5868 t (TRANSACT, etc..)1 752 1 720 5988 t ( the UID \(smb)3 625(In networks with untrusted consumers, the value of)7 2159 2 720 6228 t 10 S f (_)3504 6228 w 10 R f (uid\) is relative to a session so it is)8 1486 1 3554 6228 t ( different sessions at the)4 1069(possible to have the same UID value represent two different users on two)12 3251 2 720 6348 t ( server must map the session id and the value in smb)11 2189(server. The)1 489 2 720 6468 t 10 S f (_)3398 6468 w 10 R f (uid\) to a unique account.)4 1022 1 3448 6468 t ( only the UID \(no account name/password\).)6 1875(In networks with trusted consumers, it is allowed to pass)9 2445 2 720 6708 t (On these systems, UIDs are unique and validated user IDs.)9 2420 1 720 6828 t ( the server)2 443( If)1 137(Multiple session setup commands may be sent to register additional users on this session.)13 3740 3 720 7068 t ( only the smb)3 602(receives an additional Session Setup protocol,)5 1942 2 720 7188 t 10 S f (_)3264 7188 w 10 R f (uid, smb)1 365 1 3314 7188 t 10 S f (_)3679 7188 w 10 R f (aname and smb)2 661 1 3729 7188 t 10 S f (_)4390 7188 w 10 R f (apasswd \256elds)1 600 1 4440 7188 t ( error)1 230( The)1 225( other \256elds\).)2 554(need contain valid values \(the server will ignore the)8 2156 4 720 7308 t 10 S1 f (")3922 7308 w 10 R f (ERRtoomanyuids)3963 7308 w 10 S1 f (")4675 7308 w 10 R f (will be)1 287 1 4753 7308 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 60 60 %%Page: 61 61 save mark 61 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 61 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (returned if the server can not support the additional UID requested.)10 2760 1 720 840 t (If the server is in)4 736 1 720 1080 t 10 S1 f (")1496 1080 w 10 R f (share level security mode)3 1062 1 1537 1080 t 10 S1 f (")2599 1080 w 10 R f ( the)1 163(, the account name and passwd should be ignored by)9 2237 2 2640 1080 t (server.)720 1200 w ( protocol is to inform the server of the maximum values which)11 2665(Another function of the Session Set Up)6 1655 2 720 1440 t (will be utilized by this consumer.)5 1373 1 720 1560 t (Here smb)1 404 1 720 1800 t 10 S f (_)1124 1800 w 10 R f ( although the)2 562( Thus)1 278( size which the consumer can receive.)6 1629(bufsize is the maximum message)4 1397 4 1174 1800 t ( 16k buffers \(as returned in the negotiate response\), if the consumer only has 4k)14 3507(server may support)2 813 2 720 1920 t (buffers, the value of smb)4 1027 1 720 2040 t 10 S f (_)1747 2040 w 10 R f (bufsize here would be 4096.)4 1160 1 1797 2040 t (The minimum SMB buffer size \(smb)5 1580 1 720 2280 t 10 S f (_)2300 2280 w 10 R f ( for)1 162( provides suf\256cient room)3 1062( This)1 256(maxxmt\) is 1024 bytes \(1k\).)4 1210 4 2350 2280 t (most protocols including the simple)4 1466 1 720 2400 t 10 S1 f (")2219 2400 w 10 R f (request-response)2260 2400 w 10 S1 f (")2930 2400 w 10 R f (mode of the IOCTL protocol.)4 1211 1 3004 2400 t ( smb)1 203(Note that)1 379 2 720 2640 t 10 S f (_)1302 2640 w 10 R f ( Thus)1 269(maxxmt returned in the NEGOTIATE response is the server buffer size supported.)11 3419 2 1352 2640 t ( larger)1 268( size may be)3 532( This)1 248(this is the max SMB message size which the consumer can send to the server.)14 3272 4 720 2760 t (than smb)1 380 1 720 2880 t 10 S f (_)1100 2880 w 10 R f ( SETUP and X protocol)4 1023( SESSION)1 481( server from the consumer via the)6 1443(bufsize returned to the)3 943 4 1150 2880 t (which is the maximum SMB message size which the server may send to the consumer.)14 3583 1 720 3000 t ( smb)1 225(Thus if the server's buffer size \(as indicated in)8 2112 2 720 3240 t 10 S f (_)3057 3240 w 10 R f (maxxmt on NEGOTIATE\) were 4k and the)6 1933 1 3107 3240 t ( in smb)2 331(consumer's buffer size were only 2k \(as indicated)7 2119 2 720 3360 t 10 S f (_)3170 3360 w 10 R f ( The)1 231(bufsize on SESSION SETUP and X\),)5 1589 2 3220 3360 t ( \(standard\) write requests but must only request up to 2k for \(standard\))12 3039(consumer could send up to 4k)5 1281 2 720 3480 t ( max transaction response from the server would also be 2k.)10 2478( The)1 221(read requests.)1 556 3 720 3600 t (The \256eld, smb)2 615 1 720 3960 t 10 S f (_)1335 3960 w 10 R f ( of the maximum number of requests which the consumer)9 2494(mpxmax informs the server)3 1161 2 1385 3960 t (will have outstanding on a given VC simultaneously.)7 2178 1 720 4080 t ( for smb)2 373(The values)1 454 2 720 4320 t 10 S f (_)1547 4320 w 10 R f (bufsize, smb)1 525 1 1597 4320 t 10 S f (_)2122 4320 w 10 R f (mpxmax, and smb)2 776 1 2172 4320 t 10 S f (_)2948 4320 w 10 R f (vc)2998 4320 w 10 S f (_)3092 4320 w 10 R f (num must be less than or equal to the max-)9 1898 1 3142 4320 t (imum values supported by the server as returned in the negotiate response.)11 3066 1 720 4440 t (The smb)1 355 1 720 4680 t 10 S f (_)1075 4680 w 10 R f (vc)1125 4680 w 10 S f (_)1219 4680 w 10 R f (num \256eld speci\256es whether the consumer wants this to be the \256rst VC or an additional VC.)16 3767 1 1269 4680 t (If the server gets a Session Set UP request with vc)10 2158 1 720 4920 t 10 S f (_)2878 4920 w 10 R f (number of 0 and other VCs are still connected \(to)9 2112 1 2928 4920 t ( if the)2 259( condition could occur)3 938( This)1 250(that consumer\), they will be aborted thus freeing any resources held.)10 2873 4 720 5040 t ( level had informed the server)5 1259(consumer was rebooted and reconnected to the server before the transport)10 3061 2 720 5160 t (of the previous VC termination.)4 1306 1 720 5280 t ( it easy to use differing size buffers on the same VC, the buffer)13 2745(Because most transports do not make)5 1575 2 720 5520 t ( expanded Tree Connect)3 1011( new)1 205( The)1 227(size is negotiated at negotiate time rather than at Tree Connect time.)11 2877 4 720 5640 t (protocol \(TREE)1 655 1 720 5760 t 10 S f (_)1375 5760 w 10 R f ( buffer sizes are needed at Tree)6 1334( If)1 139( longer negotiates buffer sizes.)4 1282(CONNECTandX\) no)1 860 4 1425 5760 t (Connect time, the core version of TREE CONNECT may still be used.)11 2916 1 720 5880 t ( including the optional second protocol must \256t in the negotiated)10 2753(The entire message sent and received)5 1567 2 720 6120 t (max transfer size.)2 722 1 720 6240 t (The following are the only valid protocol requests commands for smb)10 2871 1 720 6480 t 10 S f (_)3591 6480 w 10 R f ( SETUP and)2 518(com2 \(X\) for Session)3 881 2 3641 6480 t (X:)720 6600 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 61 61 %%Page: 62 62 save mark 62 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 62 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (TREE CONNECT and X)3 1037 1 1080 900 t (OPEN FILE)1 505 1 1080 1020 t (OPEN and X)2 543 1 1080 1140 t (CREATE FILE)1 633 1 1080 1260 t (MAKE NEW FILE)2 798 1 1080 1380 t (CREATE DIRECTORY)1 994 1 1080 1500 t (DELETE FILE)1 621 1 1080 1620 t (DELETE DIRECTORY)1 982 1 1080 1740 t (FILE SEARCH)1 639 1 1080 1860 t (FIND)1080 1980 w (FIND UNIQUE)1 648 1 1080 2100 t (COPY FILE)1 511 1 1080 2220 t (RENAME FILE)1 666 1 1080 2340 t (MOVE FILE)1 538 1 1080 2460 t (CHECK PATH)1 633 1 1080 2580 t (GET FILE ATTRIBUTES)2 1082 1 1080 2700 t (SET FILE ATTRIBUTES)2 1066 1 1080 2820 t (GET SERVER ATTRIBUTES)2 1255 1 1080 2940 t (QUERY SERVER INFO)2 1027 1 1080 3060 t (CREATE PRINT FILE)2 955 1 1080 3180 t (GET PRINT QUEUE)2 887 1 1080 3300 t (TRANSACTION)1080 3420 w (Session Setup and X may generate the following errors.)8 2291 1 720 3636 t (Error Class ERRDOS)2 888 1 1080 3816 t 10 S1 f (<)1146 4056 w 10 R f (implementation speci\256c)1 966 1 1202 4056 t 10 S1 f (>)2168 4056 w 10 R f (Error Class ERRSRV)2 883 1 1080 4296 t (ERRerror)1146 4536 w (ERRbadpw)1146 4656 w (ERRinvnetname)1146 4776 w (ERRtoomanyuids)1146 4896 w 10 S1 f (<)1146 5016 w 10 R f (implementation speci\256c)1 966 1 1202 5016 t 10 S1 f (>)2168 5016 w 10 R f (Error Class ERRHRD)2 899 1 1080 5256 t 10 S1 f (<)1146 5496 w 10 R f (implementation speci\256c)1 966 1 1202 5496 t 10 S1 f (>)2168 5496 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 62 62 %%Page: 63 63 save mark 63 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 63 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( EXPANDED FILE ATTRIBUTES)3 1534(9.2.16. SET)1 531 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 830 1176 t 10 S f (_)1408 1176 w 10 R f ( value = 7 */)4 532(wct; /*)1 512 2 1458 1176 t (WORD smb)1 622 1 786 1296 t 10 S f (_)1408 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 512 2 1458 1296 t (WORD smb)1 622 1 786 1416 t 10 S f (_)1408 1416 w 10 R f ( date of creation */)4 780(cdate; /*)1 512 2 1458 1416 t (WORD smb)1 622 1 786 1536 t 10 S f (_)1408 1536 w 10 R f ( time of creation */)4 792(ctime; /*)1 512 2 1458 1536 t (WORD smb)1 622 1 786 1656 t 10 S f (_)1408 1656 w 10 R f ( date of last access */)5 885(adate; /*)1 512 2 1458 1656 t (WORD smb)1 622 1 786 1776 t 10 S f (_)1408 1776 w 10 R f ( time of last access */)5 897(atime; /*)1 512 2 1458 1776 t (WORD smb)1 622 1 786 1896 t 10 S f (_)1408 1896 w 10 R f ( date of last modi\256cation */)5 1137(mdate; /*)1 512 2 1458 1896 t (WORD smb)1 622 1 786 2016 t 10 S f (_)1408 2016 w 10 R f ( time of last modi\256cation */)5 1149(mtime; /*)1 512 2 1458 2016 t (WORD smb)1 622 1 786 2136 t 10 S f (_)1408 2136 w 10 R f ( minimum value = 0 */)5 955(bcc; /*)1 512 2 1458 2136 t (BYTE smb)1 578 1 830 2256 t 10 S f (_)1408 2256 w 10 R f ( reserved */)2 481(rsvd[]; /*)1 512 2 1458 2256 t (Response Format:)1 733 1 720 2592 t (BYTE smb)1 578 1 830 2772 t 10 S f (_)1408 2772 w 10 R f ( value = 0 */)4 532(wct; /*)1 400 2 1458 2772 t (WORD smb)1 622 1 786 2892 t 10 S f (_)1408 2892 w 10 R f ( value = 0 */)4 532(bcc; /*)1 400 2 1458 2892 t (Service Enhancement:)1 903 1 720 3228 t ( target \256le is)3 524( The)1 222( to set information about the queried \256le.)7 1695(The Expanded Set File Attributes is enhanced)6 1879 4 720 3384 t ( null date/time value \(0\) indicates to leave that speci\256c date/time)10 2720( A)1 144( speci\256ed.)1 419( values)1 327(updated from the)2 710 5 720 3504 t (unchanged.)720 3624 w (The \256le is speci\256ed by the \256le handle \(FID\).)8 1837 1 720 3864 t (The dates are in the following format:)6 1562 1 720 4344 t (bits:)786 4464 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 4584 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 4704 t ( d d d)3 225( d)1 150( d)1 60( m m)2 150( m)1 150( m)1 90( y y)2 150( y)1 150(y y y y)3 275 9 1257 4824 t (where:)720 4944 w (y - bit of year 0-119 \(1980-2099\))6 1373 1 918 5064 t (m - bit of month 1-12)5 904 1 918 5184 t (d - bit of day 1-31)5 764 1 918 5304 t (The times are in the following format:)6 1574 1 720 5784 t (bits:)786 5904 w ( 1)1 75( 1)1 150(1 1 1 1)3 275 3 1257 6024 t ( 2 1 0)3 225( 3)1 150( 6 5 4)3 225( 7)1 150( 0 9 8)3 225( 1)1 150(5 4 3 2)3 275 7 1257 6144 t ( x x x)3 225( x)1 150( x)1 60( m m)2 150( m)1 150( m m)2 150( m)1 90( h)1 150(h h h h)3 275 9 1257 6264 t (where:)720 6384 w (h - bit of hour \(0-23\))5 869 1 918 6504 t (m - bit of minute \(0-59\))5 992 1 918 6624 t (x - bit of 2 second increment)6 1196 1 918 6744 t (Set Expanded File Attributes may generate the following errors.)8 2624 1 720 7140 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 63 63 %%Page: 64 64 save mark 64 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 64 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRDOS)2 888 1 1080 900 t (ERRbad\256le)1146 1140 w (ERRbad\256d)1146 1260 w (ERRnoaccess)1146 1380 w 10 S1 f (<)1146 1500 w 10 R f (implementation speci\256c)1 966 1 1202 1500 t 10 S1 f (>)2168 1500 w 10 R f (Error Class ERRSRV)2 883 1 1080 1740 t (ERRerror)1146 1980 w (ERRinvnid)1146 2100 w (ERRaccess)1146 2220 w 10 S1 f (<)1146 2340 w 10 R f (implementation speci\256c)1 966 1 1202 2340 t 10 S1 f (>)2168 2340 w 10 R f (Error Class ERRHRD)2 899 1 1080 2580 t 10 S1 f (<)1146 2820 w 10 R f (implementation speci\256c)1 966 1 1202 2820 t 10 S1 f (>)2168 2820 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 64 64 %%Page: 65 65 save mark 65 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 65 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17. TRANSACTION)1 1080 1 720 840 t 10 R f (Primary Request Format:)2 1027 1 720 996 t (BYTE smb)1 578 1 869 1212 t 10 S f (_)1447 1212 w 10 R f ( value = \(14 + value of smb)7 1158(wct; /*)1 621 2 1497 1212 t 10 S f (_)3276 1212 w 10 R f (suwcnt\) */)1 427 1 3326 1212 t (WORD smb)1 622 1 825 1332 t 10 S f (_)1447 1332 w 10 R f ( total number of parameter bytes being sent */)8 1900(tpscnt; /*)1 621 2 1497 1332 t (WORD smb)1 622 1 825 1452 t 10 S f (_)1447 1452 w 10 R f ( total number of data bytes being sent */)8 1668(tdscnt; /*)1 621 2 1497 1452 t (WORD smb)1 622 1 825 1572 t 10 S f (_)1447 1572 w 10 R f ( max number of parameter bytes to return */)8 1827(mprcnt; /*)1 621 2 1497 1572 t (WORD smb)1 622 1 825 1692 t 10 S f (_)1447 1692 w 10 R f ( max number of data bytes to return */)8 1595(mdrcnt; /*)1 621 2 1497 1692 t (BYTE smb)1 578 1 869 1812 t 10 S f (_)1447 1812 w 10 R f ( max number of setup words to return */)8 1673(msrcnt; /*)1 621 2 1497 1812 t (BYTE smb)1 578 1 869 1932 t 10 S f (_)1447 1932 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd; /*)1 621 2 1497 1932 t (WORD smb)1 622 1 825 2052 t 10 S f (_)1447 2052 w 10 R f ( additional information:)2 966(\257ags; /*)1 621 2 1497 2052 t (bit 0 - if set, also disconnect TID in smb)9 1682 1 2040 2172 t 10 S f (_)3722 2172 w 10 R f (tid)3772 2172 w (bit 1 - if set, transaction is one way \(no \256nal response\) */)12 2368 1 2040 2292 t (DWORD smb)1 694 1 753 2412 t 10 S f (_)1447 2412 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 621 2 1497 2412 t (WORD smb)1 622 1 825 2532 t 10 S f (_)1447 2532 w 10 R f ( reserved */)2 481(rsvd1; /*)1 621 2 1497 2532 t (WORD smb)1 622 1 825 2652 t 10 S f (_)1447 2652 w 10 R f ( number of parameter bytes being sent this buffer */)9 2143(pscnt; /*)1 621 2 1497 2652 t (WORD smb)1 622 1 825 2772 t 10 S f (_)1447 2772 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(psoff; /*)1 621 2 1497 2772 t (WORD smb)1 622 1 825 2892 t 10 S f (_)1447 2892 w 10 R f ( number of data bytes being sent this buffer */)9 1911(dscnt; /*)1 621 2 1497 2892 t (WORD smb)1 622 1 825 3012 t 10 S f (_)1447 3012 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(dsoff; /*)1 621 2 1497 3012 t (BYTE smb)1 578 1 869 3132 t 10 S f (_)1447 3132 w 10 R f ( set up word count */)5 881(suwcnt; /*)1 621 2 1497 3132 t (BYTE smb)1 578 1 869 3252 t 10 S f (_)1447 3252 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd2; /*)1 621 2 1497 3252 t (WORD smb)1 622 1 825 3372 t 10 S f (_)1447 3372 w 10 R f ( variable number of set up words \(* = smb)9 1767(setup[*]; /*)1 621 2 1497 3372 t 10 S f (_)3885 3372 w 10 R f (suwcnt\) */)1 427 1 3935 3372 t (WORD smb)1 622 1 825 3492 t 10 S f (_)1447 3492 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 621 2 1497 3492 t (BYTE smb)1 578 1 869 3612 t 10 S f (_)1447 3612 w 10 R f ( name of transaction */)4 947(name[]; /*)1 621 2 1497 3612 t (BYTE smb)1 578 1 869 3732 t 10 S f (_)1447 3732 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 621 2 1497 3732 t (BYTE smb)1 578 1 869 3852 t 10 S f (_)1447 3852 w 10 R f ( param bytes \(* = value of smb)7 1296(param[*]; /*)1 621 2 1497 3852 t 10 S f (_)3414 3852 w 10 R f (pscnt\) */)1 355 1 3464 3852 t (BYTE smb)1 578 1 869 3972 t 10 S f (_)1447 3972 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad1[]; /*)1 621 2 1497 3972 t (BYTE smb)1 578 1 869 4092 t 10 S f (_)1447 4092 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 621 2 1497 4092 t 10 S f (_)3331 4092 w 10 R f (dscnt\) */)1 355 1 3381 4092 t (Interim Response Format \(if no error - ok send remaining data\):)10 2631 1 720 4428 t (BYTE smb)1 578 1 830 4608 t 10 S f (_)1408 4608 w 10 R f ( value = 0 */)4 532(wct; /*)1 400 2 1458 4608 t (WORD smb)1 622 1 786 4728 t 10 S f (_)1408 4728 w 10 R f ( value = 0 */)4 532(bcc; /*)1 400 2 1458 4728 t (Secondary Request Format \(more data - may be zero or more of these\):)12 2939 1 720 4944 t (BYTE smb)1 578 1 830 5124 t 10 S f (_)1408 5124 w 10 R f ( value = 8 */)4 532(wct; /*)1 621 2 1458 5124 t (WORD smb)1 622 1 786 5244 t 10 S f (_)1408 5244 w 10 R f ( total number of parameter bytes being sent */)8 1900(tpscnt; /*)1 621 2 1458 5244 t (WORD smb)1 622 1 786 5364 t 10 S f (_)1408 5364 w 10 R f ( total number of data bytes being sent */)8 1668(tdscnt; /*)1 621 2 1458 5364 t (WORD smb)1 622 1 786 5484 t 10 S f (_)1408 5484 w 10 R f ( number of parameter bytes being sent this buffer */)9 2143(pscnt; /*)1 621 2 1458 5484 t (WORD smb)1 622 1 786 5604 t 10 S f (_)1408 5604 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(psoff; /*)1 621 2 1458 5604 t (WORD smb)1 622 1 786 5724 t 10 S f (_)1408 5724 w 10 R f ( byte displacement for these parameter bytes */)7 1938(psdisp; /*)1 621 2 1458 5724 t (WORD smb)1 622 1 786 5844 t 10 S f (_)1408 5844 w 10 R f ( number of data bytes being sent this buffer */)9 1911(dscnt; /*)1 621 2 1458 5844 t (WORD smb)1 622 1 786 5964 t 10 S f (_)1408 5964 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(dsoff; /*)1 621 2 1458 5964 t (WORD smb)1 622 1 786 6084 t 10 S f (_)1408 6084 w 10 R f ( byte displacement for these data bytes */)7 1706(dsdisp; /*)1 621 2 1458 6084 t (WORD smb)1 622 1 786 6204 t 10 S f (_)1408 6204 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 621 2 1458 6204 t (BYTE smb)1 578 1 830 6324 t 10 S f (_)1408 6324 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 621 2 1458 6324 t (BYTE smb)1 578 1 830 6444 t 10 S f (_)1408 6444 w 10 R f ( param bytes \(* = value of smb)7 1296(param[*]; /*)1 621 2 1458 6444 t 10 S f (_)3375 6444 w 10 R f (pscnt\) */)1 355 1 3425 6444 t (BYTE smb)1 578 1 830 6564 t 10 S f (_)1408 6564 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad1[]; /*)1 621 2 1458 6564 t (BYTE smb)1 578 1 830 6684 t 10 S f (_)1408 6684 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 621 2 1458 6684 t 10 S f (_)3292 6684 w 10 R f (dscnt\) */)1 355 1 3342 6684 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 65 65 %%Page: 66 66 save mark 66 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 66 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Response Format \(may respond with zero or more of these\):)9 2476 1 720 840 t (BYTE smb)1 578 1 830 1020 t 10 S f (_)1408 1020 w 10 R f ( value = \(10 + value of smb)7 1158(wct; /*)1 621 2 1458 1020 t 10 S f (_)3237 1020 w 10 R f (suwcnt\) */)1 427 1 3287 1020 t (WORD smb)1 622 1 786 1140 t 10 S f (_)1408 1140 w 10 R f ( total number of parameter bytes being returned */)8 2071(tprcnt; /*)1 621 2 1458 1140 t (WORD smb)1 622 1 786 1260 t 10 S f (_)1408 1260 w 10 R f ( total number of data bytes being returned */)8 1839(tdrcnt; /*)1 621 2 1458 1260 t (WORD smb)1 622 1 786 1380 t 10 S f (_)1408 1380 w 10 R f ( reserved */)2 481(rsvd; /*)1 621 2 1458 1380 t (WORD smb)1 622 1 786 1500 t 10 S f (_)1408 1500 w 10 R f ( number of parameter bytes being returned this buf */)9 2204(prcnt; /*)1 621 2 1458 1500 t (WORD smb)1 622 1 786 1620 t 10 S f (_)1408 1620 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(proff; /*)1 621 2 1458 1620 t (WORD smb)1 622 1 786 1740 t 10 S f (_)1408 1740 w 10 R f ( byte displacement for these parameter bytes */)7 1938(prdisp; /*)1 621 2 1458 1740 t (WORD smb)1 622 1 786 1860 t 10 S f (_)1408 1860 w 10 R f ( number of data bytes being returned this buffer */)9 2082(drcnt; /*)1 621 2 1458 1860 t (WORD smb)1 622 1 786 1980 t 10 S f (_)1408 1980 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(droff; /*)1 621 2 1458 1980 t (WORD smb)1 622 1 786 2100 t 10 S f (_)1408 2100 w 10 R f ( byte displacement for these data bytes */)7 1706(drdisp; /*)1 621 2 1458 2100 t (BYTE smb)1 578 1 830 2220 t 10 S f (_)1408 2220 w 10 R f ( set up return word count */)6 1152(suwcnt; /*)1 621 2 1458 2220 t (BYTE smb)1 578 1 830 2340 t 10 S f (_)1408 2340 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd1; /*)1 621 2 1458 2340 t (WORD smb)1 622 1 786 2460 t 10 S f (_)1408 2460 w 10 R f ( variable)1 354(setup[*]; /*)1 621 2 1458 2460 t 10 S1 f (#)2466 2460 w 10 R f (of set up return words \(* = smb)7 1313 1 2549 2460 t 10 S f (_)3862 2460 w 10 R f (suwcnt\) */)1 427 1 3912 2460 t (WORD smb)1 622 1 786 2580 t 10 S f (_)1408 2580 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 621 2 1458 2580 t (BYTE smb)1 578 1 830 2700 t 10 S f (_)1408 2700 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 621 2 1458 2700 t (BYTE smb)1 578 1 830 2820 t 10 S f (_)1408 2820 w 10 R f ( param bytes \(* = value of smb)7 1296(param[*]; /*)1 621 2 1458 2820 t 10 S f (_)3375 2820 w 10 R f (prcnt\) */)1 349 1 3425 2820 t (BYTE smb)1 578 1 830 2940 t 10 S f (_)1408 2940 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad1[]; /*)1 621 2 1458 2940 t (BYTE smb)1 578 1 830 3060 t 10 S f (_)1408 3060 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 621 2 1458 3060 t 10 S f (_)3292 3060 w 10 R f (drcnt\) */)1 349 1 3342 3060 t (Service:)720 3240 w ( known only by)3 655( transaction is)2 573( This)1 245(The Transaction protocol performs a symbolically named transaction.)7 2847 4 720 3396 t (a name \(no \256le handle used\).)5 1193 1 720 3516 t ( Where)1 335(The Transaction command's scope includes \(but is not limited to\) Named Pipes and Mail Slots.)14 3985 2 720 3756 t ( 2 writes to Mail Slots\), bit 1 of smb)9 1523(the resource is unidirectional \(such as class)6 1778 2 720 3876 t 10 S f (_)4021 3876 w 10 R f (\257ags on the request can)4 969 1 4071 3876 t (be set indicating that no response is needed.)7 1809 1 720 3996 t (The Transaction)1 662 1 720 4236 t 10 S1 f (")1418 4236 w 10 R f (set up information)2 755 1 1459 4236 t 10 S1 f (")2214 4236 w 10 R f ( de\256ne functions speci\256c to a particular resource)7 2021(and/or parameters)1 728 2 2291 4236 t ( are not de\256ned by the protocol, but by)8 1807( the functions supported)3 1062( Therefore)1 483(on a particular server.)3 968 4 720 4356 t ( protocol simply provides a means of delivering them and retriev-)10 2714( The)1 222(consumer/server implementations.)1 1384 3 720 4476 t (ing the results.)2 602 1 720 4596 t ( more than will \256t)4 761(The number of bytes needed in order to perform the TRANSACTION request may be)13 3559 2 720 4836 t (in a single buffer.)3 728 1 720 4956 t ( the number of parameter and data bytes expected to be)10 2335(At the time of the request, the consumer knows)8 1985 2 720 5196 t ( this information to the server via the primary request \(smb)10 2458(sent and passes)2 632 2 720 5316 t 10 S f (_)3810 5316 w 10 R f (tpscnt and smb)2 620 1 3860 5316 t 10 S f (_)4480 5316 w 10 R f (tdscnt\). This)1 510 1 4530 5316 t (may be reduced by lowering the total number of bytes expected \(smb)11 2918 1 720 5436 t 10 S f (_)3638 5436 w 10 R f ( smbtdscnt\) in each)3 819(tpscnt and/or)1 533 2 3688 5436 t (\(any\) secondary request.)2 993 1 720 5556 t (Thus when the amount of parameter bytes received \(total of each smb)11 2906 1 720 5796 t 10 S f (_)3626 5796 w 10 R f ( amount of)2 457(pscnt\) equals the total)3 907 2 3676 5796 t (parameter bytes expected \(smallest smb)4 1651 1 720 5916 t 10 S f (_)2371 5916 w 10 R f ( the parameter)2 598(tpscnt\) received, then the server has received all)7 2021 2 2421 5916 t (bytes.)720 6036 w ( bytes received \(total of each smb)6 1425(Likewise, when the amount of data)5 1468 2 720 6276 t 10 S f (_)3613 6276 w 10 R f (dscnt\) equals the total amount of)5 1377 1 3663 6276 t (data bytes expected \(smallest smb)4 1391 1 720 6396 t 10 S f (_)2111 6396 w 10 R f (tdscnt\) received, then the server has received all the data bytes.)10 2595 1 2161 6396 t ( However, the server)3 914(The parameter bytes should normally be sent \256rst followed by the data bytes.)12 3406 2 720 6636 t ( buffer by the offset \256elds \(smb)6 1361(knows where each begins and ends in each)7 1835 2 720 6756 t 10 S f (_)3916 6756 w 10 R f (psoff and smb)2 600 1 3966 6756 t 10 S f (_)4566 6756 w 10 R f (dsoff\) and)1 424 1 4616 6756 t (the length \256elds \(smb)3 894 1 720 6876 t 10 S f (_)1614 6876 w 10 R f (pscnt and smb)2 592 1 1664 6876 t 10 S f (_)2256 6876 w 10 R f ( each\) is)2 354( displacement of the bytes \(relative to start of)8 1888(dscnt\). The)1 492 3 2306 6876 t (also known \(smb)2 709 1 720 6996 t 10 S f (_)1429 6996 w 10 R f (psdisp and smb)2 643 1 1479 6996 t 10 S f (_)2122 6996 w 10 R f ( able to reasemble the parameter and data)7 1737( the server is)3 546(dsdisp\). Thus)1 585 3 2172 6996 t (bytes should the)2 666 1 720 7116 t 10 S1 f (")1419 7116 w 10 R f (packets)1460 7116 w 10 S1 f (")1759 7116 w 10 R f (\(buffers\) be received out of sequence.)5 1545 1 1833 7116 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 66 66 %%Page: 67 67 save mark 67 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 67 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( interim response is expected \(and)5 1441(If all parameter bytes and data bytes \256t into a single buffer, then no)13 2879 2 720 840 t (no secondary request is sent\).)4 1210 1 720 960 t ( amount of data bytes and parameter bytes which the server may)11 2789(The Consumer knows the maximum)4 1531 2 720 1200 t (return \(from smb)2 698 1 720 1320 t 10 S f (_)1418 1320 w 10 R f (mprcnt and smb)2 660 1 1468 1320 t 10 S f (_)2128 1320 w 10 R f ( it initializes its bytes expected variables)6 1663( Thus)1 266(mdrcnt of the request\).)3 933 3 2178 1320 t ( being returned via each)4 1030( Server then informs the consumer of the actual amounts)9 2413( The)1 230(to these values.)2 647 4 720 1440 t 10 S1 f (")720 1560 w 10 R f (packet)761 1560 w 10 S1 f (")1021 1560 w 10 R f (\(buffer\) of the response \(smb)4 1195 1 1095 1560 t 10 S f (_)2290 1560 w 10 R f (tprcnt and smb)2 610 1 2340 1560 t 10 S f (_)2950 1560 w 10 R f (tdrcnt\).)3000 1560 w ( the total number of bytes expected \(smb)7 1740(The server may reduce the expected bytes by lowering)8 2297 2 720 1800 t 10 S f (_)4757 1800 w 10 R f (tprcnt)4807 1800 w (and/or smb)1 455 1 720 1920 t 10 S f (_)1175 1920 w 10 R f (tdrcnt\) in each \(any\) response.)4 1242 1 1225 1920 t ( of each smb)3 543(Thus when the amount of parameter bytes received \(total)8 2366 2 720 2160 t 10 S f (_)3629 2160 w 10 R f (prcnt\) equals the total amount of)5 1361 1 3679 2160 t (parameter bytes expected \(smallest smb)4 1631 1 720 2280 t 10 S f (_)2351 2280 w 10 R f ( received all the parame-)4 1021(tprcnt\) received, then the consumer has)5 1618 2 2401 2280 t (ter bytes.)1 374 1 720 2400 t (Likewise, when the amount of data bytes received \(total of each smb)11 2898 1 720 2640 t 10 S f (_)3618 2640 w 10 R f ( of)1 123(drcnt\) equals the total amount)4 1249 2 3668 2640 t (data bytes expected \(smallest smb)4 1391 1 720 2760 t 10 S f (_)2111 2760 w 10 R f (tdrcnt\) received, then the consumer has received all the data bytes.)10 2734 1 2161 2760 t ( bytes. However, the consu-)4 1174(The parameter bytes should normally be returned \256rst followed by the data)11 3146 2 720 3000 t ( buffer by the offset \256elds \(smb)6 1361(mer knows where each begins and ends in each)8 2033 2 720 3120 t 10 S f (_)4114 3120 w 10 R f (proff and smb)2 594 1 4164 3120 t 10 S f (_)4758 3120 w 10 R f (droff\))4808 3120 w (and the length \256elds \(smb)4 1121 1 720 3240 t 10 S f (_)1841 3240 w 10 R f (prcnt and smb)2 610 1 1891 3240 t 10 S f (_)2501 3240 w 10 R f ( of the bytes \(relative to start of)7 1417( displacement)1 574(drcnt\). The)1 498 3 2551 3240 t (each\) is also known \(smb)4 1059 1 720 3360 t 10 S f (_)1779 3360 w 10 R f ( smb)1 202(prdisp and)1 430 2 1829 3360 t 10 S f (_)2461 3360 w 10 R f ( the consumer is able to reasemble the parame-)8 1953(drdisp\). Thus)1 576 2 2511 3360 t (ter and data bytes should the)5 1180 1 720 3480 t 10 S1 f (")1933 3480 w 10 R f (packets)1974 3480 w 10 S1 f (")2273 3480 w 10 R f (\(buffers\) be received out of sequence.)5 1545 1 2347 3480 t (Thus the \257ow is:)3 694 1 720 3720 t ( \(both parameters)2 740( consumer sends the \256rst \(primary\) request which identi\256es the total bytes)11 3175(1 The)1 405 3 720 3996 t ( as many of the parame-)5 1001(and data\) which are expected to be sent and contains the set up words and)14 3069 2 970 4116 t ( identi\256es the)2 581( request also)2 539( This)1 289(ter and data bytes bytes as will \256t in a negotiated size buffer.)12 2661 4 970 4236 t ( of bytes \(setup, parameters and data\) the server is to return on TRANSACTION)13 3325(maximum number)1 745 2 970 4356 t (completion. If all the bytes \256t in the single buffer, skip to step 4.)13 2675 1 970 4476 t ( server responds with a single interim response meaning)8 2329(2 The)1 405 2 720 4752 t 10 S1 f (")3490 4752 w 10 R f ( the bytes)2 407(ok, send the remainder of)4 1061 2 3531 4752 t 10 S1 f (")4999 4752 w 10 R f (or \(if error response\) terminate the transaction.)6 1912 1 970 4872 t ( iteration of this secon-)4 957( consumer then sends another buffer full of bytes to the server. On each)13 2958(3 The)1 405 3 720 5148 t (dary request, smb)2 727 1 970 5268 t 10 S f (_)1697 5268 w 10 R f (tpscnt and/or smb)2 731 1 1747 5268 t 10 S f (_)2478 5268 w 10 R f ( repeated until all bytes)4 968( step is)2 298( This)1 246(tdscnt could be reduced.)3 1000 4 2528 5268 t ( delivered to the server \(total of all smb)8 1703(have been)1 416 2 970 5388 t 10 S f (_)3089 5388 w 10 R f (pscnt equals smallest smb)3 1084 1 3139 5388 t 10 S f (_)4223 5388 w 10 R f (tpscnt and total of)3 767 1 4273 5388 t (all smb)1 300 1 970 5508 t 10 S f (_)1270 5508 w 10 R f (dscnt equals smallest smb)3 1060 1 1320 5508 t 10 S f (_)2380 5508 w 10 R f (tdscnt\).)2430 5508 w ( Server sets up and performs the TRANSACTION with the information provided.)11 3356(4 The)1 405 2 720 5784 t ( IOCTL, the server sends back \(up to\) the number of parameter and data)13 3076( completion of the)3 772(5 Upon)1 472 3 720 6060 t ( step is repeated until all)5 1014( This)1 244( in the negotiated buffer size\).)5 1237(bytes requested \(or as many as will \256t)7 1575 4 970 6180 t ( each iteration of this response, smb)6 1506( On)1 192(result bytes have been returned.)4 1310 3 970 6300 t 10 S f (_)3978 6300 w 10 R f (tprcnt and/or smb)2 729 1 4028 6300 t 10 S f (_)4757 6300 w 10 R f (tdrcnt)4807 6300 w ( repeated until all bytes have been delivered to the consumer \(total)11 2785( step is)2 304( This)1 249(could be reduced.)2 732 4 970 6420 t (of all smb)2 502 1 970 6540 t 10 S f (_)1472 6540 w 10 R f (prcnt equals smallest smb)3 1186 1 1522 6540 t 10 S f (_)2708 6540 w 10 R f (tprcnt and total of all smb)5 1290 1 2758 6540 t 10 S f (_)4048 6540 w 10 R f (drcnt equals smallest)2 942 1 4098 6540 t (smb)970 6660 w 10 S f (_)1137 6660 w 10 R f (tdrcnt\).)1187 6660 w (Thus the \257ow is:)3 694 1 970 7020 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 67 67 %%Page: 68 68 save mark 68 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 68 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( \256rst \(primary\) request which identi\256es the total bytes \(parameters and)10 3042( consumer sends the)3 873(1 The)1 405 3 720 840 t (data\) which are to be sent, contains the set up words and as many of the parameter and data bytes)19 4070 1 970 960 t ( also identi\256es the maximum number of bytes)7 1921( request)1 325( This)1 281(as will \256t in a negotiated size buffer.)7 1543 4 970 1080 t ( The parameter)2 619(\(setup, parameters and data\) the server is to return on TRANSACTION completion.)11 3451 2 970 1200 t ( all)1 135( If)1 133(bytes are immediately followed by the data bytes \(the length \256elds identify the break point\).)14 3802 3 970 1320 t (the bytes \256t in the single buffer, skip to step 4.)10 1935 1 970 1440 t ( server responds with a single interim response meaning)8 2329(2 The)1 405 2 720 1716 t 10 S1 f (")3490 1716 w 10 R f ( the bytes)2 407(ok, send the remainder of)4 1061 2 3531 1716 t 10 S1 f (")4999 1716 w 10 R f (or \(if error response\) terminate the transaction.)6 1912 1 970 1836 t ( consumer then sends another buffer full of bytes to the server. This step is repeated until all)17 3915(3 The)1 405 2 720 2112 t (bytes have been delivered to the server.)6 1624 1 970 2232 t ( Server sets up and performs the TRANSACTION with the information provided.)11 3356(4 The)1 405 2 720 2508 t ( TRANSACTION, the server sends back up to the the number of parame-)12 3085( completion of the)3 763(5 Upon)1 472 3 720 2784 t ( step is)2 316( This)1 255(ter and data bytes requested \(or as many as will \256t in the negotiated buffer size\).)15 3499 3 970 2904 t ( each iteration of this response,)5 1447( On)1 221(repeated until all bytes requested have been returned.)7 2402 3 970 3024 t (smb)970 3144 w 10 S f (_)1137 3144 w 10 R f (rprcnt and smb)2 623 1 1187 3144 t 10 S f (_)1810 3144 w 10 R f ( of matching bytes returned in the previous)7 1794(rdrcnt are reduced by the number)5 1386 2 1860 3144 t ( parameter count \(smb)3 925(response. The)1 596 2 970 3264 t 10 S f (_)2491 3264 w 10 R f (rprcnt\) is expected to go to zero \256rst because the parameters)10 2499 1 2541 3264 t ( data count \(smb)3 729( The)1 235(are sent before the data.)4 1037 3 970 3384 t 10 S f (_)2971 3384 w 10 R f ( to be counted down.)4 919(rdrcnt\) may then continue)3 1100 2 3021 3384 t (Fewer than the requested number of bytes may be returned.)9 2444 1 970 3504 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 68 68 %%Page: 69 69 save mark 69 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 69 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( the TRANSACTION protocol when the request parameters and data does NOT all \256t in a)15 3797(The \257ow for)2 523 2 720 840 t (single buffer is:)2 643 1 720 960 t (consumer)1080 1200 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1556 1200 t 10 R f (TRANSACTION request \(data\))2 1291 1 2239 1200 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261)1 841 2 3563 1200 t 10 R f (server)4437 1200 w (consumer)1080 1320 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261<)1 782(\261 <)1 61 2 1501 1320 t 10 R f (OK send remaining data)3 997 1 2377 1320 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261)1 903(\261 <)1 61 2 3407 1320 t 10 R f (server)4437 1320 w (consumer)1080 1440 w 10 S1 f (\261\261\261\261\261\261 >)1 386 1 1556 1440 t 10 R f (TRANSACTION secondary request 1 \(data\))4 1811 1 1979 1440 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261)1 581 2 3823 1440 t 10 R f (server)4437 1440 w (consumer)1080 1560 w 10 S1 f (\261\261\261\261\261\261 >)1 386 1 1556 1560 t 10 R f (TRANSACTION secondary request 2 \(data\))4 1811 1 1979 1560 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261)1 581 2 3823 1560 t 10 R f (server)4437 1560 w ( .)1 1787(. .)1 1813 2 1080 1680 t (consumer)1080 1800 w 10 S1 f (\261\261\261\261\261\261 >)1 386 1 1556 1800 t 10 R f (TRANSACTION secondary request n \(data\))4 1811 1 1979 1800 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261)1 581 2 3823 1800 t 10 R f (server)4437 1800 w ( .)1 1787(. .)1 1813 2 1080 1920 t ( .)1 756( sets up and performs the TRANSACTION\))6 1812(. \(server)1 1032 3 1080 2040 t ( .)1 1787(. .)1 1813 2 1080 2160 t (consumer)1080 2280 w 10 S1 f ( \261\261\261\261\261\261\261<)1 563(\261 <)1 61 2 1501 2280 t 10 R f (TRANSACTION response 1 \(data\))3 1435 1 2158 2280 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261)1 717(\261 <)1 61 2 3626 2280 t 10 R f (server)4437 2280 w (consumer)1080 2400 w 10 S1 f ( \261\261\261\261\261\261\261<)1 563(\261 <)1 61 2 1501 2400 t 10 R f (TRANSACTION response 2 \(data\))3 1435 1 2158 2400 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261)1 717(\261 <)1 61 2 3626 2400 t 10 R f (server)4437 2400 w ( .)1 1787(. .)1 1813 2 1080 2520 t (consumer)1080 2640 w 10 S1 f ( \261\261\261\261\261\261\261<)1 563(\261 <)1 61 2 1501 2640 t 10 R f (TRANSACTION response n \(data\))3 1435 1 2158 2640 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261)1 717(\261 <)1 61 2 3626 2640 t 10 R f (server)4437 2640 w ( does all \256t in a single buffer)7 1209(The \257ow for the Transaction protocol when the request parameters and data)11 3111 2 720 2880 t (is:)720 3000 w (consumer)1080 3240 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261 >)1 646 1 1556 3240 t 10 R f (TRANSACTION request \(data\))2 1291 1 2239 3240 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261)1 841 2 3563 3240 t 10 R f (server)4437 3240 w ( .)1 1787(. .)1 1813 2 1080 3360 t ( .)1 756( sets up and performs the TRANSACTION\))6 1812(. \(server)1 1032 3 1080 3480 t ( .)1 1787(. .)1 1813 2 1080 3600 t (consumer)1080 3720 w 10 S1 f ( \261\261\261\261\261\261\261<)1 563(\261 <)1 61 2 1501 3720 t 10 R f (TRANSACTION response 1 \(data\))3 1435 1 2158 3720 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261)1 717(\261 <)1 61 2 3626 3720 t 10 R f (server)4437 3720 w ( .)1 1124( one if all data \256t in buffer\))7 1140(. \(only)1 1336 3 1080 3840 t (consumer)1080 3960 w 10 S1 f ( \261\261\261\261\261\261\261<)1 563(\261 <)1 61 2 1501 3960 t 10 R f (TRANSACTION response 2 \(data\))3 1435 1 2158 3960 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261)1 717(\261 <)1 61 2 3626 3960 t 10 R f (server)4437 3960 w ( .)1 1787(. .)1 1813 2 1080 4080 t (consumer)1080 4200 w 10 S1 f ( \261\261\261\261\261\261\261<)1 563(\261 <)1 61 2 1501 4200 t 10 R f (TRANSACTION response n \(data\))3 1435 1 2158 4200 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261)1 717(\261 <)1 61 2 3626 4200 t 10 R f (server)4437 4200 w ( make up the complete protocol, thus the TID,)8 1970(Note that the primary request through the \256nal response)8 2350 2 720 4596 t ( consumer to)2 532(PID, UID and MID are expected to remain constant and can be used by both the server and)17 3788 2 720 4716 t (route the individual messages of the protocol to the correct process.)10 2778 1 720 4836 t (Transaction may generate the following errors:)5 1916 1 720 5112 t (Error Class ERRDOS:)2 916 1 1080 5292 t (ERRnoaccess)1146 5532 w (ERRbadaccess)1146 5652 w (Error Class ERRSRV:)2 911 1 1080 5892 t (ERRerror)1146 6132 w (ERRinvnid)1146 6252 w (ERRaccess)1146 6372 w (ERRmoredata)1146 6492 w 10 S1 f (<)1146 6612 w 10 R f (implementation speci\256c)1 966 1 1202 6612 t 10 S1 f (>)2168 6612 w 10 R f (Error Class ERRHRD:)2 927 1 1080 6852 t 10 S1 f (<)1146 7092 w 10 R f (implementation speci\256c)1 966 1 1202 7092 t 10 S1 f (>)2168 7092 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 69 69 %%Page: 70 70 save mark 70 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 70 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( Transaction Protocols)2 982(9.2.17.1. De\256ned)1 744 2 720 840 t 10 R f ( of the usages here)4 802( Each)1 272( Transaction protocol.)2 909(This section speci\256es some of the de\256ned usages of the)9 2337 4 720 996 t ( is NOT meant to be an exhaustive list.)8 1621( This)1 244(utilize the basic \(and \257exible\) transaction protocol format.)7 2380 3 720 1116 t ( Transaction performs a single send of the Transaction request and)10 2905(Note that the simplest form of a)6 1415 2 720 1356 t ( the entire Transaction message \256ts within the size lim-)9 2296( if)1 97( Thus)1 269(\(optionally\) gets back a single response.)5 1658 4 720 1476 t ( a Datagram \(de\256ned by NetBios to be 512 bytes max\) and reliable delivery of the information is)17 4073(its for)1 247 2 720 1596 t (not required, the Transaction protocol may be sent/received as a datagram.)10 3056 1 720 1716 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 70 70 %%Page: 71 71 save mark 71 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 71 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( Slot Transaction protocol)3 1138(9.2.17.1.1. Mail)1 691 2 720 840 t 10 R f (The identi\256er)1 551 1 720 1116 t 10 S1 f ("\\)1306 1116 w 10 R f (MAILSLOT)1375 1116 w 10 S1 f (\\<)1880 1116 w 10 R f (name)1964 1116 w 10 S1 f (>")2180 1116 w 10 R f (denotes a mail slot transaction, where the)6 1710 1 2312 1116 t 10 S1 f (<)4057 1116 w 10 R f (name)4113 1116 w 10 S1 f (>)4329 1116 w 10 R f (is the mail slot)3 620 1 4420 1116 t (name to apply the transaction against.)5 1549 1 720 1236 t (Mail slots using unreliable)3 1088 1 720 1476 t 10 S1 f (")1841 1476 w 10 R f (class 2)1 277 1 1882 1476 t 10 S1 f (")2159 1476 w 10 R f ( slots using)2 469( Mail)1 222( However,)1 456(mode may be transmitted via datagrams.)5 1660 4 2233 1476 t (reliable)720 1596 w 10 S1 f (")1052 1596 w 10 R f (class 1)1 277 1 1093 1596 t 10 S1 f (")1370 1596 w 10 R f (mode must be transmitted on an established VC \(reliable delivery is needed\).)11 3167 1 1444 1596 t (When)720 1836 w 10 S1 f (")994 1836 w 10 R f (class 1)1 280 1 1035 1836 t 10 S1 f (")1315 1836 w 10 R f ( a VC, a response may still be desired to ensure)10 2014(mail slot transaction are transmitted via)5 1634 2 1392 1836 t ( the response bit may be)5 1018( Thus)1 268( mail slot without error.)4 987(that the mail slot transaction was delivered to the)8 2047 4 720 1956 t (zero in smb)2 482 1 720 2076 t 10 S f (_)1202 2076 w 10 R f (\257ags to indicate that the error code associated with the delivery should be returned.)13 3420 1 1252 2076 t (Primary Request Format:)2 1027 1 720 2352 t (BYTE smb)1 578 1 869 2568 t 10 S f (_)1447 2568 w 10 R f ( value = 17 */)4 582(wct; /*)1 562 2 1497 2568 t (WORD smb)1 622 1 825 2688 t 10 S f (_)1447 2688 w 10 R f ( value = 0 total number of param bytes being sent */)11 2172(tpscnt; /*)1 562 2 1497 2688 t (WORD smb)1 622 1 825 2808 t 10 S f (_)1447 2808 w 10 R f ( total size of data to write to mail slot \(if any\) */)12 2011(tdscnt; /*)1 562 2 1497 2808 t (WORD smb)1 622 1 825 2928 t 10 S f (_)1447 2928 w 10 R f ( value = 2 one word return code expected */)9 1826(mprcnt; /*)1 562 2 1497 2928 t (WORD smb)1 622 1 825 3048 t 10 S f (_)1447 3048 w 10 R f ( value = 0 size of data read from mail slot \(N/A\) */)12 2126(mdrcnt; /*)1 562 2 1497 3048 t (BYTE smb)1 578 1 869 3168 t 10 S f (_)1447 3168 w 10 R f ( value = 0 max number of setup words to return \(N/A\)*/)11 2332(msrcnt; /*)1 562 2 1497 3168 t (BYTE smb)1 578 1 869 3288 t 10 S f (_)1447 3288 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd; /*)1 562 2 1497 3288 t (WORD smb)1 622 1 825 3408 t 10 S f (_)1447 3408 w 10 R f ( additional information:)2 966(\257ags; /*)1 562 2 1497 3408 t (bit 0 - if set, also disconnect TID in smb)9 1682 1 1981 3528 t 10 S f (_)3663 3528 w 10 R f (tid)3713 3528 w (bit 1 - if set, no response is required */)9 1609 1 1981 3648 t (DWORD smb)1 694 1 753 3768 t 10 S f (_)1447 3768 w 10 R f ( \(user de\256ned\) number of milliseconds to wait */)8 2012(timeout; /*)1 562 2 1497 3768 t (WORD smb)1 622 1 825 3888 t 10 S f (_)1447 3888 w 10 R f ( reserved */)2 481(rsvd1; /*)1 562 2 1497 3888 t (WORD smb)1 622 1 825 4008 t 10 S f (_)1447 4008 w 10 R f ( value = 0 no param bytes being sent this buffer */)11 2094(pscnt; /*)1 562 2 1497 4008 t (WORD smb)1 622 1 825 4128 t 10 S f (_)1447 4128 w 10 R f ( value = 0 no parameter bytes */)7 1340(psoff; /*)1 562 2 1497 4128 t (WORD smb)1 622 1 825 4248 t 10 S f (_)1447 4248 w 10 R f ( number of data bytes being sent this buffer */)9 1911(dscnt; /*)1 562 2 1497 4248 t (WORD smb)1 622 1 825 4368 t 10 S f (_)1447 4368 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(dsoff; /*)1 562 2 1497 4368 t (BYTE smb)1 578 1 869 4488 t 10 S f (_)1447 4488 w 10 R f ( value = 3 */)4 532(suwcnt; /*)1 562 2 1497 4488 t (BYTE smb)1 578 1 869 4608 t 10 S f (_)1447 4608 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd2; /*)1 562 2 1497 4608 t (WORD smb)1 622 1 825 4728 t 10 S f (_)1447 4728 w 10 R f ( \(op code\) value = 1 - Write Mail slot */)10 1678(setup1; /*)1 562 2 1497 4728 t (WORD smb)1 622 1 825 4848 t 10 S f (_)1447 4848 w 10 R f ( \(priority\) priority of transaction */)5 1430(setup2; /*)1 562 2 1497 4848 t (WORD smb)1 622 1 825 4968 t 10 S f (_)1447 4968 w 10 R f ( \(class\) 1 = reliable, 2 = unreliable */)8 1537(setup3; /*)1 562 2 1497 4968 t (WORD smb)1 622 1 825 5088 t 10 S f (_)1447 5088 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 562 2 1497 5088 t (BYTE smb)1 578 1 869 5208 t 10 S f (_)1447 5208 w 10 R f (name[]; /*)1 562 1 1497 5208 t 10 S1 f ("\\)2092 5208 w 10 R f (MAILSLOT)2161 5208 w 10 S1 f (\\<)2666 5208 w 10 R f (name)2750 5208 w 10 S1 f (>)2966 5208 w 10 R f (0)3022 5208 w 10 S1 f (")3072 5208 w 10 R f (*/)3179 5208 w (BYTE smb)1 578 1 869 5328 t 10 S f (_)1447 5328 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 562 2 1497 5328 t (BYTE smb)1 578 1 869 5448 t 10 S f (_)1447 5448 w 10 R f ( data to be written to Mail Slot \(if any\))9 1618(data[*]; /*)1 562 2 1497 5448 t (\(* = value of smb)4 737 1 2080 5568 t 10 S f (_)2817 5568 w 10 R f (dscnt\) */)1 355 1 2867 5568 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 71 71 %%Page: 72 72 save mark 72 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 72 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Response Format \(may respond with zero or more of these\):)9 2476 1 720 840 t (BYTE smb)1 578 1 830 1020 t 10 S f (_)1408 1020 w 10 R f ( value = 10 */)4 582(wct; /*)1 549 2 1458 1020 t (WORD smb)1 622 1 786 1140 t 10 S f (_)1408 1140 w 10 R f ( value = 2 one word return code */)8 1439(tprcnt; /*)1 549 2 1458 1140 t (WORD smb)1 622 1 786 1260 t 10 S f (_)1408 1260 w 10 R f ( */)1 144( value = 0 no data bytes)6 997(tdrcnt; /*)1 549 3 1458 1260 t (WORD smb)1 622 1 786 1380 t 10 S f (_)1408 1380 w 10 R f ( reserved */)2 481(rsvd; /*)1 549 2 1458 1380 t (WORD smb)1 622 1 786 1500 t 10 S f (_)1408 1500 w 10 R f ( value = 2 parameter bytes being returned this buf */)10 2171(prcnt; /*)1 549 2 1458 1500 t (WORD smb)1 622 1 786 1620 t 10 S f (_)1408 1620 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(proff; /*)1 549 2 1458 1620 t (WORD smb)1 622 1 786 1740 t 10 S f (_)1408 1740 w 10 R f ( value = 0 byte displacement for these param bytes */)10 2210(prdisp; /*)1 549 2 1458 1740 t (WORD smb)1 622 1 786 1860 t 10 S f (_)1408 1860 w 10 R f ( value = 0 no data bytes */)7 1108(drcnt; /*)1 549 2 1458 1860 t (WORD smb)1 622 1 786 1980 t 10 S f (_)1408 1980 w 10 R f ( value = 0 no data bytes */)7 1108(droff; /*)1 549 2 1458 1980 t (WORD smb)1 622 1 786 2100 t 10 S f (_)1408 2100 w 10 R f ( value = 0 no data bytes */)7 1108(drdisp; /*)1 549 2 1458 2100 t (BYTE smb)1 578 1 830 2220 t 10 S f (_)1408 2220 w 10 R f ( value = 0 no set up return words */)9 1490(suwcnt; /*)1 549 2 1458 2220 t (BYTE smb)1 578 1 830 2340 t 10 S f (_)1408 2340 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd1; /*)1 549 2 1458 2340 t (WORD smb)1 622 1 786 2460 t 10 S f (_)1408 2460 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 549 2 1458 2460 t (BYTE smb)1 578 1 830 2580 t 10 S f (_)1408 2580 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 549 2 1458 2580 t (WORD smb)1 622 1 786 2700 t 10 S f (_)1408 2700 w 10 R f ( mail slot delivery return code \(ZERO = OK\) */)9 1978(retcode; /*)1 549 2 1458 2700 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 72 72 %%Page: 73 73 save mark 73 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 73 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( \(and request Announce\) Mail Slot Transaction protocol)7 2448(9.2.17.1.2. Announce)1 925 2 720 840 t 10 R f ( Mail Slot Transaction protocol \(announcement form\))6 2201(The LANMAN 1.0 server nodes send the following)7 2119 2 720 1116 t ( to an installation determined group name\) periodically to inform)9 2771(as a datagram \(SEND DATAGRAM)4 1549 2 720 1236 t (consumer nodes that the server exists and is ready to accept VC connection requests.)13 3486 1 720 1356 t (The LANMAN 1.0 consumer nodes send the following Mail Slot Transaction protocol \(announce request)13 4320 1 720 1596 t ( datagram \(SEND DATAGRAM to an installation determined group name\) to request that)12 3870(form\) as a)2 450 2 720 1716 t (server nodes available identify themselves via the announcement Transaction datagram.)9 3581 1 720 1836 t (Note that the Mail Slot transaction name)6 1765 1 720 2076 t 10 S1 f ("\\)2534 2076 w 10 R f (MAILSLOT)2603 2076 w 10 S1 f (\\)3108 2076 w 10 R f (LANMAN)3136 2076 w 10 S1 f (")3574 2076 w 10 R f ( the LAN)2 427(is reserved for use by)4 949 2 3664 2076 t (Manager.)720 2196 w (The default group name used by LANMAN 1.0 is)8 2058 1 720 2436 t 10 S1 f (")2811 2436 w 10 R f (LANGROUP)2852 2436 w 10 S1 f (")3396 2436 w 10 R f (.)3437 2436 w ( there is no)3 468(Also note that)2 577 2 720 2676 t 10 S1 f (")1799 2676 w 10 R f (security)1840 2676 w 10 S1 f (")2156 2676 w 10 R f ( smb)1 201( The)1 222(involved with these protocols.)3 1232 3 2231 2676 t 10 S f (_)3886 2676 w 10 R f (tid and smb)2 485 1 3936 2676 t 10 S f (_)4421 2676 w 10 R f (uid \256elds will)2 569 1 4471 2676 t ( node may apply its own)5 1055( Each)1 272(be set to -1 and will be ignored by the node receiving this transaction.)13 2993 3 720 2796 t (security mechanisms to determine whether to reply to \(or send\) these protocols.)11 3266 1 720 2916 t (Announce Mail Slot Transaction format:)4 1658 1 720 3192 t (BYTE smb)1 578 1 869 3372 t 10 S f (_)1447 3372 w 10 R f ( value = 17 */)4 582(wct; /*)1 562 2 1497 3372 t (WORD smb)1 622 1 825 3492 t 10 S f (_)1447 3492 w 10 R f ( value = 0 no param bytes being sent */)9 1640(tpscnt; /*)1 562 2 1497 3492 t (WORD smb)1 622 1 825 3612 t 10 S f (_)1447 3612 w 10 R f ( size of announce or req)5 995(tdscnt; /*)1 562 2 1497 3612 t 10 S f (_)3054 3612 w 10 R f (announce */)1 493 1 3104 3612 t (WORD smb)1 622 1 825 3732 t 10 S f (_)1447 3732 w 10 R f ( value = 0 no param bytes to return \(N/A\)*/)9 1811(mprcnt; /*)1 562 2 1497 3732 t (WORD smb)1 622 1 825 3852 t 10 S f (_)1447 3852 w 10 R f ( value = 0 no data to read from mail slot \(N/A\)*/)11 2033(mdrcnt; /*)1 562 2 1497 3852 t (BYTE smb)1 578 1 869 3972 t 10 S f (_)1447 3972 w 10 R f ( value = 0 no setup words to return \(N/A\)*/)9 1806(msrcnt; /*)1 562 2 1497 3972 t (BYTE smb)1 578 1 869 4092 t 10 S f (_)1447 4092 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd1; /*)1 562 2 1497 4092 t (WORD smb)1 622 1 825 4212 t 10 S f (_)1447 4212 w 10 R f ( additional information:)2 966(\257ags; /*)1 562 2 1497 4212 t (bit 0 - 0 N/A)4 543 1 1981 4332 t (bit 1 - set, no response is required \(value = 1\) */)11 2002 1 1981 4452 t (DWORD smb)1 694 1 753 4572 t 10 S f (_)1447 4572 w 10 R f ( \(user de\256ned\) number of milliseconds to wait */)8 2012(timeout; /*)1 562 2 1497 4572 t (WORD smb)1 622 1 825 4692 t 10 S f (_)1447 4692 w 10 R f ( reserved */)2 481(rsvd; /*)1 562 2 1497 4692 t (WORD smb)1 622 1 825 4812 t 10 S f (_)1447 4812 w 10 R f ( value = 0 no parameter bytes being sent this buf */)11 2133(pscnt; /*)1 562 2 1497 4812 t (WORD smb)1 622 1 825 4932 t 10 S f (_)1447 4932 w 10 R f ( value = 0 no parameter bytes */)7 1340(psoff; /*)1 562 2 1497 4932 t (WORD smb)1 622 1 825 5052 t 10 S f (_)1447 5052 w 10 R f ( size of announce or req)5 995(dscnt; /*)1 562 2 1497 5052 t 10 S f (_)3054 5052 w 10 R f (announce */)1 493 1 3104 5052 t (WORD smb)1 622 1 825 5172 t 10 S f (_)1447 5172 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(dsoff; /*)1 562 2 1497 5172 t (BYTE smb)1 578 1 869 5292 t 10 S f (_)1447 5292 w 10 R f ( value = 3 */)4 532(suwcnt; /*)1 562 2 1497 5292 t (BYTE smb)1 578 1 869 5412 t 10 S f (_)1447 5412 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd2; /*)1 562 2 1497 5412 t (WORD smb)1 622 1 825 5532 t 10 S f (_)1447 5532 w 10 R f ( \(op code\) value = 1 - Write Mail slot */)10 1678(setup1; /*)1 562 2 1497 5532 t (WORD smb)1 622 1 825 5652 t 10 S f (_)1447 5652 w 10 R f ( \(priority\) priority of transaction */)5 1430(setup2; /*)1 562 2 1497 5652 t (WORD smb)1 622 1 825 5772 t 10 S f (_)1447 5772 w 10 R f ( \(class\) 2 = unreliable */)5 1008(setup3; /*)1 562 2 1497 5772 t (WORD smb)1 622 1 825 5892 t 10 S f (_)1447 5892 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 562 2 1497 5892 t (BYTE smb)1 578 1 869 6012 t 10 S f (_)1447 6012 w 10 R f (name[]; /*)1 562 1 1497 6012 t 10 S1 f ("\\)2092 6012 w 10 R f (MAILSLOT)2161 6012 w 10 S1 f (\\)2666 6012 w 10 R f (LANMAN)2694 6012 w 10 S1 f (")3132 6012 w 10 R f (\(null terminated string\) */)3 1054 1 3206 6012 t (BYTE smb)1 578 1 869 6132 t 10 S f (_)1447 6132 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 562 2 1497 6132 t (BYTE smb)1 578 1 869 6252 t 10 S f (_)1447 6252 w 10 R f ( \(announce or req)3 724(data[*]; /*)1 562 2 1497 6252 t 10 S f (_)2783 6252 w 10 R f (announce structure\))1 797 1 2833 6252 t (\(* = value of smb)4 737 1 2080 6372 t 10 S f (_)2817 6372 w 10 R f (dscnt\) */)1 355 1 2867 6372 t (Announcement Structure Format:)2 1359 1 720 6708 t (WORD op)1 555 1 825 6888 t 10 S f (_)1380 6888 w 10 R f ( value = 1 \(announce\) */)5 1013(code; /*)1 632 2 1430 6888 t ( may both be set)4 687( /*)1 433(DWORD services;)1 876 3 753 7008 t (bit 0 - work station)4 793 1 1984 7128 t (bit 1 - server */)4 642 1 1984 7248 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 73 73 %%Page: 74 74 save mark 74 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 74 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (BYTE vers)1 577 1 869 840 t 10 S f (_)1446 840 w 10 R f ( major version number of node software */)7 1761(major; /*)1 566 2 1496 840 t (BYTE vers)1 577 1 869 960 t 10 S f (_)1446 960 w 10 R f ( minor version number of node software */)7 1767(minor; /*)1 566 2 1496 960 t ( announcement cycle in seconds */)5 1429( /*)1 321(WORD periodicity;)1 916 3 825 1080 t (BYTE node)1 605 1 869 1200 t 10 S f (_)1474 1200 w 10 R f ( computer name of this node */)6 1291(name[]; /*)1 538 2 1524 1200 t ( descriptive remark */)3 897( /*)1 316(BYTE comment[];)1 877 3 869 1320 t (Request Announce Structure Format:)3 1514 1 720 1656 t (WORD op)1 555 1 786 1836 t 10 S f (_)1341 1836 w 10 R f ( value = 2 \(request announce\) */)6 1334(code; /*)1 632 2 1391 1836 t (BYTE node)1 605 1 830 1956 t 10 S f (_)1435 1956 w 10 R f ( computer name of this node */)6 1291(name[]; /*)1 538 2 1485 1956 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 74 74 %%Page: 75 75 save mark 75 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 75 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( pipe Transaction protocol)3 1155(9.2.17.1.3. Named)1 796 2 720 840 t 10 R f ( on an esta-)3 517(Named pipes require reliable delivery, thus this Transaction protocol is sent/received only)11 3803 2 720 1116 t (blished VC.)1 486 1 720 1236 t ( transaction is used to wait for the speci\256ed named pipe to become available)13 3666(A named pipe)2 654 2 720 1476 t (\(WaitNmPipe\) or perform a logical)4 1484 1 720 1596 t 10 S1 f (")2248 1596 w 10 R f (open -)1 271 1 2289 1596 t 10 S1 f (>)2560 1596 w 10 R f (write -)1 282 1 2660 1596 t 10 S1 f (>)2942 1596 w 10 R f (read -)1 248 1 3042 1596 t 10 S1 f (>)3290 1596 w 10 R f (close)3390 1596 w 10 S1 f (")3595 1596 w 10 R f ( along)1 265(of the pipe \(CallNmPipe\),)3 1095 2 3680 1596 t (with other functions de\256ned below.)4 1450 1 720 1716 t ( also be used to access Named pipes)7 1619(Other Standard protocols \(Open, Read, Write, Close, etc.\) may)8 2701 2 720 1956 t (when pipe is being accessed like a)6 1417 1 720 2076 t 10 S1 f (")2170 2076 w 10 R f (standard)2211 2076 w 10 S1 f (")2549 2076 w 10 R f (\256le \(a \256le handle is being used\).)6 1327 1 2623 2076 t (The identi\256er)1 551 1 720 2316 t 10 S1 f ("\\)1306 2316 w 10 R f (PIPE)1375 2316 w 10 S1 f (\\<)1581 2316 w 10 R f (name)1665 2316 w 10 S1 f (>")1881 2316 w 10 R f ( transaction, where the)3 936(denotes a named pipe)3 892 2 2013 2316 t 10 S1 f (<)3877 2316 w 10 R f (name)3933 2316 w 10 S1 f (>)4149 2316 w 10 R f (is the pipe name to)4 799 1 4241 2316 t (apply the transaction against.)3 1189 1 720 2436 t (Note that the named pipe transaction name)6 1756 1 720 2676 t 10 S1 f ("\\)2509 2676 w 10 R f (PIPE)2578 2676 w 10 S1 f (\\)2784 2676 w 10 R f (LANMAN)2812 2676 w 10 S1 f (")3250 2676 w 10 R f (is reserved for use by the LAN Manager.)7 1690 1 3324 2676 t (BYTE smb)1 578 1 869 3012 t 10 S f (_)1447 3012 w 10 R f ( value = 16 */)4 582(wct; /*)1 621 2 1497 3012 t (WORD smb)1 622 1 825 3132 t 10 S f (_)1447 3132 w 10 R f ( total number of parameter bytes being sent */)8 1900(tpscnt; /*)1 621 2 1497 3132 t (WORD smb)1 622 1 825 3252 t 10 S f (_)1447 3252 w 10 R f ( size of data to be written to pipe \(if any\) */)11 1821(tdscnt; /*)1 621 2 1497 3252 t (WORD smb)1 622 1 825 3372 t 10 S f (_)1447 3372 w 10 R f ( max number of parameter bytes to return */)8 1827(mprcnt; /*)1 621 2 1497 3372 t (WORD smb)1 622 1 825 3492 t 10 S f (_)1447 3492 w 10 R f ( size of data to be read from pipe \(if any\) */)11 1825(mdrcnt; /*)1 621 2 1497 3492 t (BYTE smb)1 578 1 869 3612 t 10 S f (_)1447 3612 w 10 R f ( value = 0 max number of setup words to return */)11 2094(msrcnt; /*)1 621 2 1497 3612 t (BYTE smb)1 578 1 869 3732 t 10 S f (_)1447 3732 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd; /*)1 621 2 1497 3732 t (WORD smb)1 622 1 825 3852 t 10 S f (_)1447 3852 w 10 R f ( additional information:)2 966(\257ags; /*)1 621 2 1497 3852 t (bit 0 - if set, also disconnect TID in smb)9 1682 1 2040 3972 t 10 S f (_)3722 3972 w 10 R f (tid)3772 3972 w (bit 1 - not set, response is required */)8 1543 1 2040 4092 t (DWORD smb)1 694 1 753 4212 t 10 S f (_)1447 4212 w 10 R f ( \(user de\256ned\) number of milliseconds to wait */)8 2012(timeout; /*)1 621 2 1497 4212 t (WORD smb)1 622 1 825 4332 t 10 S f (_)1447 4332 w 10 R f ( reserved */)2 481(rsvd1; /*)1 621 2 1497 4332 t (WORD smb)1 622 1 825 4452 t 10 S f (_)1447 4452 w 10 R f ( number of parameter bytes being sent this buffer */)9 2143(pscnt; /*)1 621 2 1497 4452 t (WORD smb)1 622 1 825 4572 t 10 S f (_)1447 4572 w 10 R f ( offset \(from start of SMB hdr\) to parameter bytes */)10 2182(psoff; /*)1 621 2 1497 4572 t (WORD smb)1 622 1 825 4692 t 10 S f (_)1447 4692 w 10 R f ( number of data bytes being sent this buffer */)9 1911(dscnt; /*)1 621 2 1497 4692 t (WORD smb)1 622 1 825 4812 t 10 S f (_)1447 4812 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(dsoff; /*)1 621 2 1497 4812 t (BYTE smb)1 578 1 869 4932 t 10 S f (_)1447 4932 w 10 R f ( value = 2 */)4 532(suwcnt; /*)1 621 2 1497 4932 t (BYTE smb)1 578 1 869 5052 t 10 S f (_)1447 5052 w 10 R f ( reserved \(pad above to word\) */)6 1344(rsvd2; /*)1 621 2 1497 5052 t (WORD smb)1 622 1 825 5172 t 10 S f (_)1447 5172 w 10 R f ( function \(de\256ned below\))3 1036(setup1; /*)1 621 2 1497 5172 t (0x54 - CallNmPipe - open/write/read/close pipe)5 1957 1 2073 5292 t (0x53 - WaitNmPipe - wait for pipe to be nonbusy)9 2056 1 2073 5412 t (0x23 - PeekNmPipe - read but don't remove data)8 2027 1 2073 5532 t (0x21 - QNmPHandState - query pipe handle modes)7 2117 1 2073 5652 t (0x01 - SetNmPHandState - set pipe handle modes)7 2057 1 2073 5772 t (0x22 - QNmPipeInfo - query pipe attributes)6 1801 1 2073 5892 t (0x26 - TransactNmPipe - write/read operation on pipe)7 2221 1 2073 6012 t (0x11 - RawReadNmPipe - read pipe in)6 1601 1 2073 6132 t 10 S1 f (")3707 6132 w 10 R f (raw)3748 6132 w 10 S1 f (")3897 6132 w 10 R f (\(non message mode\))2 842 1 3971 6132 t (0x31 - RawWriteNmPipe - write pipe)5 1546 1 2073 6252 t 10 S1 f (")3652 6252 w 10 R f (raw)3693 6252 w 10 S1 f (")3842 6252 w 10 R f (\(non message mode\) */)3 953 1 3916 6252 t (WORD smb)1 622 1 825 6372 t 10 S f (_)1447 6372 w 10 R f ( FID \(handle\) of pipe \(if needed\), or priority */)9 1940(setup2; /*)1 621 2 1497 6372 t (WORD smb)1 622 1 825 6492 t 10 S f (_)1447 6492 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 621 2 1497 6492 t (BYTE smb)1 578 1 869 6612 t 10 S f (_)1447 6612 w 10 R f (name[]; /*)1 621 1 1497 6612 t 10 S1 f ("\\)2151 6612 w 10 R f (PIPE)2220 6612 w 10 S1 f (\\<)2426 6612 w 10 R f (name)2510 6612 w 10 S1 f (>)2726 6612 w 10 R f (0)2782 6612 w 10 S1 f (")2832 6612 w 10 R f (*/)2939 6612 w (BYTE smb)1 578 1 869 6732 t 10 S f (_)1447 6732 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 621 2 1497 6732 t (BYTE smb)1 578 1 869 6852 t 10 S f (_)1447 6852 w 10 R f ( param bytes \(* = value of smb)7 1296(param[*]; /*)1 621 2 1497 6852 t 10 S f (_)3414 6852 w 10 R f (prcnt\) */)1 349 1 3464 6852 t (BYTE smb)1 578 1 869 6972 t 10 S f (_)1447 6972 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad1[]; /*)1 621 2 1497 6972 t (BYTE smb)1 578 1 869 7092 t 10 S f (_)1447 7092 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 621 2 1497 7092 t 10 S f (_)3331 7092 w 10 R f (drcnt\) */)1 349 1 3381 7092 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 75 75 %%Page: 76 76 save mark 76 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 76 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. CallNmPipe)1 1013 1 720 840 t 10 R f (This protocol is used to implement DosCallNmPipe remotely.)7 2534 1 720 1116 t ( named pipe of Open, Transact NmPipe, Close. It provides)9 2440(This transaction has the combined effect on a)7 1880 2 720 1356 t (a very ef\256cient means of implementing Remote Procedure Call \(RPC\) interfaces between processes.)12 4102 1 720 1476 t ( be written to the pipe)5 944(This form of the transaction protocol sends no parameter bytes, thus the bytes to)13 3376 2 720 1716 t ( data bytes \(smb)3 730(are sent as)2 469 2 720 1836 t 10 S f (_)1919 1836 w 10 R f (databytes\) and the bytes read from the pipe are returned as data bytes)12 3071 1 1969 1836 t (\(smb)720 1956 w 10 S f (_)920 1956 w 10 R f (databytes\).)970 1956 w ( written is de\256ned by smb)5 1121(The number of bytes being)4 1140 2 720 2196 t 10 S f (_)2981 2196 w 10 R f (dscnt and the max number of bytes to return is)9 2009 1 3031 2196 t (de\256ned by smb)2 627 1 720 2316 t 10 S f (_)1347 2316 w 10 R f (drcnt.)1397 2316 w (On the response smb)3 886 1 720 2556 t 10 S f (_)1606 2556 w 10 R f (rprcnt is 0 \(no param bytes to return\), smb)8 1825 1 1656 2556 t 10 S f (_)3481 2556 w 10 R f ( of data-)2 368(rdrcnt indicates the amount)3 1141 2 3531 2556 t (bytes being returned in total and smb)6 1530 1 720 2676 t 10 S f (_)2250 2676 w 10 R f (bcc identi\256es the amount of data being retuned in each buffer.)10 2555 1 2300 2676 t ( the full form of the Transaction protocol can be used to write and read up to 65,535 bytes)18 3933(Note that)1 387 2 720 2916 t (each utilizing the secondary requests and responses.)6 2124 1 720 3036 t (CallNmPipe uses priority in smb)4 1344 1 720 3276 t 10 S f (_)2064 3276 w 10 R f ( priority values range from 0 \(use server default\) to 0x3FF)10 2419(setup2. The)1 507 2 2114 3276 t ( priority passed in smb)4 971( The)1 228(\(highest priority\).)1 720 3 720 3396 t 10 S f (_)2639 3396 w 10 R f ( will be the value as)5 866(setup2 from a LANMAN consumer)4 1485 2 2689 3396 t ( determining which)2 817( server may use the priority in)6 1312( The)1 232(returned from a DosGetPrty OS/2 system call.)6 1959 4 720 3516 t (process to run next when a pipe becomes available.)8 2112 1 720 3636 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 76 76 %%Page: 77 77 save mark 77 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 77 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. WaitNmPipe)1 1046 1 720 840 t 10 R f ( is used)2 318( It)1 128( protocol waits for the availability of a named pipe instance.)10 2489(This form of the pipe Transaction)5 1385 4 720 1116 t (to implement the DosWaitNmPipe call on a remote pipe.)8 2337 1 720 1236 t ( a pipe when all available instances are currently busy.)9 2268(DosWaitNmPipe allows an application to wait for)6 2052 2 720 1476 t ( returned from a Open \(pipe\) protocol)6 1693(This protocol may be used when the error ERRpipebusy is)9 2627 2 720 1596 t (attempt.)720 1716 w (The server will wait up to smb)6 1293 1 720 1956 t 10 S f (_)2013 1956 w 10 R f ( for a pipe of the name given to become available.)10 2128(timeout milliseconds)1 849 2 2063 1956 t ( milliseconds \(in order to match the OS/2 system calls\), by)10 2446(Note that although the timeout is speci\256ed in)7 1874 2 720 2076 t ( time than)2 424(the time that the timeout occurs and the consumer receives the timed out protocol much more)15 3896 2 720 2196 t (speci\256ed may have occurred.)3 1187 1 720 2316 t ( response also contains no)4 1103( The)1 228( protocol sends no data or parameter bytes.)7 1818(This form of the transaction)4 1171 4 720 2556 t ( smb)1 200( If)1 132(data or parameters.)2 777 3 720 2676 t 10 S f (_)1829 2676 w 10 R f (err is 0, the requested named pipe may now be available.)10 2347 1 1879 2676 t ( all waiting programs may race to get the pipe)9 1977(Note that this protocol does NOT reserve the pipe, thus)9 2343 2 720 2916 t ( loosers will again get ERRpipebusy on the Open attempt.)9 2393( The)1 221(now available.)1 590 3 720 3036 t ( in smb)2 351(WaitNmPipe uses priority)2 1098 2 720 3276 t 10 S f (_)2169 3276 w 10 R f ( priority values range from 0 \(use server default\) to)9 2294(setup2. The)1 527 2 2219 3276 t ( priority passed in smb)4 991( The)1 233(0x3FF \(highest priority\).)2 1034 3 720 3396 t 10 S f (_)2978 3396 w 10 R f (setup2 from a LANMAN consumer will be the)7 2012 1 3028 3396 t ( server may use the priority in determining)7 1797( The)1 226( returned from a DosGetPrty OS/2 system call.)7 1961(value as)1 336 4 720 3516 t (which process to notify when a pipe becomes available.)8 2290 1 720 3636 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 77 77 %%Page: 78 78 save mark 78 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 78 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. PeekNmPipe)1 1040 1 720 840 t 10 R f (This form of the pipe Transaction protocol is used to implement DosPeekNmPipe remotely.)12 3768 1 720 1116 t ( pipe without removing the read data from the pipe.)9 2130(Purpose: Read)1 621 2 720 1356 t (PeekNmPipe acts like Read except as follows:)6 1901 1 720 1596 t ( bytes read are not removed from the pipe.)8 1757(0 The)1 405 2 720 1872 t ( peek may return only part of a message \(that part currently in the pipe\), even if the size of the)20 3915(0 The)1 405 2 720 2148 t (peek would accommodate the whole message.)5 1886 1 970 2268 t ( never blocks, regardless of the blocking mode.)7 1944(0 PeekNmPipe)1 772 2 720 2544 t ( caller)1 266( The)1 233( returned.)1 402( information about the status of the pipe and remaining data are)11 2741(0 Additional)1 678 5 720 2820 t ( message or)2 507(can use this, for example, to determine whether the peek returned all of the current)14 3563 2 970 2940 t ( no bytes left in the pipe and Status is)9 1614(whether the pipe is at EOF \(pipe is at EOF when there are)12 2456 2 970 3060 t (Closing or Disconnected\).)2 1062 1 970 3180 t ( smb)1 212(The request form of this protocol should set)7 1884 2 970 3420 t 10 S f (_)3066 3420 w 10 R f ( pipe handle being)3 795( The)1 233(pscnt to 0.)2 454 3 3116 3420 t 10 S1 f (")4643 3420 w 10 R f (peek'ed)4684 3420 w 10 S1 f (")4999 3420 w 10 R f ( set in smb)3 464(should be)1 398 2 970 3540 t 10 S f (_)1832 3540 w 10 R f (setup2. smb)1 522 1 1882 3540 t 10 S f (_)2404 3540 w 10 R f ( smb)1 236(dscnt should be set to 0 \(not writing data to pipe\).)10 2095 2 2454 3540 t 10 S f (_)4785 3540 w 10 R f (prcnt)4835 3540 w ( 3 words of information about the pipe\) and smb)9 2024(should be set to 6 \(requesting the)6 1375 2 970 3660 t 10 S f (_)4369 3660 w 10 R f (drcnt set to the)3 621 1 4419 3660 t (number of bytes to)3 776 1 970 3780 t 10 S1 f (")1779 3780 w 10 R f (peek)1820 3780 w 10 S1 f (")2008 3780 w 10 R f (.)2049 3780 w ( return the 3 parameters \(smb)5 1232(The response will)2 732 2 970 4020 t 10 S f (_)2934 4020 w 10 R f (rprcnt = 6\), smb)3 680 1 2984 4020 t 10 S f (_)3664 4020 w 10 R f (rdrcnt will be set to the number)6 1326 1 3714 4020 t (of bytes)1 332 1 970 4140 t 10 S1 f (")1340 4140 w 10 R f (peek'ed)1381 4140 w 10 S1 f (")1696 4140 w 10 R f (and smb)1 349 1 1775 4140 t 10 S f (_)2124 4140 w 10 R f (bcc will be set to 6 \(the 3 param words\) + the amount of data bytes)15 2866 1 2174 4140 t ( responses would have smb)4 1257( Subsequent)1 560(being returned in the \256rst buffer.)5 1503 3 970 4260 t 10 S f (_)4290 4260 w 10 R f (rprcnt set to 0,)3 700 1 4340 4260 t (smb)970 4380 w 10 S f (_)1137 4380 w 10 R f ( bytes remaining and smb)4 1063(rdrcnt set to the data)4 855 2 1187 4380 t 10 S f (_)3105 4380 w 10 R f (bcc indicating the number of data bytes being)7 1885 1 3155 4380 t (returned in each buffer.)3 959 1 970 4500 t (The following de\256nes the format of the parameter words.)8 2351 1 970 4740 t ( remaining in the pipe)4 909(WORD bytes)1 648 2 1462 5040 t ( remaining in current message)4 1235(WORD bytes)1 648 2 1462 5280 t ( status)1 261(WORD pipe)1 609 2 1462 5520 t (1 - Disconnected \(disconnected by server\))5 1721 1 1792 5640 t (2 - Listening \(N/A not returned on consumer end of pipe\))10 2376 1 1792 5760 t (3 - Connected \(connection to server OK\))6 1677 1 1792 5880 t (4 - Closing \(server end of pipe closed\))7 1589 1 1792 6000 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 78 78 %%Page: 79 79 save mark 79 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 79 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. QNmPHandState)1 1241 1 720 840 t 10 R f (This form of the pipe Transaction protocol is used to implement DosQNmPHandState remotely.)12 3940 1 720 1116 t ( pipe-speci\256c state information.)3 1289(Purpose: Return)1 688 2 720 1356 t (The request form of this protocol should set smb)8 2039 1 720 1596 t 10 S f (_)2759 1596 w 10 R f ( should be)2 437(pscnt to 0 \(no parameters\) The pipe handle)7 1794 2 2809 1596 t (in smb)1 284 1 720 1716 t 10 S f (_)1004 1716 w 10 R f (setup2. smb)1 525 1 1054 1716 t 10 S f (_)1579 1716 w 10 R f ( smb)1 239(dscnt should be set to 0 \(not writing data to pipe\).)10 2125 2 1629 1716 t 10 S f (_)3993 1716 w 10 R f ( set to 2)3 353(prcnt should be)2 644 2 4043 1716 t (\(requesting the 1 word of information about the pipe\) and smb)10 2571 1 720 1836 t 10 S f (_)3291 1836 w 10 R f (drcnt set to 0 \(not reading the pipe\).)7 1487 1 3341 1836 t (The response will return the 1 parameter \(smb)7 1899 1 720 2076 t 10 S f (_)2619 2076 w 10 R f (rprcnt = 1\) of pipe state information.)6 1510 1 2669 2076 t (Pipe Handle State Bits)3 927 1 720 2556 t (5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0)15 2300 1 1182 2676 t ( R)1 150( R)1 153( T)1 150( T)1 156( *)1 150( *)1 144(B E)1 214 7 1174 2796 t 10 S f (\372)2382 2796 w 10 R f ( -)1 75( -)1 153( t)1 64( u n)2 150( o)1 78( c)1 80( I)1 150(- - -)2 183 8 2466 2796 t 10 S f (\372)3432 2796 w 10 R f (where:)720 2916 w (B - Blocking - 0 =)5 771 1 918 3036 t 10 S1 f (>)1689 3036 w 10 R f (reads/writes block if no data available)5 1556 1 1778 3036 t (1 =)1 139 1 1545 3156 t 10 S1 f (>)1684 3156 w 10 R f (reads/writes return immediately if no data)5 1712 1 1773 3156 t (E - Endpoint - 0 =)5 765 1 918 3276 t 10 S1 f (>)1683 3276 w 10 R f (consumer end of pipe)3 886 1 1772 3276 t (1 =)1 139 1 1545 3396 t 10 S1 f (>)1684 3396 w 10 R f (server end of pipe)3 741 1 1773 3396 t (TT - Type of pipe - 00 =)7 1035 1 918 3516 t 10 S1 f (>)1953 3516 w 10 R f (pipe is a byte stream pipe)5 1058 1 2042 3516 t (01 =)1 189 1 1710 3636 t 10 S1 f (>)1899 3636 w 10 R f (pipe is a message pipe)4 925 1 1988 3636 t (RR - Read Mode - 00 =)6 992 1 918 3756 t 10 S1 f (>)1910 3756 w 10 R f (Read pipe as a byte stream)5 1107 1 1999 3756 t (01 =)1 189 1 1611 3876 t 10 S1 f (>)1800 3876 w 10 R f (Read messages from pipe)3 1047 1 1889 3876 t (Icount - 8-bit count to control pipe instancing \(N/A\))8 2145 1 918 3996 t (The E \(endpoint\) bit is 0 because this handle is the client end of a pipe.)15 2955 1 720 4356 t (The values returned are those originally established by Open or a subsequent SetNmPHandState.)12 3965 1 720 4596 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 79 79 %%Page: 80 80 save mark 80 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 80 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. SetNmPHandState)1 1296 1 720 840 t 10 R f (This form of the pipe Transaction protocol is used to implement DosSetNmPHandState remotely.)12 3996 1 720 1116 t ( pipe-speci\256c handle states.)3 1122(Purpose: Set)1 544 2 720 1356 t ( protocol should set smb)4 1042(The request form of this)4 1025 2 720 1596 t 10 S f (_)2787 1596 w 10 R f (pscnt to 2 \(one word parameter, the pipe state to be)10 2203 1 2837 1596 t ( be in smb)3 438( pipe handle should)3 807(set\). The)1 391 3 720 1716 t 10 S f (_)2356 1716 w 10 R f (setup2. smb)1 519 1 2406 1716 t 10 S f (_)2925 1716 w 10 R f (dscnt should be set to 0 \(not writing data to pipe\).)10 2065 1 2975 1716 t (smb)720 1836 w 10 S f (_)887 1836 w 10 R f (prcnt should be set to 0 and smb)7 1347 1 937 1836 t 10 S f (_)2284 1836 w 10 R f (drcnt set to 0 \(not reading the pipe\).)7 1487 1 2334 1836 t ( smb)1 209( If)1 141(The response contains no data or parameters.)6 1900 3 720 2076 t 10 S f (_)2970 2076 w 10 R f ( requested state has been set on the)7 1520(err is 0, the)3 500 2 3020 2076 t (pipe.)720 2196 w (Pipe Handle State Bits)3 927 1 720 2676 t (5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0)15 2300 1 1182 2796 t ( 0 0 0 0 0 0 0)7 1050( 0)1 141( R)1 150( R)1 159( * * * *)4 600(B *)1 208 6 1174 2916 t (where:)720 3036 w (B - Blocking - 0 =)5 771 1 918 3156 t 10 S1 f (>)1689 3156 w 10 R f (reads/writes block if no data available)5 1556 1 1778 3156 t (1 =)1 139 1 1545 3276 t 10 S1 f (>)1684 3276 w 10 R f (reads/writes return immediately if no data)5 1712 1 1773 3276 t (RR - Read Mode - 00 =)6 992 1 918 3396 t 10 S1 f (>)1910 3396 w 10 R f (Read pipe as a byte stream)5 1107 1 1999 3396 t (01 =)1 189 1 1611 3516 t 10 S1 f (>)1800 3516 w 10 R f (Read messages from pipe)3 1047 1 1889 3516 t ( the read mode \(byte vrs message\) and blocking/nonblocking mode of a named pipe can)14 3720(Note that only)2 600 2 720 3876 t ( combinations of parameters may be illegal and will be rejected as an error.)13 3108( Some)1 294(be changed.)1 484 3 720 3996 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 80 80 %%Page: 81 81 save mark 81 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 81 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. QNmPipeInfo)1 1091 1 720 840 t 10 R f (This form of the pipe Transaction protocol is used to implement DosQNmPipeInfo remotely.)12 3812 1 720 1116 t ( information about a pipe)4 1042(Purpose: Returns)1 727 2 720 1356 t ( smb)1 201(The request form of this protocol should set)7 1807 2 720 1596 t 10 S f (_)2728 1596 w 10 R f (pscnt to 2 \(one word parameter, the information level\).)8 2262 1 2778 1596 t (The pipe handle should be in smb)6 1427 1 720 1716 t 10 S f (_)2147 1716 w 10 R f (setup2. smb)1 524 1 2197 1716 t 10 S f (_)2721 1716 w 10 R f ( user in)2 318(drcnt should be set to the size speci\256ed by the)9 1951 2 2771 1716 t ( smb)1 233(which to receive the pipe information.)5 1565 2 720 1836 t 10 S f (_)2518 1836 w 10 R f (dscnt should be set to 0 and smb)7 1353 1 2568 1836 t 10 S f (_)3921 1836 w 10 R f (prcnt set to 0.)3 568 1 3971 1836 t ( The)1 227( the response, up to the number of bytes speci\256ed.)9 2126(Pipe information is returned in the data area of)8 1967 3 720 2076 t (information is returned in the following format:)6 1952 1 720 2196 t (LEVEL 1:)1 427 1 1080 2496 t ( size of buffer for outgoing \(server\) I/O)7 1626(WORD actual)1 675 2 1212 2736 t ( size of buffer for incoming \(consumer\) I/O)7 1793(WORD actual)1 675 2 1212 2976 t ( allowed number of instances)4 1202(BYTE Maximum)1 810 2 1212 3216 t ( number of instances)3 853(BYTE Current)1 698 2 1212 3456 t ( of pipe name \(including the null\))6 1391(BYTE Length)1 676 2 1212 3696 t ( of pipe \(NOT including)4 1003(ASCIZ Name)1 659 2 1212 3936 t 10 S1 f (\\\\)2907 3936 w 10 R f (NodeName -)1 520 1 2963 3936 t 10 S1 f (\\\\)3516 3936 w 10 R f (NodeName)3572 3936 w (is prepended to this string by the consumer before passing)9 2394 1 1509 4056 t (back to the user\))3 686 1 1509 4176 t (LEVEL 2:)1 427 1 1080 4416 t (\(TBD\))1212 4656 w ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 81 81 %%Page: 82 82 save mark 82 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 82 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. TransactNmPipe)1 1218 1 720 840 t 10 R f (This form of the pipe Transaction protocol is used to implement DosTransactNmPipe remotely.)12 3917 1 720 1116 t ( a read and write operation on a named pipe.)9 1845(Purpose: Combine)1 783 2 720 1356 t (TransactNmPipe performs a write followed by a read on a message pipe.)11 2992 1 720 1596 t ( will fail if the)4 628( TransactNmPipe)1 743(It provides an optimum way to implement transaction-oriented dialogs.)8 2949 3 720 1836 t ( the call will write)4 787( Otherwise)1 483(pipe currently contains any unread data or is not in message read mode.)12 3050 3 720 1956 t ( and return it in the data)6 1026(the entire request data bytes to the pipe and then read a response from the pipe)15 3294 2 720 2076 t ( request, smb)2 550( the transaction)2 632( In)1 152(bytes area of the response protocol.)5 1468 4 720 2196 t 10 S f (_)3522 2196 w 10 R f (setup2 should contain the pipe han-)5 1468 1 3572 2196 t (dle.)720 2316 w ( this protocol \(TransactNmPipe does not return until a)8 2231(The state of blocking/nonblocking has no effect on)7 2089 2 720 2556 t ( smb)1 210( If)1 143(message has been read into the response protocol\).)7 2156 3 720 2676 t 10 S f (_)3229 2676 w 10 R f (drcnt is too small to contain the response)7 1761 1 3279 2676 t (message, ERRmoredata will be returned.)4 1668 1 720 2796 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 82 82 %%Page: 83 83 save mark 83 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 83 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. RawReadNmPipe)1 1251 1 720 840 t 10 R f (This form of the pipe Transaction protocol is used to implement DosRawReadNmPipe remotely.)12 3962 1 720 1116 t ( a named pipe without removing record information.)7 2153(Purpose: Read)1 621 2 720 1356 t ( is a message or byte pipe.)6 1159(RawReadNmPipe reads bytes directly from a pipe, regardless of whether it)10 3161 2 720 1596 t ( reading the pipe in)4 831( a message pipe, this is exactly like)7 1516( For)1 213(For a byte pipe, this is exactly like Read.)8 1760 4 720 1716 t ( buffer \(note that message headers)5 1445(byte read mode, except message headers will also be returned in the)11 2875 2 720 1836 t (will always be returned in toto--never split at a byte boundary\).)10 2606 1 720 1956 t (The request form of this protocol should set smb)8 2047 1 720 2196 t 10 S f (_)2767 2196 w 10 R f ( pipe handle being)3 774( The)1 226(pscnt to 0.)2 440 3 2817 2196 t 10 S1 f (")4295 2196 w 10 R f (read raw)1 358 1 4336 2196 t 10 S1 f (")4694 2196 w 10 R f (should)4773 2196 w (be set in smb)3 555 1 720 2316 t 10 S f (_)1275 2316 w 10 R f (setup2. smb)1 521 1 1325 2316 t 10 S f (_)1846 2316 w 10 R f ( smb)1 234( writing data to pipe\).)4 899(dscnt should be set to 0 \(not)6 1182 3 1896 2316 t 10 S f (_)4211 2316 w 10 R f (prcnt should be set)3 779 1 4261 2316 t ( smb)1 200( and)1 210(to 0)1 161 3 720 2436 t 10 S f (_)1291 2436 w 10 R f (drcnt set to the number of bytes to)7 1424 1 1341 2436 t 10 S1 f (")2798 2436 w 10 R f (read raw)1 353 1 2839 2436 t 10 S1 f (")3192 2436 w 10 R f (.)3233 2436 w (The response will return 0 parameters \(smb)6 1819 1 720 2676 t 10 S f (_)2539 2676 w 10 R f (rprcnt = 0\), smb)3 686 1 2589 2676 t 10 S f (_)3275 2676 w 10 R f ( to the number of bytes)5 999(rdrcnt will be set)3 716 2 3325 2676 t 10 S1 f (")720 2796 w 10 R f (read raw)1 357 1 761 2796 t 10 S1 f (")1118 2796 w 10 R f (and smb)1 348 1 1196 2796 t 10 S f (_)1544 2796 w 10 R f ( Sub-)1 258( in the \256rst buffer.)4 768(bcc will be set to the amount of data bytes being returned)11 2420 3 1594 2796 t ( have smb)2 459(sequent responses would)2 1045 2 720 2916 t 10 S f (_)2224 2916 w 10 R f (rprcnt set to 0, smb)4 877 1 2274 2916 t 10 S f (_)3151 2916 w 10 R f (rdrcnt set to the data bytes remaining and)7 1839 1 3201 2916 t (smb)720 3036 w 10 S f (_)887 3036 w 10 R f (bcc indicating the number of data bytes being returned in each buffer.)11 2870 1 937 3036 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 83 83 %%Page: 84 84 save mark 84 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 84 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f (9.2.17.1.3. RawWriteNmPipe)1 1278 1 720 840 t 10 R f (This form of the pipe Transaction protocol is used to implement DosRawWriteNmPipe remotely.)12 3984 1 720 1116 t ( a named pipe without adding record information.)7 2042(Purpose: Write)1 643 2 720 1356 t ( pipe.)1 244(RawWriteNmPipe puts bytes directly into a pipe, regardless of whether it is a message or byte)15 4076 2 720 1596 t ( call ignores the)3 833( This)1 302( a message pipe.)3 852(The data will include message headers if it is)8 2333 4 720 1716 t (blocking/nonblocking state and always acts in a blocking manner. It returns only after all bytes have)15 4320 1 720 1836 t (been written.)1 529 1 720 1956 t (The request form of this protocol should set smb)8 2143 1 720 2196 t 10 S f (_)2863 2196 w 10 R f ( pipe handle being)3 810( The)1 238(pscnt to 0.)2 464 3 2913 2196 t 10 S1 f (")4475 2196 w 10 R f (written raw)1 483 1 4516 2196 t 10 S1 f (")4999 2196 w 10 R f (should be set in smb)4 893 1 720 2316 t 10 S f (_)1613 2316 w 10 R f (setup2. smb)1 530 1 1663 2316 t 10 S f (_)2193 2316 w 10 R f ( to the total amount)4 850(dscnt should be set)3 815 2 2243 2316 t 10 S1 f (")3951 2316 w 10 R f (writing raw)1 481 1 3992 2316 t 10 S1 f (")4473 2316 w 10 R f (to the pipe.)2 483 1 4557 2316 t (smb)720 2436 w 10 S f (_)887 2436 w 10 R f (prcnt should be set to 2 and smb)7 1347 1 937 2436 t 10 S f (_)2284 2436 w 10 R f (drcnt set 0.)2 457 1 2334 2436 t ( parameter word. If smb)4 1029(The response contains no data and one)6 1637 2 720 2676 t 10 S f (_)3386 2676 w 10 R f (err is 0, the one parameter word indi-)7 1604 1 3436 2676 t (cates the number of the requested bytes that have been)9 2247 1 720 2796 t 10 S1 f (")3000 2796 w 10 R f (written raw)1 465 1 3041 2796 t 10 S1 f (")3506 2796 w 10 R f (to the speci\256ed pipe.)3 851 1 3580 2796 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 84 84 %%Page: 85 85 save mark 85 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 85 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( CONNECT and X)3 833(9.2.18. TREE)1 614 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 853 1176 t 10 S f (_)1431 1176 w 10 R f ( value = 4 */)4 532(wct; /*)1 705 2 1481 1176 t ( smb)1 317(+ BYTE)1 350 2 764 1296 t 10 S f (_)1431 1296 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 705 2 1481 1296 t ( smb)1 317(+ BYTE)1 350 2 764 1416 t 10 S f (_)1431 1416 w 10 R f ( reserved \(must be zero\) */)5 1106(reh2; /*)1 705 2 1481 1416 t ( smb)1 317(+ WORD)1 394 2 720 1536 t 10 S f (_)1431 1536 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 705 2 1481 1536 t 10 S1 f (@)3942 1536 w 10 R f (smb)4034 1536 w 10 S f (_)4201 1536 w 10 R f (wct\) */)1 288 1 4251 1536 t ( smb)1 317(+ WORD)1 394 2 720 1656 t 10 S f (_)1431 1656 w 10 R f ( additional information:)2 966(\257ags; /*)1 705 2 1481 1656 t (bit 0 - if set, disconnect TID in current smb)9 1803 1 2108 1776 t 10 S f (_)3911 1776 w 10 R f (tid */)1 217 1 3961 1776 t ( smb)1 317(+ WORD)1 394 2 720 1896 t 10 S f (_)1431 1896 w 10 R f ( length of smb)3 599(spasslen; /*)1 705 2 1481 1896 t 10 S f (_)2785 1896 w 10 R f (spasswd */)1 444 1 2835 1896 t (WORD smb)1 622 1 809 2016 t 10 S f (_)1431 2016 w 10 R f ( minimum value = 3 */)5 955(bcc; /*)1 705 2 1481 2016 t (BYTE smb)1 578 1 853 2136 t 10 S f (_)1431 2136 w 10 R f ( net-name password \(* = smb)5 1219(spasswd[*]; /*)1 705 2 1481 2136 t 10 S f (_)3405 2136 w 10 R f (spasslen value\) */)2 726 1 3455 2136 t (BYTE smb)1 578 1 853 2256 t 10 S f (_)1431 2256 w 10 R f ( server name and net-name */)5 1217(path[]; /*)1 705 2 1481 2256 t (BYTE smb)1 578 1 853 2376 t 10 S f (_)1431 2376 w 10 R f ( service name string */)4 936(dev[]; /*)1 705 2 1481 2376 t (+ Additional parameters \(compared with core TREE CONNECT protocol\))8 3048 1 720 2556 t (Response Format:)1 733 1 720 2796 t (BYTE smb)1 578 1 853 2976 t 10 S f (_)1431 2976 w 10 R f ( value = 2 */)4 532(wct; /*)1 604 2 1481 2976 t ( smb)1 317(+ BYTE)1 350 2 764 3096 t 10 S f (_)1431 3096 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 604 2 1481 3096 t ( smb)1 317(+ BYTE)1 350 2 764 3216 t 10 S f (_)1431 3216 w 10 R f ( reserved \(pad to word\) */)5 1073(res2; /*)1 604 2 1481 3216 t ( smb)1 317(+ WORD)1 394 2 720 3336 t 10 S f (_)1431 3336 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 604 2 1481 3336 t 10 S1 f (@)3841 3336 w 10 R f (smb)3933 3336 w 10 S f (_)4100 3336 w 10 R f (wct\) */)1 288 1 4150 3336 t (WORD smb)1 622 1 809 3456 t 10 S f (_)1431 3456 w 10 R f ( min value = 3 */)5 721(bcc; /*)1 604 2 1481 3456 t ( smb)1 317(+ BYTE)1 350 2 764 3576 t 10 S f (_)1431 3576 w 10 R f ( service type connected to \(string\) */)6 1506(service[]; /*)1 604 2 1481 3576 t (+ Additional parameters \(compared with core TREE CONNECT protocol\))8 3048 1 720 3756 t (Service Enhancement:)1 903 1 720 3912 t ( the length speci\256ed by)4 1051(Because the password may be encrypted, it is a variable length \256eld with)12 3269 2 720 4068 t (smb)720 4188 w 10 S f (_)887 4188 w 10 R f ( smb)1 221(spasslen \(if password encryption is not being used,)7 2241 2 937 4188 t 10 S f (_)3399 4188 w 10 R f (spasswd should be a null terminated)5 1591 1 3449 4188 t (ASCII string with smb)3 933 1 720 4308 t 10 S f (_)1653 4308 w 10 R f (spasslen set to the string size including the null\).)8 2005 1 1703 4308 t (The service name in the request \(smb)6 1539 1 720 4584 t 10 S f (_)2259 4584 w 10 R f (dev\) may now include:)3 942 1 2309 4584 t ( - for \256le service)4 691(o A:)1 216 2 1146 4884 t ( - for a spooled output \(DOS standard LPT or COM\) service)11 2498(o LPT1:)1 372 2 1146 5124 t ( - for direct access communication device service or)8 2141(o COMM)1 433 2 1146 5364 t (direct access printer device service)4 1421 1 1476 5484 t ( - for inter-process communication services \(named pipes, etc.\))8 2580(o IPC)1 272 2 1146 5724 t ( -)1 66(o ?????)1 336 2 1146 5964 t 10 S1 f (")1581 5964 w 10 R f (Wild card)1 404 1 1622 5964 t 10 S1 f (")2026 5964 w 10 R f (indicating that the consumer does not yet know)7 1946 1 2100 5964 t (the type of service shared with the given netname and would)10 2503 1 1245 6084 t (like the service type returned in the smb)7 1656 1 1245 6204 t 10 S f (_)2901 6204 w 10 R f (service string of the response.)4 1221 1 2951 6204 t (The smb)1 355 1 720 6540 t 10 S f (_)1075 6540 w 10 R f (service string returned should be one of the above service names.)10 2682 1 1125 6540 t ( including the optional second protocol must \256t in the negotiated)10 2753(The entire message sent and received)5 1567 2 720 6900 t (max transfer size.)2 722 1 720 7020 t (If the tree disconnect fails, the error should be ignored.)9 2264 1 720 7260 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 85 85 %%Page: 86 86 save mark 86 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 86 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( are the only valid protocol requests commands for smb)9 2339(The following)1 581 2 720 840 t 10 S f (_)3640 840 w 10 R f (com2 \(X\) for TREE CONNECT)4 1350 1 3690 840 t (and X:)1 277 1 720 960 t (OPEN FILE)1 505 1 1080 1140 t (OPEN and X)2 543 1 1080 1260 t (CREATE FILE)1 633 1 1080 1380 t (MAKE NEW FILE)2 798 1 1080 1500 t (CREATE DIRECTORY)1 994 1 1080 1620 t (DELETE FILE)1 621 1 1080 1740 t (DELETE DIRECTORY)1 982 1 1080 1860 t (FILE SEARCH)1 639 1 1080 1980 t (FIND)1080 2100 w (FIND UNIQUE)1 648 1 1080 2220 t (COPY FILE)1 511 1 1080 2340 t (RENAME FILE)1 666 1 1080 2460 t (MOVE FILE)1 538 1 1080 2580 t (CHECK PATH)1 633 1 1080 2700 t (GET FILE ATTRIBUTES)2 1082 1 1080 2820 t (SET FILE ATTRIBUTES)2 1066 1 1080 2940 t (GET SERVER ATTRIBUTES)2 1255 1 1080 3060 t (QUERY SERVER INFO)2 1027 1 1080 3180 t (CREATE PRINT FILE)2 955 1 1080 3300 t (GET PRINT QUEUE)2 887 1 1080 3420 t (TRANSACTION)1080 3540 w (Tree Connect and X may generate the following errors.)8 2272 1 720 3756 t (Error Class ERRDOS)2 888 1 1080 3936 t 10 S1 f (<)1146 4176 w 10 R f (implementation speci\256c)1 966 1 1202 4176 t 10 S1 f (>)2168 4176 w 10 R f (Error Class ERRSRV)2 883 1 1080 4416 t (ERRerror)1146 4656 w (ERRbadpw)1146 4776 w (ERRinvnetname)1146 4896 w 10 S1 f (<)1146 5016 w 10 R f (implementation speci\256c)1 966 1 1202 5016 t 10 S1 f (>)2168 5016 w 10 R f (Error Class ERRHRD)2 899 1 1080 5256 t 10 S1 f (<)1146 5496 w 10 R f (implementation speci\256c)1 966 1 1202 5496 t 10 S1 f (>)2168 5496 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 86 86 %%Page: 87 87 save mark 87 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 87 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( and CLOSE)2 568(9.2.19. WRITE)1 686 2 720 840 t 10 R f (Request Format \(same length as core WRITE or extended WRITEandX\):)9 3002 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 6 OR 12\) */)6 870(wct; /*)1 512 2 1497 1176 t (WORD smb)1 622 1 825 1296 t 10 S f (_)1447 1296 w 10 R f ( \256le handle \(close after write\) */)6 1328(\256d; /*)1 512 2 1497 1296 t (WORD smb)1 622 1 825 1416 t 10 S f (_)1447 1416 w 10 R f ( number of bytes to write */)6 1158(count; /*)1 512 2 1497 1416 t (DWORD smb)1 694 1 753 1536 t 10 S f (_)1447 1536 w 10 R f ( offset in \256le to begin write */)7 1247(offset; /*)1 512 2 1497 1536 t (DWORD smb)1 694 1 753 1656 t 10 S f (_)1447 1656 w 10 R f ( modi\256cation time */)3 861(mtime; /*)1 512 2 1497 1656 t (DWORD smb)1 694 1 753 1776 t 10 S f (_)1447 1776 w 10 R f ( Optional */)2 494(rsvd1; /*)1 512 2 1497 1776 t (DWORD smb)1 694 1 753 1896 t 10 S f (_)1447 1896 w 10 R f ( Optional */)2 494(rsvd1; /*)1 512 2 1497 1896 t (DWORD smb)1 694 1 753 2016 t 10 S f (_)1447 2016 w 10 R f ( Optional */)2 494(rsvd1; /*)1 512 2 1497 2016 t (WORD smb)1 622 1 825 2136 t 10 S f (_)1447 2136 w 10 R f ( 1 \(for pad\) + value of smb)7 1129(bcc; /*)1 512 2 1497 2136 t 10 S f (_)3138 2136 w 10 R f (count */)1 333 1 3188 2136 t (BYTE smb)1 578 1 869 2256 t 10 S f (_)1447 2256 w 10 R f ( force data to dword boundary */)6 1356(pad; /*)1 512 2 1497 2256 t (BYTE smb)1 578 1 869 2376 t 10 S f (_)1447 2376 w 10 R f ( data */)2 310(data[]; /*)1 512 2 1497 2376 t (Response Format \(same as core WRITE\):)5 1706 1 720 2712 t (BYTE smb)1 578 1 830 2892 t 10 S f (_)1408 2892 w 10 R f ( value = 1 */)4 532(wct; /*)1 478 2 1458 2892 t (WORD smb)1 622 1 786 3012 t 10 S f (_)1408 3012 w 10 R f ( number of bytes written */)5 1125(count; /*)1 478 2 1458 3012 t (WORD smb)1 622 1 786 3132 t 10 S f (_)1408 3132 w 10 R f ( value = 0 */)4 532(bcc; /*)1 478 2 1458 3132 t (Service:)720 3432 w (The Write and Close request is used to \256rst write the speci\256ed bytes and then close the \256le.)17 3776 1 720 3588 t ( \(and read ahead data\) is commonly kept in a buffer also containing space for)14 3221(Buffered write behind data)3 1099 2 720 3828 t ( to be \257ushed when the \256le is)7 1246( protocol allows the \256nal write behind data)7 1796( This)1 248(the Write SMB protocol.)3 1030 4 720 3948 t (closed with a single protocol.)4 1206 1 720 4068 t (NOTE - the smb)3 687 1 720 4308 t 10 S f (_)1407 4308 w 10 R f (wct \256eld MUST be used in order to correctly locate the data to be written.)14 3065 1 1457 4308 t (This protocol may be the same length \(smb)7 1813 1 720 4548 t 10 S f (_)2533 4548 w 10 R f (wct = 6\) as the)4 636 1 2583 4548 t 10 S1 f (")3256 4548 w 10 R f (core)3297 4548 w 10 S1 f (")3468 4548 w 10 R f (Write request protocol such that the)5 1493 1 3547 4548 t ( only the smb)3 566(buffered data is in the correct position and)7 1751 2 720 4668 t 10 S f (_)3037 4668 w 10 R f (header need be changed to cause the \256nal bytes)8 1953 1 3087 4668 t ( This is ef\256cient if the data were read using the)10 1974(to be written along with the \256le close.)7 1573 2 720 4788 t 10 S1 f (")4302 4788 w 10 R f (core)4343 4788 w 10 S1 f (")4514 4788 w 10 R f (read proto-)1 450 1 4590 4788 t ( that the)2 352(col. Note)1 414 2 720 4908 t 10 S1 f (")1526 4908 w 10 R f (core)1567 4908 w 10 S1 f (")1738 4908 w 10 R f (Read response protocol is this same size as the)8 1984 1 1819 4908 t 10 S1 f (")3843 4908 w 10 R f (core)3884 4908 w 10 S1 f (")4055 4908 w 10 R f (write request protocol)2 904 1 4136 4908 t (and the)1 299 1 720 5028 t 10 S1 f (")1052 5028 w 10 R f (extended)1093 5028 w 10 S1 f (" ")1 115 1 1453 5028 t 10 R f (WriteandUnlock)1568 5028 w 10 S1 f (")2233 5028 w 10 R f (and)2307 5028 w 10 S1 f (")2484 5028 w 10 R f (LockandRead)2525 5028 w 10 S1 f (")3079 5028 w 10 R f (protocols de\256ned in this document.)4 1440 1 3153 5028 t ( protocol may be the same length \(smb)7 1642(Alternately, this)1 690 2 720 5268 t 10 S f (_)3052 5268 w 10 R f ( as the)2 283(wct = 12\))2 409 2 3102 5268 t 10 S1 f (")3833 5268 w 10 R f (extended)3874 5268 w 10 S1 f (")4234 5268 w 10 R f (WriteandX proto-)1 726 1 4314 5268 t (col such that the buffered data is in the correct position and only the smb)14 3145 1 720 5388 t 10 S f (_)3865 5388 w 10 R f (header need be changed to)4 1125 1 3915 5388 t ( \256le close. This is ef\256cient if the data were read using)11 2278(cause the \256nal bytes to be written along with the)9 2042 2 720 5508 t (the)720 5628 w 10 S1 f (")882 5628 w 10 R f (extended)923 5628 w 10 S1 f (")1283 5628 w 10 R f ( that the)2 352( Note)1 267(ReadandX protocol.)1 819 3 1364 5628 t 10 S1 f (")2842 5628 w 10 R f (extended)2883 5628 w 10 S1 f (")3243 5628 w 10 R f ( protocol is this same)4 906(ReadandX response)1 810 2 3324 5628 t (size as the)2 426 1 720 5748 t 10 S1 f (")1179 5748 w 10 R f (extended)1220 5748 w 10 S1 f (")1580 5748 w 10 R f (WriteandX request de\256ned in this document.)5 1832 1 1654 5748 t (If an error occurs on the write, the \256le should still be closed.)12 2503 1 720 5988 t (The server should)2 731 1 720 6228 t 10 S1 f (")1484 6228 w 10 R f (spin)1525 6228 w 10 S1 f (")1692 6228 w 10 R f (writing all data to the \256le/pipe/device before doing the close.)9 2502 1 1766 6228 t (Write and Close may generate the following errors:)7 2110 1 720 6468 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 87 87 %%Page: 88 88 save mark 88 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 88 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRDOS:)2 916 1 1080 900 t (ERRnoaccess)1146 1140 w (ERRbad\256d)1146 1260 w (ERRlock)1146 1380 w (ERRbad\256letype)1146 1500 w (ERRbadaccess)1146 1620 w (Error Class ERRSRV:)2 911 1 1080 1860 t (ERRerror)1146 2100 w (ERRinvnid)1146 2220 w 10 S1 f (<)1146 2340 w 10 R f (implementation speci\256c)1 966 1 1202 2340 t 10 S1 f (>)2168 2340 w 10 R f (Error Class ERRHRD:)2 927 1 1080 2580 t 10 S1 f (<)1146 2820 w 10 R f (implementation speci\256c)1 966 1 1202 2820 t 10 S1 f (>)2168 2820 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 88 88 %%Page: 89 89 save mark 89 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 89 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( and Unlock)2 534(9.2.20. WRITE)1 686 2 720 840 t 10 R f (Request Format \(same as core WRITE\):)5 1645 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 5 */)4 532(wct; /*)1 533 2 1497 1176 t (WORD smb)1 622 1 825 1296 t 10 S f (_)1447 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 533 2 1497 1296 t (WORD smb)1 622 1 825 1416 t 10 S f (_)1447 1416 w 10 R f ( number of bytes to write and then unlock */)9 1845(count; /*)1 533 2 1497 1416 t (DWORD smb)1 694 1 753 1536 t 10 S f (_)1447 1536 w 10 R f ( offset in \256le to unlock and begin write */)9 1729(offset; /*)1 533 2 1497 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( number of bytes remaining to be written */)8 1801(remcnt; /*)1 533 2 1497 1656 t (WORD smb)1 622 1 825 1776 t 10 S f (_)1447 1776 w 10 R f ( minimum value = 3 */)5 955(bcc; /*)1 533 2 1497 1776 t (BYTE smb)1 578 1 869 1896 t 10 S f (_)1447 1896 w 10 R f ( value = DATA)3 648(ident1; /*)1 533 2 1497 1896 t 10 S f (_)2678 1896 w 10 R f (BLOCK */)1 450 1 2728 1896 t (WORD smb)1 622 1 825 2016 t 10 S f (_)1447 2016 w 10 R f ( length of data being written */)6 1280(size; /*)1 533 2 1497 2016 t (BYTE smb)1 578 1 869 2136 t 10 S f (_)1447 2136 w 10 R f ( data */)2 310(data[]; /*)1 533 2 1497 2136 t (Response Format \(same as core WRITE\):)5 1706 1 720 2472 t (BYTE smb)1 578 1 830 2652 t 10 S f (_)1408 2652 w 10 R f ( value = 1 */)4 532(wct; /*)1 478 2 1458 2652 t (WORD smb)1 622 1 786 2772 t 10 S f (_)1408 2772 w 10 R f ( number of bytes written */)5 1125(count; /*)1 478 2 1458 2772 t (WORD smb)1 622 1 786 2892 t 10 S f (_)1408 2892 w 10 R f ( value = 0 */)4 532(bcc; /*)1 478 2 1458 2892 t (Service:)720 3192 w (The Write and Unlock request is used to \256rst write the speci\256ed bytes and then unlock them.)16 3826 1 720 3348 t (The locked portion of a \256le is)6 1296 1 720 3588 t 10 S1 f (")2060 3588 w 10 R f (safe)2101 3588 w 10 S1 f (")2261 3588 w 10 R f (to write behind because no other process can access the locked)10 2694 1 2346 3588 t ( the consumer can buffer the locked bytes locally while)9 2317( Thus)1 270( unlocks the bytes.)3 780(bytes until this process)3 953 4 720 3708 t ( protocol to both write and)5 1128(they are being updated, then when the unlock request is received submit this)12 3192 2 720 3828 t (then unlock bytes.)2 746 1 720 3948 t ( signi\256cant performance improvements on data base update operations \(lock data -)11 3549(This can provide)2 715 2 720 4188 t 10 S1 f (>)4984 4188 w 10 R f (read data -)2 436 1 720 4308 t 10 S1 f (>)1156 4308 w 10 R f ([update -)1 365 1 1245 4308 t 10 S1 f (>)1610 4308 w 10 R f (write data] -)2 503 1 1699 4308 t 10 S1 f (>)2202 4308 w 10 R f (unlock data\).)1 529 1 2291 4308 t (Whether or not this protocol is supported \(along with LockandRead\) is returned in the smb)14 3825 1 720 4548 t 10 S f (_)4545 4548 w 10 R f (\257g \256eld of)2 445 1 4595 4548 t (the negotiate response.)2 928 1 720 4668 t ( server merely unlocks the bytes)5 1384( The)1 232( are identical to the core write.)6 1330(The request and response format)4 1374 4 720 4908 t (after writing them.)2 762 1 720 5028 t (If an error occurs on the write, the bytes should remain locked.)11 2596 1 720 5268 t (Write and Unlock may generate the following errors:)7 2176 1 720 5508 t (Error Class ERRDOS:)2 916 1 1080 5688 t (ERRnoaccess)1146 5928 w (ERRbad\256d)1146 6048 w (ERRlock)1146 6168 w (ERRbadaccess)1146 6288 w (Error Class ERRSRV:)2 911 1 1080 6528 t (ERRerror)1146 6768 w (ERRinvdevice)1146 6888 w (ERRinvnid)1146 7008 w 10 S1 f (<)1146 7128 w 10 R f (implementation speci\256c)1 966 1 1202 7128 t 10 S1 f (>)2168 7128 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 89 89 %%Page: 90 90 save mark 90 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 90 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRHRD:)2 927 1 1080 900 t 10 S1 f (<)1146 1140 w 10 R f (implementation speci\256c)1 966 1 1202 1140 t 10 S1 f (>)2168 1140 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 90 90 %%Page: 91 91 save mark 91 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 91 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( and X)2 300(9.2.21. WRITE)1 686 2 720 840 t 10 R f (Request Format:)1 672 1 720 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 12 */)4 582(wct; /*)1 611 2 1497 1176 t (BYTE smb)1 578 1 869 1296 t 10 S f (_)1447 1296 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 611 2 1497 1296 t (BYTE smb)1 578 1 869 1416 t 10 S f (_)1447 1416 w 10 R f ( reserved \(must be zero\) */)5 1106(reh2; /*)1 611 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 611 2 1497 1536 t 10 S1 f (@)3864 1536 w 10 R f (smb)3956 1536 w 10 S f (_)4123 1536 w 10 R f (wct\) */)1 288 1 4173 1536 t (WORD smb)1 622 1 825 1656 t 10 S f (_)1447 1656 w 10 R f ( \256le handle */)3 571(\256d; /*)1 611 2 1497 1656 t (DWORD smb)1 694 1 753 1776 t 10 S f (_)1447 1776 w 10 R f ( offset in \256le to begin write */)7 1247(offset; /*)1 611 2 1497 1776 t (DWORD smb)1 694 1 753 1896 t 10 S f (_)1447 1896 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 611 2 1497 1896 t (WORD smb)1 622 1 825 2016 t 10 S f (_)1447 2016 w 10 R f ( write mode:)2 521(wmode; /*)1 611 2 1497 2016 t (bit0 - complete write before return \(write through\))7 2065 1 2030 2136 t (bit1 - return smb)3 693 1 2030 2256 t 10 S f (_)2723 2256 w 10 R f (remaining \(pipes/devices only\))2 1253 1 2773 2256 t (bit2 - use WriteRawNamedPipe \(pipes only\))5 1818 1 2030 2376 t (bit3 - this is the start of a message \(pipes only\) */)11 2056 1 2030 2496 t (WORD smb)1 622 1 825 2616 t 10 S f (_)1447 2616 w 10 R f ( bytes remaining to write to satisfy user's request */)9 2139(countleft; /*)1 611 2 1497 2616 t (WORD smb)1 622 1 825 2736 t 10 S f (_)1447 2736 w 10 R f ( reserved */)2 481(rsvd; /*)1 611 2 1497 2736 t (WORD smb)1 622 1 825 2856 t 10 S f (_)1447 2856 w 10 R f ( number of data bytes in buffer \(min value = 0\) */)11 2071(dsize; /*)1 611 2 1497 2856 t (WORD smb)1 622 1 825 2976 t 10 S f (_)1447 2976 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(doff; /*)1 611 2 1497 2976 t (WORD smb)1 622 1 825 3096 t 10 S f (_)1447 3096 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 611 2 1497 3096 t (BYTE smb)1 578 1 869 3216 t 10 S f (_)1447 3216 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 611 2 1497 3216 t (BYTE smb)1 578 1 869 3336 t 10 S f (_)1447 3336 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 611 2 1497 3336 t 10 S f (_)3321 3336 w 10 R f (dsize\) */)1 349 1 3371 3336 t (Response Format:)1 733 1 720 3672 t (BYTE smb)1 578 1 869 3852 t 10 S f (_)1447 3852 w 10 R f ( value = 6 */)4 532(wct; /*)1 661 2 1497 3852 t (BYTE smb)1 578 1 869 3972 t 10 S f (_)1447 3972 w 10 R f ( secondary \(X\) command, 0xFF = none */)7 1732(com2; /*)1 661 2 1497 3972 t (BYTE smb)1 578 1 869 4092 t 10 S f (_)1447 4092 w 10 R f ( reserved \(pad to word\) */)5 1073(res2; /*)1 661 2 1497 4092 t (WORD smb)1 622 1 825 4212 t 10 S f (_)1447 4212 w 10 R f ( offset \(from SMB hdr start\) to next cmd \()9 1756(off2; /*)1 661 2 1497 4212 t 10 S1 f (@)3914 4212 w 10 R f (smb)4006 4212 w 10 S f (_)4173 4212 w 10 R f (wct\) */)1 288 1 4223 4212 t (WORD smb)1 622 1 825 4332 t 10 S f (_)1447 4332 w 10 R f ( number of bytes written */)5 1125(count; /*)1 661 2 1497 4332 t (WORD smb)1 622 1 825 4452 t 10 S f (_)1447 4452 w 10 R f ( bytes remaining to be read \(pipes/devices only\) */)8 2083(remaining; /*)1 661 2 1497 4452 t (DWORD smb)1 694 1 753 4572 t 10 S f (_)1447 4572 w 10 R f ( reserved */)2 481(rsvd; /*)1 661 2 1497 4572 t (WORD smb)1 622 1 825 4692 t 10 S f (_)1447 4692 w 10 R f ( value = 0 */)4 532(bcc; /*)1 661 2 1497 4692 t (Service:)720 4992 w ( generalized alternative)2 958(The expanded write and X command allows writes to be timed out, and offers a)14 3362 2 720 5148 t (to the core write command.)4 1127 1 720 5268 t (Note that a zero length write \(smb)6 1466 1 720 5508 t 10 S f (_)2186 5508 w 10 R f ( truncate the \256le as is true of the core write)10 1887(count = 0\) does NOT)4 917 2 2236 5508 t ( merely transfers zero bytes of information to the \256le \(times associ-)11 2808( a zero length write)4 818(protocol. Rather)1 694 3 720 5628 t ( the core)2 363( The)1 223( may be updated however\).)4 1123(ated with the \256le)3 696 4 720 5748 t 10 S1 f (")3160 5748 w 10 R f (Write)3201 5748 w 10 S1 f (")3428 5748 w 10 R f (protocol must be used to truncate the)6 1536 1 3504 5748 t (\256le.)720 5868 w ( including the optional second protocol must \256t in the negotiated)10 2753(The entire message sent and received)5 1567 2 720 6108 t (max transfer size.)2 722 1 720 6228 t (The following are the only valid protocol requests commands for smb)10 2871 1 720 6468 t 10 S f (_)3591 6468 w 10 R f (com2 \(X\) for WRITE and X:)5 1201 1 3641 6468 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 91 91 %%Page: 92 92 save mark 92 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 92 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (READ)1080 900 w (READ and X)2 554 1 1080 1020 t (LOCKING and X)2 731 1 1080 1140 t (LOCKREAD)1080 1260 w (CLOSE)1080 1380 w (CLOSE and DISCONNECT)2 1160 1 1080 1500 t (When the smb)2 599 1 720 1680 t 10 S f (_)1319 1680 w 10 R f ( server is to wait for)5 861(timeout \256eld is non-zero, it speci\256es the maximum milliseconds the)9 2810 2 1369 1680 t ( termi-)1 282( feature is useful when accessing remote devices, such as)9 2403( This)1 250(a response to its write command.)5 1385 4 720 1800 t (nals, where indeterminate delays are possible \(e.g. control-S active\).)8 2791 1 720 1920 t (Zero in the smb)3 690 1 720 2160 t 10 S f (_)1410 2160 w 10 R f ( server should write only as)5 1206( The)1 234( indicates that no blocking is desired.)6 1611(timeout \256eld)1 529 4 1460 2160 t (many bytes to the pipe or device as will be accepted without causing any delay.)14 3287 1 720 2280 t (A negative 2 smb)3 729 1 720 2520 t 10 S f (_)1449 2520 w 10 R f ( that the server should use the default timeout value associated)10 2596(timeout value indicates)2 945 2 1499 2520 t ( resource, rather the)3 866( no timeout is explicitly set to the)7 1519( Thus)1 284(with the pipe or device being written.)6 1651 4 720 2640 t (current timeout set either as a default or as a result of an IOCTL remains in effect.)16 3406 1 720 2760 t (A negative 1 value in the smb)6 1277 1 720 3000 t 10 S f (_)1997 3000 w 10 R f ( block \(or loop\) writing all)5 1138(timeout \256eld indicates that the server should)6 1855 2 2047 3000 t ( the server should try)4 875( Thus)1 266(the data \(or error\) before returning.)5 1440 3 720 3120 t 10 S1 f (")3334 3120 w 10 R f (forever)3375 3120 w 10 S1 f (")3662 3120 w 10 R f (to get the data to the resource.)6 1248 1 3736 3120 t ( extended to Named Pipes, communication devices, printer devices and)9 3010(The Write command's scope is)4 1310 2 720 3360 t (spooled output \(can be used in place of)7 1617 1 720 3480 t 10 S1 f (")2370 3480 w 10 R f (Write Print File)2 644 1 2411 3480 t 10 S1 f (")3055 3480 w 10 R f (\).)3096 3480 w (The server should)2 743 1 720 3720 t 10 S1 f (")1502 3720 w 10 R f (spin)1543 3720 w 10 S1 f (")1710 3720 w 10 R f ( by a close)3 469(here writing all date to the \256le/pipe/device if the write is followed)11 2781 2 1790 3720 t (protocol \(the)1 521 1 720 3840 t 10 S1 f (")1274 3840 w 10 R f (X)1315 3840 w 10 S1 f (")1387 3840 w 10 R f (of WriteAndX present in the same request is a close\).)9 2206 1 1461 3840 t ( smb)1 215(The return \256eld)2 665 2 720 4080 t 10 S f (_)1600 4080 w 10 R f ( is used to return the)5 928( It)1 142(remaining is to be returned for pipes or devices only.)9 2320 3 1650 4080 t ( be used by the con-)5 846(number of bytes currently available in the pipe or device. This information can then)13 3474 2 720 4200 t ( may return some data.)4 1004(sumer to know when a subsequent \(non blocking\) read of the pipe or device)13 3316 2 720 4320 t ( the read request is actually received by the server there may be more or less actual)16 3595(Note - that when)3 725 2 720 4440 t ( pipe / device or another reader drained it\).)8 1799(data in the pipe or device \(more data has been written to the)12 2521 2 720 4560 t ( the request is NOT for a pipe or device \(or the server)12 2354(If the information is currently not available or)7 1966 2 720 4680 t (does not support this feature\), a -1 value should be returned.)10 2481 1 720 4800 t (Write and X may generate the following errors:)7 1954 1 720 5040 t (Error Class ERRDOS:)2 916 1 1080 5220 t (ERRnoaccess)1146 5460 w (ERRbad\256d)1146 5580 w (ERRlock)1146 5700 w (ERRbad\256letype)1146 5820 w (ERRbadaccess)1146 5940 w (Error Class ERRSRV:)2 911 1 1080 6180 t (ERRerror)1146 6420 w (ERRinvnid)1146 6540 w (ERRtimeout)1146 6660 w 10 S1 f (<)1146 6780 w 10 R f (implementation speci\256c)1 966 1 1202 6780 t 10 S1 f (>)2168 6780 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 92 92 %%Page: 93 93 save mark 93 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 93 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (Error Class ERRHRD:)2 927 1 1080 900 t 10 S1 f (<)1146 1140 w 10 R f (implementation speci\256c)1 966 1 1202 1140 t 10 S1 f (>)2168 1140 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 93 93 %%Page: 94 94 save mark 94 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 94 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( BLOCK MULTIPLEXED)2 1173(9.2.22. WRITE)1 686 2 720 840 t 10 R f ( \(smb)1 266(Primary Request Format:)2 1027 2 720 996 t 10 S f (_)2013 996 w 10 R f (com = SMBwriteBmpx\))2 989 1 2063 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 12 */)4 582(wct; /*)1 562 2 1497 1176 t (WORD smb)1 622 1 825 1296 t 10 S f (_)1447 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 562 2 1497 1296 t (WORD smb)1 622 1 825 1416 t 10 S f (_)1447 1416 w 10 R f ( total bytes \(including this buf, 65,535 max\) */)8 1925(tcount; /*)1 562 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( reserved */)2 481(rsvd; /*)1 562 2 1497 1536 t (DWORD smb)1 694 1 753 1656 t 10 S f (_)1447 1656 w 10 R f ( offset in \256le to begin write */)7 1247(offset; /*)1 562 2 1497 1656 t (DWORD smb)1 694 1 753 1776 t 10 S f (_)1447 1776 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 562 2 1497 1776 t (WORD smb)1 622 1 825 1896 t 10 S f (_)1447 1896 w 10 R f ( write mode:)2 521(wmode; /*)1 562 2 1497 1896 t (bit0 - complete write to disk and send \256nal result response)10 2411 1 1981 2016 t (bit1 - return smb)3 693 1 1981 2136 t 10 S f (_)2674 2136 w 10 R f (remaining \(pipes/devices only\) */)3 1364 1 2724 2136 t (DWORD smb)1 694 1 753 2256 t 10 S f (_)1447 2256 w 10 R f ( reserved */)2 481(rsvd2; /*)1 562 2 1497 2256 t (WORD smb)1 622 1 825 2376 t 10 S f (_)1447 2376 w 10 R f ( number of data bytes this buffer \(min value = 0\) */)11 2138(dsize; /*)1 562 2 1497 2376 t (WORD smb)1 622 1 825 2496 t 10 S f (_)1447 2496 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(doff; /*)1 562 2 1497 2496 t (WORD smb)1 622 1 825 2616 t 10 S f (_)1447 2616 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 562 2 1497 2616 t (BYTE smb)1 578 1 869 2736 t 10 S f (_)1447 2736 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 562 2 1497 2736 t (BYTE smb)1 578 1 869 2856 t 10 S f (_)1447 2856 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 562 2 1497 2856 t 10 S f (_)3272 2856 w 10 R f (dsize\) */)1 349 1 3322 2856 t ( \(smb)1 266(First Response Format \(ok send remaining data\):)6 2002 2 720 3192 t 10 S f (_)2988 3192 w 10 R f (com = SMBwriteBmpx\))2 989 1 3038 3192 t (BYTE smb)1 578 1 830 3372 t 10 S f (_)1408 3372 w 10 R f ( value = 1 */)4 532(wct; /*)1 661 2 1458 3372 t (WORD smb)1 622 1 786 3492 t 10 S f (_)1408 3492 w 10 R f ( bytes remaining to be read \(pipes/devices only\) */)8 2083(remaining; /*)1 661 2 1458 3492 t (WORD smb)1 622 1 786 3612 t 10 S f (_)1408 3612 w 10 R f ( value = 0 */)4 532(bcc; /*)1 661 2 1458 3612 t (Secondary Request Format \(more data\) \(zero to n of these\):)9 2447 1 720 3948 t (BYTE smb)1 578 1 869 4128 t 10 S f (_)1447 4128 w 10 R f ( value = 8 */)4 532(wct; /*)1 538 2 1497 4128 t (WORD smb)1 622 1 825 4248 t 10 S f (_)1447 4248 w 10 R f ( \256le handle */)3 571(\256d; /*)1 538 2 1497 4248 t (WORD smb)1 622 1 825 4368 t 10 S f (_)1447 4368 w 10 R f ( total bytes to be sent this protocol */)8 1542(tcount; /*)1 538 2 1497 4368 t (DWORD smb)1 694 1 753 4488 t 10 S f (_)1447 4488 w 10 R f ( offset in \256le to begin write */)7 1247(offset; /*)1 538 2 1497 4488 t (DWORD smb)1 694 1 753 4608 t 10 S f (_)1447 4608 w 10 R f ( reserved */)2 481(rsvd; /*)1 538 2 1497 4608 t (WORD smb)1 622 1 825 4728 t 10 S f (_)1447 4728 w 10 R f ( number of data bytes this buffer \(min value = 0\) */)11 2138(dsize; /*)1 538 2 1497 4728 t (WORD smb)1 622 1 825 4848 t 10 S f (_)1447 4848 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(doff; /*)1 538 2 1497 4848 t (WORD smb)1 622 1 825 4968 t 10 S f (_)1447 4968 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 538 2 1497 4968 t (BYTE smb)1 578 1 869 5088 t 10 S f (_)1447 5088 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 538 2 1497 5088 t (BYTE smb)1 578 1 869 5208 t 10 S f (_)1447 5208 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 538 2 1497 5208 t 10 S f (_)3248 5208 w 10 R f (dsize\) */)1 349 1 3298 5208 t ( \(smb)1 266(Final Response Format \(write through or error\):)6 1962 2 720 5544 t 10 S f (_)2948 5544 w 10 R f (com = SMBwriteC\))2 811 1 2998 5544 t (BYTE smb)1 578 1 830 5724 t 10 S f (_)1408 5724 w 10 R f ( value = 1 */)4 532(wct; /*)1 478 2 1458 5724 t (WORD smb)1 622 1 786 5844 t 10 S f (_)1408 5844 w 10 R f ( total number of bytes written */)6 1336(count; /*)1 478 2 1458 5844 t (WORD smb)1 622 1 786 5964 t 10 S f (_)1408 5964 w 10 R f ( value = 0 */)4 532(bcc; /*)1 478 2 1458 5964 t (Service:)720 6300 w ( block of)2 383(The Write Block Multiplexed protocol is used to maximize the performance of writing a large)14 3937 2 720 6456 t (data from the consumer to the server on a multiplexed VC.)10 2429 1 720 6576 t ( scope includes \(but is not limited to\) \256les, Named Pipes, com-)11 2612(The Write Block Multiplexed command's)4 1708 2 720 6816 t (munication devices, printer devices and spooled output \(can be used in place of)12 3265 1 720 6936 t 10 S1 f (")4018 6936 w 10 R f (Write Print File)2 644 1 4059 6936 t 10 S1 f (")4703 6936 w 10 R f (\).)4744 6936 w ( the \256rst response format will be that of the \256nal response \(SMBwriteC\) in the case where the)17 3940(Note that)1 380 2 720 7176 t ( the word parameter is)4 972( Thus)1 278(server gets an error while writeing the data sent along with the request.)12 3070 3 720 7296 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 94 94 %%Page: 95 95 save mark 95 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 95 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (smb)720 840 w 10 S f (_)887 840 w 10 R f ( an error occurs)3 655( If)1 135( an error is returned.)4 855(count \(the number of bytes which did get written\) any time)10 2458 4 937 840 t ( has been sent allowing the consumer to send the remaining data, the \256nal)13 3232(AFTER the \256rst response)3 1088 2 720 960 t ( the server should return this)5 1240( Rather)1 344( write through is set.)4 899(response should NOT be sent unless)5 1546 4 720 1080 t 10 S1 f (")4794 1080 w 10 R f (write)4835 1080 w (behind)720 1200 w 10 S1 f (")992 1200 w 10 R f (error on the next access to the \256le/pipe/device.)7 1913 1 1066 1200 t ( server will)2 505( The)1 241( may be active on the multiplexed VC.)7 1739(When this protocol is used, other requests)6 1835 4 720 1440 t ( consumer will then send a sequence)6 1524( The)1 224(respond with the response protocol message as de\256ned above.)8 2572 3 720 1560 t (of)720 1680 w 10 S1 f (")837 1680 w 10 R f (Secondary Write)1 682 1 878 1680 t 10 S1 f (")1560 1680 w 10 R f ( the remaining data amount has been sent \(unless all data \256t)11 2493(protocol requests until)2 912 2 1635 1680 t ( request contains the smb)4 1098( Each)1 279(within primary request\).)2 1012 3 720 1800 t 10 S f (_)3109 1800 w 10 R f (pid of the original Write Block Multiplexed)6 1881 1 3159 1800 t ( and data length de\256ned in the Write response protocol \(including the SMB)12 3368(request, the \256le offset)3 952 2 720 1920 t ( deliver the response to the)5 1138( allows the server's message delivery \(multiplexing\) system to)8 2609(header\). This)1 573 3 720 2040 t (appropriate server process.)2 1087 1 720 2160 t ( knows the number of data bytes expected to be sent and passes)12 2654(At the time of the request, the consumer)7 1666 2 720 2400 t (this information to the server via the primary request \(smb)9 2495 1 720 2520 t 10 S f (_)3215 2520 w 10 R f ( may be reduced by lowering)5 1246(tcount\). This)1 529 2 3265 2520 t (the total number of bytes expected \(smb)6 1651 1 720 2640 t 10 S f (_)2371 2640 w 10 R f (tcount\) in each \(any\) secondary request.)5 1635 1 2421 2640 t ( bytes received by the server \(total of each smb)9 2034(Thus, when the amount of data)5 1317 2 720 2880 t 10 S f (_)4071 2880 w 10 R f (dsize\) equals the total)3 919 1 4121 2880 t ( expected \(smallest smb)3 999(amount of data bytes)3 880 2 720 3000 t 10 S f (_)2599 3000 w 10 R f (tcount received\), then the server has received all the data)9 2391 1 2649 3000 t (bytes. This allows the protocol to work even if the)9 2081 1 720 3120 t 10 S1 f (")2834 3120 w 10 R f (packets)2875 3120 w 10 S1 f (")3174 3120 w 10 R f (\(buffers\) are received out of sequence.)5 1572 1 3248 3120 t ( block of data since the Write)6 1259(This protocol eliminates nearly half the protocols involved with writing a)10 3061 2 720 3360 t ( size as de\256ned with)4 858(Block Multiplexed response is sent only once as opposed to each negotiated buffer)12 3462 2 720 3480 t (the Write protocol.)2 773 1 720 3600 t (When write through is not speci\256ed \(smb)6 1732 1 720 3840 t 10 S f (_)2452 3840 w 10 R f ( this protocol is assumed to be a form of write)10 1977(wmode zero\),)1 561 2 2502 3840 t ( no)1 139( Thus)1 272( all secondary requests from the consumer.)6 1794( transport layer guarantees delivery of)5 1590(behind. The)1 525 5 720 3960 t 10 S1 f (")720 4080 w 10 R f (got the data you sent)4 871 1 761 4080 t 10 S1 f (")1632 4080 w 10 R f ( all bytes must be)4 748( an error should occur at the server end,)8 1669( If)1 135(protocol is needed.)2 779 4 1709 4080 t ( disk full, the next access)5 1044(received and thrown away. If an error occurs while writing data to disk such as)14 3276 2 720 4200 t ( return the fact that the error occurred.)7 1578( will)1 222(of the \256le handle \(another write, close, read, etc.\))8 2025 3 720 4320 t ( speci\256ed \(smb)2 639(If write through is)3 772 2 720 4560 t 10 S f (_)2131 4560 w 10 R f (wmode set\), the server will collect all the data, write it to disk and)13 2859 1 2181 4560 t ( the write \(no error in smb)6 1102(then send a \256nal response indicating the result of)8 2033 2 720 4680 t 10 S f (_)3855 4680 w 10 R f (err indicates data is on disk)5 1135 1 3905 4680 t ( total number of bytes written is also returned in this response.)11 2580(ok\). The)1 379 2 720 4800 t (The \257ow for the Write Block Multiplexed \(W.B.M.\) protocol is:)9 2642 1 720 5040 t (consumer)1080 5280 w 10 S1 f (\261\261\261\261\261 >)1 321 1 1524 5280 t 10 R f (WRITE BLOCK MULTIPLEXED request \(data\))4 2006 1 1882 5280 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261)1 483 2 3921 5280 t 10 R f (server)4437 5280 w (consumer)1080 5400 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261<)1 782(\261 <)1 61 2 1501 5400 t 10 R f (OK send remaining data)3 997 1 2377 5400 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261)1 903(\261 <)1 61 2 3407 5400 t 10 R f (server)4437 5400 w (consumer)1080 5520 w 10 S1 f (\261\261\261\261\261\261\261\261\261 >)1 581 1 1518 5520 t 10 R f (W. B. M. secondary request 1 \(data\))6 1497 1 2136 5520 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261)1 738 2 3666 5520 t 10 R f (server)4437 5520 w (consumer)1080 5640 w 10 S1 f (\261\261\261\261\261\261\261\261\261 >)1 581 1 1518 5640 t 10 R f (W. B. M. secondary request 2 \(data\))6 1497 1 2136 5640 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261)1 738 2 3666 5640 t 10 R f (server)4437 5640 w ( .)1 1787(. .)1 1813 2 1080 5760 t (consumer)1080 5880 w 10 S1 f (\261\261\261\261\261\261\261\261\261 >)1 581 1 1518 5880 t 10 R f (W. B. M. secondary request n \(data\))6 1497 1 2136 5880 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261)1 738 2 3666 5880 t 10 R f (server)4437 5880 w (consumer)1080 6000 w 10 S1 f ( \261\261\261\261\261<)1 431(\261 <)1 61 2 1501 6000 t 10 R f (data on disk or error \(write through only\))7 1700 1 2026 6000 t 10 S1 f ( \261\261\261\261\261\261\261\261)1 584(\261 <)1 61 2 3759 6000 t 10 R f (server)4437 6000 w ( sent \256ts in the \256rst request buffer, the primary response will still be sent, fol-)15 3224(Note - if all the data being)6 1096 2 720 6276 t ( is done in)3 459( This)1 251( \(if write through is set\).)5 1046(lowed by the \256nal response after the data is actually on disk)11 2564 4 720 6396 t ( a nego-)2 353( writing data which all \256ts within)6 1418( When)1 311(order to simplify the implementation of this protocol.)7 2238 4 720 6516 t (tiated buffer size, the)3 866 1 720 6636 t 10 S1 f (")1619 6636 w 10 R f (Write and X)2 509 1 1660 6636 t 10 S1 f (")2169 6636 w 10 R f (protocol may be a better choice.)5 1320 1 2243 6636 t ( make up the complete protocol, thus the TID,)8 1970(Note that the primary request through the \256nal response)8 2350 2 720 6912 t ( consumer to)2 532(PID, UID and MID are expected to remain constant and can be used by both the server and)17 3788 2 720 7032 t (route the individual messages of the protocol to the correct process.)10 2778 1 720 7152 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 95 95 %%Page: 96 96 save mark 96 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 96 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( smb)1 215(The return \256eld)2 665 2 720 840 t 10 S f (_)1600 840 w 10 R f ( is used to return the)5 928( It)1 142(remaining is to be returned for pipes or devices only.)9 2320 3 1650 840 t ( be used by the con-)5 846(number of bytes currently available in the pipe or device. This information can then)13 3474 2 720 960 t ( may return some data.)4 1004(sumer to know when a subsequent \(non blocking\) read of the pipe or device)13 3316 2 720 1080 t ( the read request is actually received by the server there may be more or less actual)16 3595(Note - that when)3 725 2 720 1200 t ( pipe / device or another reader drained it\).)8 1799(data in the pipe or device \(more data has been written to the)12 2521 2 720 1320 t ( the request is NOT for a pipe or device \(or the server)12 2354(If the information is currently not available or)7 1966 2 720 1440 t (does not support this feature\), a -1 value should be returned.)10 2481 1 720 1560 t ( that the error ERRnoresource \(or)5 1463( Note)1 277( may generate the following errors.)5 1527(Write Block Multiplexed)2 1053 4 720 1836 t ( consumer could)2 682( The)1 224( returned by the server if it is temporarily out of large buffers.)12 2596(ERRusestd\) may be)2 818 4 720 1956 t (then retry using the standard)4 1169 1 720 2076 t 10 S1 f (")1922 2076 w 10 R f (core)1963 2076 w 10 S1 f (")2134 2076 w 10 R f (write request, or delay and retry the read block multiplexed request.)10 2785 1 2208 2076 t (Error Class ERRDOS)2 888 1 1080 2256 t (ERRbad\256d)1146 2496 w (ERRnoaccess)1146 2616 w (ERRlock)1146 2736 w (ERRbad\256letype)1146 2856 w (ERRbadaccess)1146 2976 w 10 S1 f (<)1146 3096 w 10 R f (implementation speci\256c)1 966 1 1202 3096 t 10 S1 f (>)2168 3096 w 10 R f (Error Class ERRSRV)2 883 1 1080 3336 t (ERRerror)1146 3576 w (ERRinvnid)1146 3696 w (ERRnoresource)1146 3816 w (ERRusestd)1146 3936 w (ERRtimeout)1146 4056 w 10 S1 f (<)1146 4176 w 10 R f (implementation speci\256c)1 966 1 1202 4176 t 10 S1 f (>)2168 4176 w 10 R f (Error Class ERRHRD)2 899 1 1080 4416 t 10 S1 f (<)1146 4656 w 10 R f (implementation speci\256c)1 966 1 1202 4656 t 10 S1 f (>)2168 4656 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 96 96 %%Page: 97 97 save mark 97 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 97 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( BLOCK RAW)2 672(9.2.23. WRITE)1 686 2 720 840 t 10 R f ( \(smb)1 266(Primary Request Format:)2 1027 2 720 996 t 10 S f (_)2013 996 w 10 R f (com = SMBwriteBraw\))2 960 1 2063 996 t (BYTE smb)1 578 1 869 1176 t 10 S f (_)1447 1176 w 10 R f ( value = 12 */)4 582(wct; /*)1 562 2 1497 1176 t (WORD smb)1 622 1 825 1296 t 10 S f (_)1447 1296 w 10 R f ( \256le handle */)3 571(\256d; /*)1 562 2 1497 1296 t (WORD smb)1 622 1 825 1416 t 10 S f (_)1447 1416 w 10 R f ( total bytes \(including this buf, 65,535 max \) */)9 1958(tcount; /*)1 562 2 1497 1416 t (WORD smb)1 622 1 825 1536 t 10 S f (_)1447 1536 w 10 R f ( reserved */)2 481(rsvd; /*)1 562 2 1497 1536 t (DWORD smb)1 694 1 753 1656 t 10 S f (_)1447 1656 w 10 R f ( offset in \256le to begin write */)7 1247(offset; /*)1 562 2 1497 1656 t (DWORD smb)1 694 1 753 1776 t 10 S f (_)1447 1776 w 10 R f ( number of milliseconds to wait for completion */)8 2052(timeout; /*)1 562 2 1497 1776 t (WORD smb)1 622 1 825 1896 t 10 S f (_)1447 1896 w 10 R f ( write mode:)2 521(wmode; /*)1 562 2 1497 1896 t (bit0 - complete write to disk and send \256nal result response)10 2411 1 1981 2016 t (bit1 - return smb)3 693 1 1981 2136 t 10 S f (_)2674 2136 w 10 R f (remaining \(pipes/devices only\) */)3 1364 1 2724 2136 t (DWORD smb)1 694 1 753 2256 t 10 S f (_)1447 2256 w 10 R f ( */)1 144( reserved)1 370(rsvd2; /*)1 562 3 1497 2256 t (WORD smb)1 622 1 825 2376 t 10 S f (_)1447 2376 w 10 R f ( number of data bytes this buffer \(min value = 0\) */)11 2138(dsize; /*)1 562 2 1497 2376 t (WORD smb)1 622 1 825 2496 t 10 S f (_)1447 2496 w 10 R f ( offset \(from start of SMB hdr\) to data bytes */)10 1950(doff; /*)1 562 2 1497 2496 t (WORD smb)1 622 1 825 2616 t 10 S f (_)1447 2616 w 10 R f ( total bytes \(including pad bytes\) following */)7 1886(bcc; /*)1 562 2 1497 2616 t (BYTE smb)1 578 1 869 2736 t 10 S f (_)1447 2736 w 10 R f ( \(optional\) to pad to word or dword boundary */)9 1989(pad[]; /*)1 562 2 1497 2736 t (BYTE smb)1 578 1 869 2856 t 10 S f (_)1447 2856 w 10 R f ( data bytes \(* = value of smb)7 1213(data[*]; /*)1 562 2 1497 2856 t 10 S f (_)3272 2856 w 10 R f (dsize\) */)1 349 1 3322 2856 t ( \(smb)1 266(First Response Format \(ok send the remaining data\):)7 2157 2 720 3192 t 10 S f (_)3143 3192 w 10 R f (com = SMBwriteBraw\))2 960 1 3193 3192 t (BYTE smb)1 578 1 830 3372 t 10 S f (_)1408 3372 w 10 R f ( value = 1 */)4 532(wct; /*)1 661 2 1458 3372 t (WORD smb)1 622 1 786 3492 t 10 S f (_)1408 3492 w 10 R f ( bytes remaining to be read \(pipes/devices only\) */)8 2083(remaining; /*)1 661 2 1458 3492 t (WORD smb)1 622 1 786 3612 t 10 S f (_)1408 3612 w 10 R f ( value = 0 */)4 532(bcc; /*)1 661 2 1458 3612 t (Secondary Request is the send of the raw data bytes:)9 2171 1 720 3948 t ( \(smb)1 266(Final Response Format \(write through or error\):)6 1962 2 720 4224 t 10 S f (_)2948 4224 w 10 R f (com = SMBwriteC\))2 811 1 2998 4224 t (BYTE smb)1 578 1 830 4404 t 10 S f (_)1408 4404 w 10 R f ( value = 1 */)4 532(wct; /*)1 478 2 1458 4404 t (WORD smb)1 622 1 786 4524 t 10 S f (_)1408 4524 w 10 R f ( total number of bytes written */)6 1336(count; /*)1 478 2 1458 4524 t (WORD smb)1 622 1 786 4644 t 10 S f (_)1408 4644 w 10 R f ( value = 0 */)4 532(bcc; /*)1 478 2 1458 4644 t (Service:)720 4980 w ( of data)2 339(The Write Block Raw protocol is used to maximize the performance of writing a large block)15 3981 2 720 5136 t (from the consumer to the server.)5 1337 1 720 5256 t ( is not limited to\) \256les, Named Pipes, communica-)8 2091(The Write Block Raw command's scope includes \(but)7 2229 2 720 5496 t (tion devices, printer devices and spooled output \(can be used in place of)12 2971 1 720 5616 t 10 S1 f (")3724 5616 w 10 R f (Write Print File)2 644 1 3765 5616 t 10 S1 f (")4409 5616 w 10 R f (\).)4450 5616 w ( the \256rst response format will be that of the \256nal response \(SMBwriteC\) in the case where the)17 3940(Note that)1 380 2 720 5856 t ( the word parameter is)4 972( Thus)1 278(server gets an error while writeing the data sent along with the request.)12 3070 3 720 5976 t (smb)720 6096 w 10 S f (_)887 6096 w 10 R f ( an error occurs)3 655( If)1 135( an error is returned.)4 855(count \(the number of bytes which did get written\) any time)10 2458 4 937 6096 t ( has been sent allowing the consumer to send the remaining data, the \256nal)13 3232(AFTER the \256rst response)3 1088 2 720 6216 t ( the server should return this)5 1240( Rather)1 344( write through is set.)4 899(response should NOT be sent unless)5 1546 4 720 6336 t 10 S1 f (")4794 6336 w 10 R f (write)4835 6336 w (behind)720 6456 w 10 S1 f (")992 6456 w 10 R f (error on the next access to the \256le/pipe/device.)7 1913 1 1066 6456 t ( the consumer has guaranteed that there is \(and will be\) no other request on)14 3181(When this protocol is used,)4 1139 2 720 6696 t ( \(or reserve\) enough)3 850( server will allocate)3 832( The)1 229(the VC for the duration of the Write Block Raw request.)10 2409 4 720 6816 t ( consu-)1 300( The)1 222( with a response protocol message as de\256ned above.)8 2154(memory to receive the data and respond)6 1644 4 720 6936 t ( to 65,535 bytes of)4 815( the server is able to receive up)7 1364( Thus)1 276(mer will then send the raw data \(one send\).)8 1865 4 720 7056 t ( of data transferred is expected to be larger)8 1865( that the amount)3 704( Note)1 271(data directly into the server buffer.)5 1480 4 720 7176 t (than the negotiated buffer size for this protocol.)7 1958 1 720 7296 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 97 97 %%Page: 98 98 save mark 98 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 98 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t ( for the duration of the request is that if other)10 1907(The reason that no other requests can be active on the VC)11 2413 2 720 840 t ( data will be received into)5 1079(receives are present on the VC, there is normally no way to guarantee that the)14 3241 2 720 960 t ( if the consumer)3 679( Also)1 258( one \(or more\) of the other buffers.)7 1467(the large server buffer, rather the data may \256ll)8 1916 4 720 1080 t ( requests on the VC, a request may land in the buffer that the server has allocated for)17 3653(is sending other)2 667 2 720 1200 t (the Write Raw Data.)3 844 1 720 1320 t (Support of this protocol is optional.)5 1463 1 720 1560 t ( Write Block Raw is supported is returned in the response to negotiate and in the LAN-)16 3692(Whether or not)2 628 2 720 1800 t (MAN 1.0 extended)2 784 1 720 1920 t 10 S1 f (")1537 1920 w 10 R f (Query Server Information)2 1052 1 1578 1920 t 10 S1 f (")2630 1920 w 10 R f (protocol.)2704 1920 w (When write through is not speci\256ed \(smb)6 1732 1 720 2160 t 10 S f (_)2452 2160 w 10 R f ( this protocol is assumed to be a form of write)10 1977(wmode zero\),)1 561 2 2502 2160 t ( no)1 139( Thus)1 272( all secondary requests from the consumer.)6 1794( transport layer guarantees delivery of)5 1590(behind. The)1 525 5 720 2280 t 10 S1 f (")720 2400 w 10 R f (got the data you sent)4 871 1 761 2400 t 10 S1 f (")1632 2400 w 10 R f ( all bytes must be)4 748( an error should occur at the server end,)8 1669( If)1 135(protocol is needed.)2 779 4 1709 2400 t ( disk full, the next access)5 1044(received and thrown away. If an error occurs while writing data to disk such as)14 3276 2 720 2520 t ( return the fact that the error occurred.)7 1578( will)1 222(of the \256le handle \(another write, close, read, etc.\))8 2025 3 720 2640 t (If write through is speci\256ed \(smb)5 1384 1 720 2880 t 10 S f (_)2104 2880 w 10 R f ( the server will receive the data, write it to disk and then)12 2387(wmode set\),)1 499 2 2154 2880 t ( indicating the result of the write \(no error in smb)10 2075(send a \256nal response)3 862 2 720 3000 t 10 S f (_)3657 3000 w 10 R f (err indicates data is on disk ok\).)6 1333 1 3707 3000 t (The total number of bytes written is also returned in this response.)11 2735 1 720 3120 t (The \257ow for the Write Block Raw protocol is:)8 1912 1 720 3360 t (consumer)1080 3600 w 10 S1 f (\261\261\261\261\261\261 >)1 386 1 1511 3600 t 10 R f (WRITE BLOCK RAW request \(optional data\))5 1901 1 1934 3600 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261)1 536 2 3868 3600 t 10 R f (server)4437 3600 w (consumer)1080 3720 w 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261<)1 849(\261 <)1 61 2 1501 3720 t 10 R f (OK send \(more\) data)3 863 1 2444 3720 t 10 S1 f ( \261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 970(\261 <)1 61 2 3340 3720 t 10 R f (server)4437 3720 w (consumer)1080 3840 w 10 S1 f (\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261 >)1 1166 1 1508 3840 t 10 R f (raw data)1 348 1 2711 3840 t 10 S1 f ( >)1 -4(> \261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261\261)1 1312 2 3092 3840 t 10 R f (server)4437 3840 w (consumer)1080 3960 w 10 S1 f ( \261\261\261\261\261<)1 431(\261 <)1 61 2 1501 3960 t 10 R f (data on disk or error \(write through only\))7 1700 1 2026 3960 t 10 S1 f ( \261\261\261\261\261\261\261\261)1 584(\261 <)1 61 2 3759 3960 t 10 R f (server)4437 3960 w ( is an optimiza-)3 649( This)1 246( Raw request may also carry data.)6 1409(This protocol is set up such that the Write Block)9 2016 4 720 4236 t ( server's buffer size \(smb)4 1065(tion in that up to the)5 879 2 720 4356 t 10 S f (_)2664 4356 w 10 R f (maxxmt from negotiate response\), minus the size of the)8 2326 1 2714 4356 t ( busy and)2 413( if the server is)4 649( Thus)1 272(Write Block Raw protocol request, may be sent along with the request.)11 2986 4 720 4476 t ( remaining data, the data sent along with the request has been)11 2638(unable to support the Raw Write of the)7 1682 2 720 4596 t ( Server will write any data sent in the Write Block Raw)11 2469( The)1 236(delivered and need not be sent again.)6 1615 3 720 4716 t ( to be on the disk or device if write through is set\), prior to sending the)16 3078(request \(and wait for it)4 977 2 720 4836 t 10 S1 f (")4816 4836 w 10 R f (send)4857 4836 w (raw data)1 348 1 720 4956 t 10 S1 f (")1068 4956 w 10 R f (or)1142 4956 w 10 S1 f (")1258 4956 w 10 R f (no resource)1 470 1 1299 4956 t 10 S1 f (")1769 4956 w 10 R f (response.)1843 4956 w ( ERRSRV, error codes ERRusempx and ERRusestd, indicate that the)9 2921(The speci\256c responses error class)4 1399 2 720 5196 t (server is temporarily out of large buffers needed to support the Raw Write of the remaining data, but)17 4320 1 720 5316 t ( consumer should then write)4 1172( The)1 223( been successfully written.)3 1089(that any data sent along with the request has)8 1836 4 720 5436 t ( ERRusempx was returned\) or the standard)6 1797(the remaining data using Write Block Multiplexed \(if)7 2232 2 720 5556 t 10 S1 f (")4787 5556 w 10 R f (core)4828 5556 w 10 S1 f (")4999 5556 w 10 R f ( a)1 84( If)1 139( Block Raw request.)3 855(write request \(if ERRusestd was returned\), or delay and retry using the Write)12 3242 4 720 5676 t ( writing the initial data, it will be returned and the Write Raw request is implicitly)15 3570(write error occurs)2 750 2 720 5796 t (denied.)720 5916 w ( make up the complete protocol, thus the TID,)8 1970(Note that the primary request through the \256nal response)8 2350 2 720 6192 t ( can be used by the consumer to route the indi-)10 1979(PID, UID and MID are expected to remain constant and)9 2341 2 720 6312 t (vidual messages of the protocol to the correct process.)8 2229 1 720 6432 t ( smb)1 215(The return \256eld)2 665 2 720 6672 t 10 S f (_)1600 6672 w 10 R f ( is used to return the)5 928( It)1 142(remaining is to be returned for pipes or devices only.)9 2320 3 1650 6672 t ( be used by the con-)5 846(number of bytes currently available in the pipe or device. This information can then)13 3474 2 720 6792 t ( may return some data.)4 1004(sumer to know when a subsequent \(non blocking\) read of the pipe or device)13 3316 2 720 6912 t ( the read request is actually received by the server there may be more or less actual)16 3595(Note - that when)3 725 2 720 7032 t ( pipe / device or another reader drained it\).)8 1799(data in the pipe or device \(more data has been written to the)12 2521 2 720 7152 t ( the request is NOT for a pipe or device \(or the server)12 2354(If the information is currently not available or)7 1966 2 720 7272 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 98 98 %%Page: 99 99 save mark 99 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1703( 99 -)2 199( -)1 1021(SMB Protocol Extensions)2 1056 5 720 520 t (does not support this feature\), a -1 value should be returned.)10 2481 1 720 840 t (Write Block Raw may generate the following errors.)7 2157 1 720 1116 t (Error Class ERRDOS)2 888 1 1080 1296 t (ERRbad\256d)1146 1536 w (ERRnoaccess)1146 1656 w (ERRlock)1146 1776 w (ERRbad\256letype)1146 1896 w (ERRbadaccess)1146 2016 w 10 S1 f (<)1146 2136 w 10 R f (implementation speci\256c)1 966 1 1202 2136 t 10 S1 f (>)2168 2136 w 10 R f (Error Class ERRSRV)2 883 1 1080 2376 t (ERRerror)1146 2616 w (ERRinvnid)1146 2736 w (ERRnoresource)1146 2856 w (ERRtimeout)1146 2976 w (ERRusempx)1146 3096 w (ERRusestd)1146 3216 w 10 S1 f (<)1146 3336 w 10 R f (implementation speci\256c)1 966 1 1202 3336 t 10 S1 f (>)2168 3336 w 10 R f (Error Class ERRHRD)2 899 1 1080 3576 t 10 S1 f (<)1146 3816 w 10 R f (implementation speci\256c)1 966 1 1202 3816 t 10 S1 f (>)2168 3816 w 10 R f ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 99 99 %%Page: 100 100 save mark 100 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1678( 100 -)2 249( -)1 996(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( DEFINITIONS)1 695(10. DATA)1 474 2 720 840 t ( CODES)1 378(10.1. COMMAND)1 820 2 720 1080 t 10 R f (The command codes are unchanged for commands that are common with the Core File Sharing Protocol.)15 4319 1 720 1236 t (The following values have been assigned for the)7 1988 1 720 1476 t 10 S1 f (")2741 1476 w 10 R f (core)2782 1476 w 10 S1 f (")2953 1476 w 10 R f (protocol commands.)1 824 1 3027 1476 t 10 S1 f (#)720 1656 w 10 R f ( create directory */)3 774( /*)1 250( 0x00)1 487(de\256ne SMBmkdir)1 728 4 770 1656 t 10 S1 f (#)720 1776 w 10 R f ( delete directory */)3 775( /*)1 250( 0x01)1 504(de\256ne SMBrmdir)1 711 4 770 1776 t 10 S1 f (#)720 1896 w 10 R f ( open \256le */)3 499( /*)1 250( 0x02)1 532(de\256ne SMBopen)1 683 4 770 1896 t 10 S1 f (#)720 2016 w 10 R f ( create \256le */)3 542( /*)1 250( 0x03)1 489(de\256ne SMBcreate)1 726 4 770 2016 t 10 S1 f (#)720 2136 w 10 R f ( close \256le */)3 510( /*)1 250( 0x04)1 521(de\256ne SMBclose)1 694 4 770 2136 t 10 S1 f (#)720 2256 w 10 R f ( \257ush \256le */)3 500( /*)1 250( 0x05)1 531(de\256ne SMB\257ush)1 684 4 770 2256 t 10 S1 f (#)720 2376 w 10 R f ( delete \256le */)3 543( /*)1 250( 0x06)1 470(de\256ne SMBunlink)1 745 4 770 2376 t 10 S1 f (#)720 2496 w 10 R f ( rename \256le */)3 598( /*)1 250( 0x07)1 598(de\256ne SMBmv)1 617 4 770 2496 t 10 S1 f (#)720 2616 w 10 R f ( get \256le attributes */)4 832( /*)1 250( 0x08)1 499(de\256ne SMBgetatr)1 716 4 770 2616 t 10 S1 f (#)720 2736 w 10 R f ( set \256le attributes */)4 821( /*)1 250( 0x09)1 510(de\256ne SMBsetatr)1 705 4 770 2736 t 10 S1 f (#)720 2856 w 10 R f ( read from \256le */)4 703( /*)1 228( 0x0A)1 577(de\256ne SMBread)1 660 4 770 2856 t 10 S1 f (#)720 2976 w 10 R f ( write to \256le */)4 621( /*)1 233( 0x0B)1 538(de\256ne SMBwrite)1 694 4 770 2976 t 10 S1 f (#)720 3096 w 10 R f ( lock byte range */)4 775( /*)1 233( 0x0C)1 571(de\256ne SMBlock)1 661 4 770 3096 t 10 S1 f (#)720 3216 w 10 R f ( unlock byte range */)4 875( /*)1 228( 0x0D)1 476(de\256ne SMBunlock)1 761 4 770 3216 t 10 S1 f (#)720 3336 w 10 R f ( create temporary \256le */)4 985( /*)1 239( 0x0E)1 493(de\256ne SMBctemp)1 733 4 770 3336 t 10 S1 f (#)720 3456 w 10 R f ( make new \256le */)4 720( /*)1 244( 0x0F)1 438(de\256ne SMBmknew)1 783 4 770 3456 t 10 S1 f (#)720 3576 w 10 R f ( check directory path */)4 974( /*)1 250( 0x10)1 454(de\256ne SMBchkpth)1 761 4 770 3576 t 10 S1 f (#)720 3696 w 10 R f ( process exit */)3 626( /*)1 250( 0x11)1 576(de\256ne SMBexit)1 639 4 770 3696 t 10 S1 f (#)720 3816 w 10 R f ( seek */)2 321( /*)1 250( 0x12)1 521(de\256ne SMBlseek)1 694 4 770 3816 t 10 S1 f (#)720 3936 w 10 R f ( tree connect */)3 636( /*)1 250( 0x70)1 554(de\256ne SMBtcon)1 661 4 770 3936 t 10 S1 f (#)720 4056 w 10 R f ( tree disconnect */)3 753( /*)1 250( 0x71)1 581(de\256ne SMBtdis)1 634 4 770 4056 t 10 S1 f (#)720 4176 w 10 R f ( negotiate protocol */)3 876( /*)1 250( 0x72)1 421(de\256ne SMBnegprot)1 794 4 770 4176 t 10 S1 f (#)720 4296 w 10 R f ( get disk attributes */)4 871( /*)1 250( 0x80)1 454(de\256ne SMBdskattr)1 761 4 770 4296 t 10 S1 f (#)720 4416 w 10 R f ( search directory */)3 791( /*)1 250( 0x81)1 472(de\256ne SMBsearch)1 743 4 770 4416 t 10 S1 f (#)720 4536 w 10 R f ( open print spool \256le */)5 971( /*)1 233( 0xC0)1 432(de\256ne SMBsplopen)1 800 4 770 4536 t 10 S1 f (#)720 4656 w 10 R f ( write to print spool \256le */)6 1093( /*)1 233( 0xC1)1 521(de\256ne SMBsplwr)1 711 4 770 4656 t 10 S1 f (#)720 4776 w 10 R f ( close print spool \256le */)5 982( /*)1 233( 0xC2)1 421(de\256ne SMBsplclose)1 811 4 770 4776 t 10 S1 f (#)720 4896 w 10 R f ( return print queue */)4 875( /*)1 233( 0xC3)1 471(de\256ne SMBsplretq)1 761 4 770 4896 t 10 S1 f (#)720 5016 w 10 R f ( send single block message */)5 1225( /*)1 228( 0xD0)1 526(de\256ne SMBsends)1 711 4 770 5016 t 10 S1 f (#)720 5136 w 10 R f ( send broadcast message */)4 1113( /*)1 228( 0xD1)1 515(de\256ne SMBsendb)1 722 4 770 5136 t 10 S1 f (#)720 5256 w 10 R f ( forward user name */)4 907( /*)1 228( 0xD2)1 377(de\256ne SMBfwdname)1 860 4 770 5256 t 10 S1 f (#)720 5376 w 10 R f ( cancel forward */)3 746( /*)1 228( 0xD3)1 461(de\256ne SMBcancelf)1 776 4 770 5376 t 10 S1 f (#)720 5496 w 10 R f ( get machine name */)4 886( /*)1 228( 0xD4)1 460(de\256ne SMBgetmac)1 777 4 770 5496 t 10 S1 f (#)720 5616 w 10 R f ( send start of multi-block message */)6 1519( /*)1 228( 0xD5)1 437(de\256ne SMBsendstrt)1 800 4 770 5616 t 10 S1 f (#)720 5736 w 10 R f ( send end of multi-block message */)6 1491( /*)1 228( 0xD6)1 421(de\256ne SMBsendend)1 816 4 770 5736 t 10 S1 f (#)720 5856 w 10 R f ( send text of multi-block message */)6 1497( /*)1 228( 0xD7)1 459(de\256ne SMBsendtxt)1 778 4 770 5856 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 100 100 %%Page: 101 101 save mark 101 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1678( 101 -)2 249( -)1 996(SMB Protocol Extensions)2 1056 5 720 520 t ( Sharing Protocol have the following com-)6 1824(The commands added by the LANMAN 1.0 Extended File)8 2496 2 720 840 t (mand codes:)1 510 1 720 960 t 10 S1 f (#)720 1140 w 10 R f ( lock then read data */)5 924( /*)1 250( 0x13)1 489(de\256ne SMBlockread)1 832 4 770 1140 t 10 S1 f (#)720 1260 w 10 R f ( write then unlock data */)5 1058( /*)1 250( 0x14)1 355(de\256ne SMBwriteunlock)1 966 4 770 1260 t 10 S1 f (#)720 1380 w 10 R f ( read block raw */)4 752( /*)1 228( 0x1A)1 467(de\256ne SMBreadBraw)1 876 4 770 1380 t 10 S1 f (#)720 1500 w 10 R f ( read block multiplexed */)4 1081( /*)1 233( 0x1B)1 433(de\256ne SMBreadBmpx)1 905 4 770 1500 t 10 S1 f (#)720 1620 w 10 R f ( read block \(secondary response\) */)5 1455( /*)1 233( 0x1C)1 572(de\256ne SMBreadBs)1 766 4 770 1620 t 10 S1 f (#)720 1740 w 10 R f ( write block raw */)4 786( /*)1 228( 0x1D)1 433(de\256ne SMBwriteBraw)1 910 4 770 1740 t 10 S1 f (#)720 1860 w 10 R f ( write block multiplexed */)4 1115( /*)1 239( 0x1E)1 393(de\256ne SMBwriteBmpx)1 939 4 770 1860 t 10 S1 f (#)720 1980 w 10 R f ( write block \(secondary request\) */)5 1428( /*)1 244( 0x1F)1 527(de\256ne SMBwriteBs)1 800 4 770 1980 t 10 S1 f (#)720 2100 w 10 R f ( write complete response */)4 1130( /*)1 250( 0x20)1 560(de\256ne SMBwriteC)1 761 4 770 2100 t 10 S1 f (#)720 2220 w 10 R f ( set \256le attributes expanded */)5 1236( /*)1 250( 0x22)1 527(de\256ne SMBsetattrE)1 794 4 770 2220 t 10 S1 f (#)720 2340 w 10 R f ( get \256le attributes expanded */)5 1247( /*)1 250( 0x23)1 516(de\256ne SMBgetattrE)1 805 4 770 2340 t 10 S1 f (#)720 2460 w 10 R f ( lock/unlock byte ranges and X */)6 1396( /*)1 250( 0x24)1 460(de\256ne SMBlockingX)1 861 4 770 2460 t 10 S1 f (#)720 2580 w 10 R f ( transaction - name, bytes in/out */)6 1433( /*)1 250( 0x25)1 638(de\256ne SMBtrans)1 683 4 770 2580 t 10 S1 f (#)720 2700 w 10 R f ( transaction \(secondary request/response\) */)4 1783( /*)1 250( 0x26)1 599(de\256ne SMBtranss)1 722 4 770 2700 t 10 S1 f (#)720 2820 w 10 R f ( IOCTL */)2 438( /*)1 250( 0x27)1 654(de\256ne SMBioctl)1 667 4 770 2820 t 10 S1 f (#)720 2940 w 10 R f ( request/response\) */)2 842( \(secondary)1 503( IOCTL)1 327( /*)1 250( 0x28)1 615(de\256ne SMBioctls)1 706 6 770 2940 t 10 S1 f (#)720 3060 w 10 R f ( copy */)2 338( /*)1 250( 0x29)1 638(de\256ne SMBcopy)1 683 4 770 3060 t 10 S1 f (#)720 3180 w 10 R f ( move */)2 366( /*)1 228( 0x2A)1 632(de\256ne SMBmove)1 711 4 770 3180 t 10 S1 f (#)720 3300 w 10 R f ( echo */)2 332( /*)1 233( 0x2B)1 661(de\256ne SMBecho)1 677 4 770 3300 t 10 S1 f (#)720 3420 w 10 R f ( Write and Close */)4 809( /*)1 233( 0x2C)1 439(de\256ne SMBwriteclose)1 899 4 770 3420 t 10 S1 f (#)720 3540 w 10 R f ( open and X */)4 620( /*)1 228( 0x2D)1 588(de\256ne SMBopenX)1 755 4 770 3540 t 10 S1 f (#)720 3660 w 10 R f ( read and X */)4 597( /*)1 239( 0x2E)1 600(de\256ne SMBreadX)1 732 4 770 3660 t 10 S1 f (#)720 3780 w 10 R f ( write and X */)4 631( /*)1 244( 0x2F)1 561(de\256ne SMBwriteX)1 766 4 770 3780 t 10 S1 f (#)720 3900 w 10 R f ( Session Set Up & X \(including User Logon\) */)9 1974( /*)1 250( 0x73)1 460(de\256ne SMBsesssetup)1 861 4 770 3900 t 10 S1 f (#)720 4020 w 10 R f ( tree connect and X */)5 918( /*)1 250( 0x75)1 588(de\256ne SMBtconX)1 733 4 770 4020 t 10 S1 f (#)720 4140 w 10 R f ( \256nd \256rst */)3 489( /*)1 250( 0x82)1 643(de\256ne SMBf\256rst)1 678 4 770 4140 t 10 S1 f (#)720 4260 w 10 R f ( \256nd unique */)3 605( /*)1 250( 0x83)1 527(de\256ne SMBfunique)1 794 4 770 4260 t 10 S1 f (#)720 4380 w 10 R f ( \256nd close */)3 538( /*)1 250( 0x84)1 594(de\256ne SMBfclose)1 727 4 770 4380 t 10 S1 f (#)720 4500 w 10 R f ( invalid command */)3 849( /*)1 233( 0xFE)1 571(de\256ne SMBinvalid)1 767 4 770 4500 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 101 101 %%Page: 102 102 save mark 102 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1678( 102 -)2 249( -)1 996(SMB Protocol Extensions)2 1056 5 720 520 t 10 B f ( CLASSES AND CODES)3 1106(10.2. ERROR)1 627 2 720 840 t 10 R f ( classes and codes generated by the Core File)8 1967(The error class and code lists in the section include all)10 2353 2 720 996 t ( These)1 304( of error conditions.)3 817(Sharing Protocol. Errors listed here are intended to provide a \256ner granularity)11 3199 3 720 1116 t (lists are not complete.)3 901 1 720 1236 t (The following error classes may be returned by the protocol elements de\256ned in this document.)14 3920 1 720 1476 t ( request was successful.)3 977( The)1 305(SUCCESS 0)1 835 3 720 1656 t ( is from the core DOS operating system set.)8 1809( Error)1 360(ERRDOS 0x01)1 835 3 720 1776 t ( is generated by the server network \256le manager.)8 2006( Error)1 360(ERRSRV 0x02)1 835 3 720 1896 t ( is an hardware error.)4 881( Error)1 360(ERRHRD 0x03)1 835 3 720 2016 t ( for XENIX.)2 517( Reserved)1 521(ERRXOS 0x04)1 835 3 720 2136 t ( for iRMX)2 438( Reserved)1 521(ERRRMX1 0xE1)1 835 3 720 2256 t ( for iRMX)2 438( Reserved)1 521(ERRRMX2 0xE2)1 835 3 720 2376 t ( for iRMX)2 438( Reserved)1 521(ERRRMX3 0xE3)1 835 3 720 2496 t ( was not in the)4 615( Command)1 567(ERRCMD 0xFF)1 835 3 720 2616 t 10 S1 f (")2770 2616 w 10 R f (SMB)2811 2616 w 10 S1 f (")3023 2616 w 10 R f (format.)3097 2616 w (The following error codes may be generated with the SUCCESS error class.)11 3127 1 720 2832 t ( request was successful.)3 977(SUCCESS 0 The)2 940 2 720 3012 t ( XENIX errors)2 666( The)1 250( codes may be generated with the ERRDOS error class.)9 2545(The following error)2 859 4 720 3228 t ( - When the)3 540( NOTE)1 348( of these errors are noted at the end of the error description.)12 2656(equivalent to each)2 776 4 720 3348 t ( \(LANMAN 1.0\) has been negotiated, all of the error codes below may be generated)14 3587(extended protocol)1 733 2 720 3468 t ( OS/2 operating system documentation for com-)6 2022(plus any of the new error codes de\256ned for OS/2 \(see)10 2298 2 720 3588 t ( only)1 222( When)1 315(plete list of OS/2 error codes\).)5 1304 3 720 3708 t 10 S1 f (")2605 3708 w 10 R f (core)2646 3708 w 10 S1 f (")2817 3708 w 10 R f ( server must map)3 745(protocol has been negotiated, the)4 1393 2 2902 3708 t (additional OS/2 \(or OS/2 like\) errors to the errors listed below.)10 2591 1 720 3828 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 102 102 %%Page: 103 103 save mark 103 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1678( 103 -)2 249( -)1 996(SMB Protocol Extensions)2 1056 5 720 520 t (The following error codes may be generated with the ERRDOS error class.)11 3087 1 720 840 t ( not recognize or could not perform a)7 1586( server OS did)3 613( The)1 226( function.)1 396( Invalid)1 433(ERRbadfunc 1)1 1027 6 720 1020 t ( by the server, e.g., set the DIRECTORY attribute on)9 2221(system call generated)2 883 2 1897 1140 t (a data \256le, invalid seek mode. [EINVAL])6 1700 1 1897 1260 t ( component of a \256le's pathname could not be)8 2027( last)1 191( The)1 240( not found.)2 490( File)1 306(ERRbad\256le 2)1 1027 6 720 1380 t (found. [ENOENT])1 789 1 1897 1500 t ( in a pathname could not be)6 1290( directory component)2 914( A)1 160( invalid.)1 358( Directory)1 532(ERRbadpath 3)1 1027 6 720 1620 t (found. [ENOENT])1 789 1 1897 1740 t ( \256le handles \(FIDs\) available.)4 1300( server has no)3 635( The)1 241( many open \256les.)3 767( Too)1 311(ERRno\256ds 4)1 1027 6 720 1860 t ([EMFILE])1897 1980 w ( requested func-)2 672( denied, the requester's context does not permit the)8 2150( Access)1 432(ERRnoaccess 5)1 1027 4 720 2100 t ( [EPERM])1 466( includes the following conditions.)4 1418(tion. This)1 425 3 1897 2220 t (invalid rename command)2 1031 1 2029 2400 t (write to \256d open for read only)6 1246 1 2029 2520 t (read on \256d open for write only)6 1268 1 2029 2640 t (Attempt to delete a non-empty directory)5 1646 1 2029 2760 t ( speci\256ed was not recognized by the)6 1585( \256le handle)2 488( The)1 235( \256le handle.)2 513( Invalid)1 433(ERRbad\256d 6)1 1027 6 720 2940 t (server. [EBADF])1 728 1 1897 3060 t ( [EREMOTEIO])1 709( control blocks destroyed.)3 1056( Memory)1 494(ERRbadmcb 7)1 1027 4 720 3180 t ( [ENOMEM])1 576( server memory to perform the requested function.)7 2068( Insuf\256cient)1 605(ERRnomem 8)1 1027 4 720 3300 t ( [EFAULT])1 515( memory block address.)3 978( Invalid)1 433(ERRbadmem 9)1 1027 4 720 3420 t ( [EREMOTEIO])1 709( environment.)1 563( Invalid)1 433(ERRbadenv 10)1 1027 4 720 3540 t ( [EREMOTEIO])1 709( format.)1 324( Invalid)1 433(ERRbadformat 11)1 1027 4 720 3660 t ( open mode.)2 507( Invalid)1 433(ERRbadaccess 12)1 1027 3 720 3780 t ( [E2BIG])1 415( data \(generated only by IOCTL calls within the server\).)9 2317( Invalid)1 433(ERRbaddata 13)1 1027 4 720 3900 t ( reserved)1 487(ERR 14)1 1027 2 720 4020 t ( [ENXIO])1 442( drive speci\256ed.)2 651( Invalid)1 433(ERRbaddrive 15)1 1027 4 720 4140 t ( Delete Directory request attempted to remove the server's current direc-)10 3032( A)1 222(ERRremcd 16)1 1027 3 720 4260 t (tory. [EREMOTEIO])1 895 1 1897 4380 t ( [EXDEV])1 470( same device \(e.g., a cross volume rename was attempted\))9 2388( Not)1 300(ERRdiffdevice 17)1 1027 4 720 4500 t ( speci\256ed cri-)2 571( File Search command can \256nd no more \256les matching the)10 2461( A)1 222(ERRno\256les 18)1 1027 4 720 4620 t (teria.)1897 4740 w ( sharing mode speci\256ed for an Open con\257icts with existing FIDs on the)12 2949( The)1 305(ERRbadshare 32)1 1027 3 720 4860 t (\256le. [ETXTBSY])1 735 1 1897 4980 t ( an invalid)2 478( Lock request con\257icted with an existing lock or speci\256ed)9 2554( A)1 222(ERRlock 33)1 1027 4 720 5100 t ( Unlock requested attempted to remove a lock held by another)10 2604(mode, or an)2 500 2 1897 5220 t (process. [EDEADLOCK])1 1066 1 1897 5340 t ( named in a Create Directory, Make New File or Link request)11 2769( \256le)1 180( The)1 305(ERR\256lexists 80)1 1027 4 720 5460 t ( Create and Rename)3 845(already exists. The error may also be generated in the)9 2259 2 1897 5580 t (transaction. [EEXIST])1 939 1 1897 5700 t ( invalid.)1 336( Pipe)1 328(ERRbadpipe 230)1 1027 3 720 5940 t ( instances of the requested pipe are busy.)7 1691( All)1 278(ERRpipebusy 231)1 1027 3 720 6060 t ( close in progress.)3 745( Pipe)1 328(ERRpipeclosing 232)1 1027 3 720 6180 t ( process on other end of pipe.)6 1226(ERRnotconnected 233 No)2 1299 2 720 6300 t ( is more data to be returned.)6 1165( There)1 382(ERRmoredata 234)1 1027 3 720 6420 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 103 103 %%Page: 104 104 save mark 104 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1678( 104 -)2 249( -)1 996(SMB Protocol Extensions)2 1056 5 720 520 t (The following error codes may be generated with the ERRSRV error class.)11 3082 1 720 840 t ( is returned under the following conditions:)6 1780( It)1 127( error code.)2 472( Non-speci\256c)1 660(ERRerror 1)1 1186 5 720 1020 t (resource other than disk space exhausted \(e.g. TIDs\))7 2147 1 2188 1200 t (\256rst command on VC was not negotiate)6 1636 1 2188 1320 t (multiple negotiates attempted)2 1199 1 2188 1440 t (internal server error [ENFILE])3 1250 1 2188 1560 t ( Session)1 359( password - name/password pair in a Tree Connect or)9 2374( Bad)1 311(ERRbadpw 2)1 1186 4 720 1740 t (Setup are invalid.)2 718 1 2056 1860 t ( reserved)1 487(ERRbadtype 3)1 1186 2 720 1980 t ( the necessary access rights within the)6 1675( requester does not have)4 1064( The)1 305(ERRaccess 4)1 1186 4 720 2100 t ( is de\256ned by)3 566(speci\256ed context for the requested function. The context)7 2328 2 2056 2220 t ( [EACCES])1 516(the TID or the UID.)4 827 2 2056 2340 t ( tree ID \(TID\) speci\256ed in a command was invalid.)9 2112( The)1 305(ERRinvnid 5)1 1186 3 720 2460 t ( network name in tree connect.)5 1270( Invalid)1 433(ERRinvnetname 6)1 1186 3 720 2580 t ( made to non-printer connection or)5 1544( device - printer request)4 1067( Invalid)1 433(ERRinvdevice 7)1 1186 4 720 2700 t (non-printer request made to printer connection.)5 1925 1 2056 2820 t ( queue full \(\256les\) -- returned by open print \256le.)9 1941( Print)1 345(ERRqfull 49)1 1186 3 720 2940 t ( queue full -- no space.)5 954( Print)1 345(ERRqtoobig 50)1 1186 3 720 3060 t ( on print queue dump.)4 912( EOF)1 339(ERRqeof 51)1 1186 3 720 3180 t ( print \256le FID.)3 602( Invalid)1 433(ERRinvp\256d 52)1 1186 3 720 3300 t ( server did not recognize the command received.)7 1995( The)1 305(ERRsmbcmd 64)1 1186 3 720 3420 t ( server encountered an internal error, e.g., system \256le unavailable.)9 2704( The)1 305(ERRsrverror 65)1 1186 3 720 3540 t ( an invalid)2 460( \256le handle \(FID\) and pathname parameters contained)7 2279( The)1 305(ERR\256lespecs 67)1 1186 4 720 3660 t (combination of values.)2 929 1 2056 3780 t ( reserved.)1 512(ERRreserved 68)1 1186 2 720 3900 t ( a \256le or directory are not a valid)8 1396( access permissions speci\256ed for)4 1343( The)1 305(ERRbadpermits 69)1 1186 4 720 4020 t ( server cannot set the requested attribute.)6 1680(combination. The)1 746 2 2056 4140 t ( reserved.)1 512(ERRreserved 70)1 1186 2 720 4260 t ( attribute mode in the Set File Attribute request is invalid.)10 2388( The)1 305(ERRsetattrmode 71)1 1186 3 720 4380 t ( is paused. \(reserved for messaging\))5 1475( Server)1 410(ERRpaused 81)1 1186 3 720 4500 t ( receiving messages. \(reserved for messaging\).)5 1904( Not)1 300(ERRmsgoff 82)1 1186 3 720 4620 t ( room to buffer message. \(reserved for messaging\).)7 2092( No)1 272(ERRnoroom 83)1 1186 3 720 4740 t ( many remote user names. \(reserved for messaging\).)7 2142( Too)1 311(ERRrmuns 87)1 1186 3 720 4860 t ( timed out.)2 447( Operation)1 549(ERRtimeout 88)1 1186 3 720 4980 t ( resources currently available for request.)5 1690( No)1 272(ERRnoresource 89)1 1186 3 720 5100 t ( many UIDs active on this session.)6 1433( Too)1 311(ERRtoomanyuids 90)1 1186 3 720 5220 t ( UID is not known as a valid ID on this session.)11 1998( The)1 305(ERRbaduid 91)1 1186 3 720 5340 t ( unable to support Raw, use MPX mode.)7 1680( Temp)1 383(ERRusempx 250)1 1186 3 720 5580 t ( unable to support Raw, use standard read/write.)7 1983( Temp)1 383(ERRusestd 251)1 1186 3 720 5700 t ( in MPX mode.)3 641( Continue)1 517(ERRcontmpx 252)1 1186 3 720 5820 t ( reserved.)1 512(ERRreserved 253)1 1186 2 720 5940 t ( reserved.)1 512(ERRreserved 254)1 1186 2 720 6060 t ( not supported.)2 613( Function)1 506(ERRnosupport 0xFFFF)1 1186 3 720 6300 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t cleartomark showpage restore %%EndPage: 104 104 %%Page: 105 105 save mark 105 pagesetup 10 R f (-- --)1 5472 1 0 40 t ( 7, 1988)2 341( November)1 1678( 105 -)2 249( -)1 996(SMB Protocol Extensions)2 1056 5 720 520 t ( errors)1 294( XENIX)1 371( The)1 249(The following error codes may be generated with the ERRHRD error class.)11 3406 4 720 840 t (equivalent to each of these errors are noted at the end of the error description.)14 3206 1 720 960 t ( [EROFS])1 444( to write on write-protected diskette.)5 1493( Attempt)1 478(ERRnowrite 19)1 951 4 720 1140 t ( [ENODEV])1 542( unit.)1 214( Unknown)1 544(ERRbadunit 20)1 951 4 720 1260 t ( [EUCLEAN])1 598( not ready.)2 440( Drive)1 377(ERRnotready 21)1 951 4 720 1380 t ( command.)1 452( Unknown)1 544(ERRbadcmd 22)1 951 3 720 1500 t ( [EIO])1 298( error \(CRC\).)2 551( Data)1 338(ERRdata 23)1 951 4 720 1620 t ( [ERANGE])1 537( request structure length.)3 1011( Bad)1 311(ERRbadreq 24)1 951 4 720 1740 t ( error.)1 251( Seek)1 344(ERRseek 25)1 951 3 720 1860 t ( media type.)2 507( Unknown)1 544(ERRbadmedia 26)1 951 3 720 1980 t ( not found.)2 452( Sector)1 405(ERRbadsector 27)1 951 3 720 2100 t ( out of paper.)3 556( Printer)1 422(ERRnopaper 28)1 951 3 720 2220 t ( fault.)1 241( Write)1 377(ERRwrite 29)1 951 3 720 2340 t ( fault.)1 241( Read)1 355(ERRread 30)1 951 3 720 2460 t ( failure.)1 318( General)1 465(ERRgeneral 31)1 951 3 720 2580 t ( open con\257icts with an existing open. [ETXTBSY])7 2088( A)1 222(ERRbadshare 32)1 951 3 720 2700 t ( con\257icted with an existing lock or)6 1586( Lock request)2 607( A)1 222(ERRlock 33)1 951 4 720 2820 t ( an Unlock requested)3 956(speci\256ed an invalid mode, or)4 1309 2 1821 2940 t ( remove a lock held by another process.)7 1746(attempted to)1 519 2 1821 3060 t ([EDEADLOCK])1821 3180 w ( wrong disk was found in a drive.)7 1393( The)1 305(ERRwrongdisk 34)1 951 3 720 3300 t ( FCBs are available to process request.)6 1598(ERRFCBUnavail 35 No)2 1223 2 720 3420 t ( sharing buffer has been exceeded.)5 1418( A)1 222(ERRsharebufexc 36)1 951 3 720 3540 t ( Networks)1 421( Microsoft)1 2034(Copyright Microsoft Corporation, 1987, 1988)4 1865 3 720 7680 t (-- --)1 5472 1 0 7950 t cleartomark showpage restore %%EndPage: 105 105 %%Trailer done %%DocumentFonts: Times-Roman Times-Bold Times-Italic Symbol %%Pages: 105