head 1.1; access; symbols XDS_0_9_3:1.1 XDS_0_9_2:1.1 XDS_0_9_1:1.1 XDS_0_9_0:1.1 last-version-in-peti-style:1.1; locks; strict; comment @# @; 1.1 date 2001.08.07.13.12.54; author simons; state Exp; branches; next ; desc @@ 1.1 log @Nice diagramm illustrating the xds_setbuffer() function. @ text @%!PS-Adobe-2.0 EPSF-2.0 %%Title: /home/simons/projects/srpc/libxds/docs/setbuffer-logic.dia %%Creator: Dia v0.88.1 %%CreationDate: Tue Aug 7 15:09:04 2001 %%For: simons %%Magnification: 1.0000 %%Orientation: Portrait %%BoundingBox: 0 0 1395 829 %%Pages: 1 %%BeginSetup %%EndSetup %%EndComments %%BeginProlog [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] /isolatin1encoding exch def /Times-Roman-latin1 /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Times-Italic-latin1 /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Times-Bold-latin1 /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Times-BoldItalic-latin1 /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /AvantGarde-Book-latin1 /AvantGarde-Book findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /AvantGarde-BookOblique-latin1 /AvantGarde-BookOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /AvantGarde-Demi-latin1 /AvantGarde-Demi findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /AvantGarde-DemiOblique-latin1 /AvantGarde-DemiOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Bookman-Light-latin1 /Bookman-Light findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Bookman-LightItalic-latin1 /Bookman-LightItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Bookman-Demi-latin1 /Bookman-Demi findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Bookman-DemiItalic-latin1 /Bookman-DemiItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Courier-latin1 /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Courier-Oblique-latin1 /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Courier-Bold-latin1 /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Courier-BoldOblique-latin1 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-latin1 /Helvetica findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-Oblique-latin1 /Helvetica-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-Bold-latin1 /Helvetica-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-BoldOblique-latin1 /Helvetica-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-Narrow-latin1 /Helvetica-Narrow findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-Narrow-Oblique-latin1 /Helvetica-Narrow-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-Narrow-Bold-latin1 /Helvetica-Narrow-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Helvetica-Narrow-BoldOblique-latin1 /Helvetica-Narrow-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /NewCenturySchoolbook-Roman-latin1 /NewCenturySchoolbook-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /NewCenturySchoolbook-Italic-latin1 /NewCenturySchoolbook-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /NewCenturySchoolbook-Bold-latin1 /NewCenturySchoolbook-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /NewCenturySchoolbook-BoldItalic-latin1 /NewCenturySchoolbook-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Palatino-Roman-latin1 /Palatino-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Palatino-Italic-latin1 /Palatino-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Palatino-Bold-latin1 /Palatino-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Palatino-BoldItalic-latin1 /Palatino-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /Symbol-latin1 /Symbol findfont definefont pop /ZapfChancery-MediumItalic-latin1 /ZapfChancery-MediumItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /ZapfDingbats-latin1 /ZapfDingbats findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse} forall /Encoding isolatin1encoding def currentdict end definefont pop /cp {closepath} bind def /c {curveto} bind def /f {fill} bind def /a {arc} bind def /ef {eofill} bind def /ex {exch} bind def /gr {grestore} bind def /gs {gsave} bind def /sa {save} bind def /rs {restore} bind def /l {lineto} bind def /m {moveto} bind def /rm {rmoveto} bind def /n {newpath} bind def /s {stroke} bind def /sh {show} bind def /slc {setlinecap} bind def /slj {setlinejoin} bind def /slw {setlinewidth} bind def /srgb {setrgbcolor} bind def /rot {rotate} bind def /sc {scale} bind def /sd {setdash} bind def /ff {findfont} bind def /sf {setfont} bind def /scf {scalefont} bind def /sw {stringwidth pop} bind def /tr {translate} bind def /ellipsedict 8 dict def ellipsedict /mtrx matrix put /ellipse { ellipsedict begin /endangle exch def /startangle exch def /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y tr xrad yrad sc 0 0 1 startangle endangle arc savematrix setmatrix end } def /mergeprocs { dup length 3 -1 roll dup length dup 5 1 roll 3 -1 roll add array cvx dup 3 -1 roll 0 exch putinterval dup 4 2 roll putinterval } bind def 28.346000 -28.346000 scale -1.550000 -29.345000 translate %%EndProlog 1.000000 1.000000 1.000000 srgb n 26.226707 6.650000 m 28.503414 8.926707 l 26.226707 11.203414 l 23.950000 8.926707 l f 0.100000 slw [] 0 sd [] 0 sd 0 slj 0.000000 0.000000 0.000000 srgb n 26.226707 6.650000 m 28.503414 8.926707 l 26.226707 11.203414 l 23.950000 8.926707 l cp s /Times-Roman-latin1 ff 1.000000 scf sf (flag) dup sw 2 div 26.226707 ex sub 9.220824 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slc 0 slj 0 slc 0 slj [] 0 sd 1.000000 1.000000 1.000000 srgb n 22.651100 0.650000 m 29.809107 0.650000 l 30.797422 0.650000 31.598608 1.054534 31.598608 1.553553 c 31.598608 2.052572 30.797422 2.457107 29.809107 2.457107 c 22.651100 2.457107 l 21.662785 2.457107 20.861598 2.052572 20.861598 1.553553 c 20.861598 1.054534 21.662785 0.650000 22.651100 0.650000 c f 0.000000 0.000000 0.000000 srgb n 22.651100 0.650000 m 29.809107 0.650000 l 30.797422 0.650000 31.598608 1.054534 31.598608 1.553553 c 31.598608 2.052572 30.797422 2.457107 29.809107 2.457107 c 22.651100 2.457107 l 21.662785 2.457107 20.861598 2.052572 20.861598 1.553553 c 20.861598 1.054534 21.662785 0.650000 22.651100 0.650000 c s /Times-Roman-latin1 ff 1.000000 scf sf (xds_setbuffer\(\)) dup sw 2 div 26.230103 ex sub 1.847671 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slc n 26.230103 2.457107 m 26.226707 6.650000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 25.827355 5.849676 m 26.226707 6.650000 l 26.627355 5.850324 l s 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc n 28.503414 8.926707 m 28.503414 8.919400 l 38.584257 8.919400 l 38.584257 12.650000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 38.184257 11.850000 m 38.584257 12.650000 l 38.984257 11.850000 l s 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc n 23.950000 8.926707 m 23.950000 8.919400 l 13.934257 8.919400 l 13.934257 12.800000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 13.534257 12.000000 m 13.934257 12.800000 l 14.334257 12.000000 l s /Times-Roman-latin1 ff 1.000000 scf sf (XDS_GIFT) dup sw 2 div 32.950000 ex sub 8.650000 m gs 1 -1 sc sh gr /Times-Roman-latin1 ff 1.000000 scf sf (XDS_LOAN) dup sw 2 div 18.950000 ex sub 8.650000 m gs 1 -1 sc sh gr 1.000000 1.000000 1.000000 srgb n 38.584257 12.650000 m 41.218514 15.284257 l 38.584257 17.918514 l 35.950000 15.284257 l f 0.100000 slw [] 0 sd [] 0 sd 0 slj 0.000000 0.000000 0.000000 srgb n 38.584257 12.650000 m 41.218514 15.284257 l 38.584257 17.918514 l 35.950000 15.284257 l cp s /Times-Roman-latin1 ff 1.000000 scf sf (buffer) dup sw 2 div 38.584257 ex sub 15.578374 m gs 1 -1 sc sh gr 1.000000 1.000000 1.000000 srgb n 13.934257 12.800000 m 16.568514 15.434257 l 13.934257 18.068514 l 11.300000 15.434257 l f 0.100000 slw [] 0 sd [] 0 sd 0 slj 0.000000 0.000000 0.000000 srgb n 13.934257 12.800000 m 16.568514 15.434257 l 13.934257 18.068514 l 11.300000 15.434257 l cp s /Times-Roman-latin1 ff 1.000000 scf sf (buffer) dup sw 2 div 13.934257 ex sub 15.728374 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc n 41.218514 15.284257 m 41.218514 15.368293 l 46.867680 15.368293 l 46.867680 19.903041 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 46.467680 19.103041 m 46.867680 19.903041 l 47.267680 19.103041 l s 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc n 16.568514 15.434257 m 16.568514 15.434605 l 20.056305 15.434605 l 20.056305 23.119000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 19.656305 22.319000 m 20.056305 23.119000 l 20.456305 22.319000 l s 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc n 11.300000 15.434257 m 11.300000 15.434605 l 7.976700 15.434605 l 7.976700 26.195000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 7.576700 25.395000 m 7.976700 26.195000 l 8.376700 25.395000 l s 0.100000 slw [] 0 sd [] 0 sd 0 slj 0 slc n 35.950000 15.284257 m 35.950000 15.245000 l 31.466350 15.245000 l 31.466350 19.395000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 31.066350 18.595000 m 31.466350 19.395000 l 31.866350 18.595000 l s /Times-Roman-latin1 ff 1.000000 scf sf (NULL) dup sw 2 div 18.400000 ex sub 15.150000 m gs 1 -1 sc sh gr /Times-Roman-latin1 ff 1.000000 scf sf (!NULL) dup sw 2 div 9.550000 ex sub 15.150000 m gs 1 -1 sc sh gr /Times-Roman-latin1 ff 1.000000 scf sf (NULL) dup sw 2 div 43.283200 ex sub 14.950000 m gs 1 -1 sc sh gr /Times-Roman-latin1 ff 1.000000 scf sf (!NULL) dup sw 2 div 34.499850 ex sub 14.950000 m gs 1 -1 sc sh gr 1.000000 1.000000 1.000000 srgb n 43.051330 19.903041 m 43.051330 22.003041 l 50.684030 22.003041 l 50.684030 19.903041 l f 0.100000 slw [] 0 sd [] 0 sd 0 slj 0.000000 0.000000 0.000000 srgb n 43.051330 19.903041 m 43.051330 22.003041 l 50.684030 22.003041 l 50.684030 19.903041 l cp s /Times-Roman-latin1 ff 1.000000 scf sf (Allocate buffer.) dup sw 2 div 46.867680 ex sub 21.247159 m gs 1 -1 sc sh gr 1.000000 1.000000 1.000000 srgb n 25.089650 19.395000 m 25.089650 22.495000 l 37.843050 22.495000 l 37.843050 19.395000 l f 0.100000 slw [] 0 sd [] 0 sd 0 slj 0.000000 0.000000 0.000000 srgb n 25.089650 19.395000 m 25.089650 22.495000 l 37.843050 22.495000 l 37.843050 19.395000 l cp s /Times-Roman-latin1 ff 1.000000 scf sf (Store buffer in XDS context.) dup sw 2 div 31.466350 ex sub 20.739118 m gs 1 -1 sc sh gr (We own the buffer.) dup sw 2 div 31.466350 ex sub 21.739118 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slc n 37.843050 20.945000 m 43.051330 20.953041 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 38.643667 20.546236 m 37.843050 20.945000 l 38.642432 21.346235 l s 0.100000 slw [] 0 sd [] 0 sd 0 slc 0 slj 0 slc 0 slj [] 0 sd 1.000000 1.000000 1.000000 srgb n 28.975023 26.830598 m 33.951430 26.830598 l 34.638529 26.830598 35.195532 27.235133 35.195532 27.734152 c 35.195532 28.233171 34.638529 28.637705 33.951430 28.637705 c 28.975023 28.637705 l 28.287924 28.637705 27.730921 28.233171 27.730921 27.734152 c 27.730921 27.235133 28.287924 26.830598 28.975023 26.830598 c f 0.000000 0.000000 0.000000 srgb n 28.975023 26.830598 m 33.951430 26.830598 l 34.638529 26.830598 35.195532 27.235133 35.195532 27.734152 c 35.195532 28.233171 34.638529 28.637705 33.951430 28.637705 c 28.975023 28.637705 l 28.287924 28.637705 27.730921 28.233171 27.730921 27.734152 c 27.730921 27.235133 28.287924 26.830598 28.975023 26.830598 c s /Times-Roman-latin1 ff 1.000000 scf sf (XDS_OK) dup sw 2 div 31.463226 ex sub 28.028269 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slc n 31.463226 26.830598 m 31.466350 22.495000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 31.063803 26.030310 m 31.463226 26.830598 l 31.863803 26.030887 l s 1.000000 1.000000 1.000000 srgb n 1.600000 26.195000 m 1.600000 29.295000 l 14.353400 29.295000 l 14.353400 26.195000 l f 0.100000 slw [] 0 sd [] 0 sd 0 slj 0.000000 0.000000 0.000000 srgb n 1.600000 26.195000 m 1.600000 29.295000 l 14.353400 29.295000 l 14.353400 26.195000 l cp s /Times-Roman-latin1 ff 1.000000 scf sf (Store buffer in XDS context.) dup sw 2 div 7.976700 ex sub 27.539118 m gs 1 -1 sc sh gr (We don't own the buffer.) dup sw 2 div 7.976700 ex sub 28.539118 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slc 0 slj 0 slc 0 slj [] 0 sd 1.000000 1.000000 1.000000 srgb n 13.674552 23.119000 m 26.438058 23.119000 l 28.200332 23.119000 29.628935 23.523534 29.628935 24.022553 c 29.628935 24.521572 28.200332 24.926107 26.438058 24.926107 c 13.674552 24.926107 l 11.912278 24.926107 10.483675 24.521572 10.483675 24.022553 c 10.483675 23.523534 11.912278 23.119000 13.674552 23.119000 c f 0.000000 0.000000 0.000000 srgb n 13.674552 23.119000 m 26.438058 23.119000 l 28.200332 23.119000 29.628935 23.523534 29.628935 24.022553 c 29.628935 24.521572 28.200332 24.926107 26.438058 24.926107 c 13.674552 24.926107 l 11.912278 24.926107 10.483675 24.521572 10.483675 24.022553 c 10.483675 23.523534 11.912278 23.119000 13.674552 23.119000 c s /Times-Roman-latin1 ff 1.000000 scf sf (XDS_ERR_INVALID_ARG) dup sw 2 div 20.056305 ex sub 24.316671 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slc n 27.730921 27.734152 m 14.353400 27.745000 l s 0.100000 slw [] 0 sd 0 slj 0 slc n 26.931246 28.134800 m 27.730921 27.734152 l 26.930597 27.334801 l s showpage @