home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1994-01-16 | 90.0 KB | 3,252 lines
Newsgroups: comp.sources.misc From: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi) Subject: v41i092: wwfs - WorldWide File System, Part07/22 Message-ID: <1994Jan17.021223.8885@sparky.sterling.com> X-Md4-Signature: 2e5556292df898d9ce92ff80d90f18a7 Sender: kent@sparky.sterling.com (Kent Landfield) Organization: Sterling Software Date: Mon, 17 Jan 1994 02:12:23 GMT Approved: kent@sparky.sterling.com Submitted-by: youki-k@is.aist-nara.ac.jp (Youki Kadobayashi) Posting-number: Volume 41, Issue 92 Archive-name: wwfs/part07 Environment: UNIX, inet #! /bin/sh # This is a shell archive. Remove anything before this line, then feed it # into a shell via "sh file" or similar. To overwrite existing files, # type "sh file -c". # Contents: config/misc-aix3.h doc/trace.ps # mosaic/xmosaic-1.2+wwfs.diff # Wrapped by kent@sparky on Sun Jan 16 17:48:25 1994 PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH echo If this archive is complete, you will see the following message: echo ' "shar: End of archive 7 (of 22)."' if test -f 'config/misc-aix3.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'config/misc-aix3.h'\" else echo shar: Extracting \"'config/misc-aix3.h'\" \(4423 characters\) sed "s/^X//" >'config/misc-aix3.h' <<'END_OF_FILE' X/* X * Copyright (c) 1990 Jan-Simon Pendry X * Copyright (c) 1990 Imperial College of Science, Technology & Medicine X * Copyright (c) 1990 The Regents of the University of California. X * All rights reserved. X * X * This code is derived from software contributed to Berkeley by X * Jan-Simon Pendry at Imperial College, London. X * X * Redistribution and use in source and binary forms, with or without X * modification, are permitted provided that the following conditions X * are met: X * 1. Redistributions of source code must retain the above copyright X * notice, this list of conditions and the following disclaimer. X * 2. Redistributions in binary form must reproduce the above copyright X * notice, this list of conditions and the following disclaimer in the X * documentation and/or other materials provided with the distribution. X * 3. All advertising materials mentioning features or use of this software X * must display the following acknowledgement: X * This product includes software developed by the University of X * California, Berkeley and its contributors. X * 4. Neither the name of the University nor the names of its contributors X * may be used to endorse or promote products derived from this software X * without specific prior written permission. X * X * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND X * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE X * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE X * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE X * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL X * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS X * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) X * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT X * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY X * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF X * SUCH DAMAGE. X * X * %W% (Berkeley) %G% X * X * $Id: misc-aix3.h,v 5.2.2.1 1992/02/09 15:10:05 jsp beta $ X * X */ X Xstruct ufs_args { X char *fspec; /* Block device */ X}; X Xstruct nfs_args { X struct sockaddr_in addr; /* file server address */ X fhandle_t fh; /* File handle to be mounted */ X int flags; /* flags */ X int wsize; /* write size in bytes */ X int rsize; /* read size in bytes */ X int timeo; /* initial timeout in .1 secs */ X int retrans; /* times to retry send */ X char *hostname; /* server's hostname */ X int acregmin; /* attr cache file min secs */ X int acregmax; /* attr cache file max secs */ X int acdirmin; /* attr cache dir min secs */ X int acdirmax; /* attr cache dir max secs */ X char *netname; /* server's netname */ X int biods; /* number of BIODS */ X}; X X/* X * NFS mount option flags X */ X#define MNTOPT_RO "ro" /* read only */ X#define MNTOPT_RW "rw" /* read/write */ X#define MNTOPT_SOFT "soft" /* soft mount */ X#define MNTOPT_HARD "hard" /* hard mount */ X#define MNTOPT_NOSUID "nosuid"/* no set uid allowed */ X#define MNTOPT_NOAUTO "noauto"/* hide entry from mount -a */ X#define MNTOPT_INTR "intr" /* allow interrupts on hard mount */ X#define MNTOPT_SECURE "secure"/* use secure RPC for NFS */ X#define MNTOPT_GRPID "grpid" /* SysV-compatible group-id on create */ X#define MNTOPT_NOSUB "nosub" /* disallow mounts beneath this one */ X#define MNTOPT_MULTI "multi" /* Do multi-component lookup */ X#define MNTOPT_NOAC "noac" /* don't cache attributes */ X X#define NFSMNT_SOFT 0x001 /* soft mount (hard is default) */ X#define NFSMNT_WSIZE 0x002 /* set write size */ X#define NFSMNT_RSIZE 0x004 /* set read size */ X#define NFSMNT_TIMEO 0x008 /* set initial timeout */ X#define NFSMNT_RETRANS 0x010 /* set number of request retrys */ X#define NFSMNT_HOSTNAME 0x020 /* set hostname for error printf */ X#define NFSMNT_INT 0x040 /* allow interrupts on hard mount */ X#define NFSMNT_NOAC 0x080 /* don't cache attributes */ X#define NFSMNT_ACREGMIN 0x0100 /* set min secs for file attr cache */ X#define NFSMNT_ACREGMAX 0x0200 /* set max secs for file attr cache */ X#define NFSMNT_ACDIRMIN 0x0400 /* set min secs for dir attr cache */ X#define NFSMNT_ACDIRMAX 0x0800 /* set max secs for dir attr cache */ X#define NFSMNT_SECURE 0x1000 /* secure mount */ X#define NFSMNT_BIODS 0x10000 /* Number of biods for the file system */ X X#define DEF_BIODS 6 END_OF_FILE if test 4423 -ne `wc -c <'config/misc-aix3.h'`; then echo shar: \"'config/misc-aix3.h'\" unpacked with wrong size! fi # end of 'config/misc-aix3.h' fi if test -f 'doc/trace.ps' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'doc/trace.ps'\" else echo shar: Extracting \"'doc/trace.ps'\" \(62722 characters\) sed "s/^X//" >'doc/trace.ps' <<'END_OF_FILE' X%!PS-Adobe-2.0 X%%Creator: /usr/local/tex/dvi2ps-1.7j X%%Title: trace.dvi X%%Pages: (atend) X%%BoundingBox: 0 0 595 842 X%%DocumentPaperSizes: A4 X%%Orientation: Portrait X%%EndComments X%%BeginFile: /usr/local/lib/dvi2ps/tex.ps.nopack X% X/TeXDict 200 dict def XTeXDict begin X/inch { X72 mul X} bind def X/largepaperarray [ X/letter /legal /11x17 X/b4 /b5 /a5 /a4 /a3 X] def X/smallpaperarray [ X/note dup where { Xpop X}{ Xpop /lettersmall dup where { Xpop X}{ Xpop /letter X} ifelse X} ifelse X/legal /11x17 X/b4 /b5 /a5 X/a4small dup where { Xpop X}{ Xpop /note dup where { Xpop X}{ Xpop /a4 X} ifelse X} ifelse X/a3 X] def X/setpaper { Xdup where papertray and { Xexch get exec X} if X} bind def X/trayarray [ X/lettertray /legaltray /11x17tray X/b4tray /b5tray /a5tray /a4tray /a3tray X] def X/settray { Xdup statusdict exch known { X{ Xstatusdict begin load exec end X} stopped { X$error /newerror get { X$error /errorname get /rangecheck eq { X(Tray not found, using default tray.) print flush X/papertray false def X}{ Xhandleerror X} ifelse X$error /newerror false put X} if X} if X}{ Xpop X} ifelse X} bind def X/papertray true def X/widtharray [ X8.5 inch 8.5 inch 11 inch X9.84 inch 6.93 inch X5.83 inch 8.27 inch 11.69 inch X] def X/heightarray [ X11 inch 14 inch 17 inch X13.9 inch 9.84 inch X8.27 inch 11.69 inch 16.54 inch X] def X/xoffset 0 def X/yoffset 0 def X/landscape false def X/pagesetup { Xdup widtharray exch get /paperwidth exch def Xdup heightarray exch get /paperheight exch def Xdup trayarray exch get settray Xlarge {largepaperarray}{smallpaperarray} ifelse Xexch get setpaper X} bind def X/@letter {0 pagesetup} def X/@legal {1 pagesetup} def X/@tabloid {2 pagesetup} def X/@b4 {3 pagesetup} def X/@b5 {4 pagesetup} def X/@a5 {5 pagesetup} def X/@a4 {6 pagesetup} def X/@a3 {7 pagesetup} def X/@landscape {/landscape true def} bind def X/@manualfeed { Xstatusdict /manualfeed known { Xstatusdict /manualfeed true put Xstatusdict /manualfeedtimeout 120 put X} if X} bind def X/@large { X/large true def X} bind def X/@small { X/large false def X} bind def X/@envelope { X/xoffset 4.28 inch def X/yoffset 1.5 inch def X@letter X} bind def X/COPIES { X/#copies exch def X} bind def X/NF { X/newname exch def X/fsize exch def X/corr exch def Xnewname 7 dict def Xnewname load begin X/FontType 3 def X/FontMatrix [corr 0 0 corr neg 0 0] def X/FontBBox [0 0 1 1] def X/BitMaps fsize array def X/BuildChar /CharBuilder load def X/Encoding 256 array def X0 1 255 {Encoding exch /.notdef put} for Xend Xnewname newname load definefont pop X} bind def X/ch-image {ch-data 0 get} bind def X/ch-width {ch-data 1 get} bind def X/ch-height {ch-data 2 get} bind def X/ch-xoff {ch-data 3 get} bind def X/ch-yoff {ch-data 4 get} bind def X/ch-tfmw {ch-data 5 get} bind def X/CharBuilder { X/ch-code exch def X/font-dict exch def X/ch-data font-dict /BitMaps get ch-code get def Xch-data null eq not { Xch-tfmw 0 Xch-xoff neg ch-yoff neg ch-width ch-xoff sub ch-height ch-yoff sub Xsetcachedevice Xch-width ch-height true [1 0 0 1 ch-xoff ch-yoff] X{ch-image} imagemask X} if X} bind def X/LWF { X/lw-v exch def X/lw-h exch def Xfindfont [lw-h 0 0 lw-v 0 0] makefont def X} bind def X/LWFX { X/lw-v exch def X/lw-h exch def X/savecurfont currentfont def Xfindfont dup setfont X[ X( ) stringwidth pop dup lw-h exch div Xexch lw-v exch div 0 0 3 -1 roll X0 0 X] makefont def Xsavecurfont setfont X} bind def X/LWJF /LWF load def X/SF /setfont load def X/s3 3 string def X/D { X/ch-code exch def Xdup 0 get Xlength 2 lt { Xpop [ <00> 1 1 0 0 8.00 ] X} if X/ch-data exch def Xcurrentfont /BitMaps get ch-code ch-data put Xcurrentfont /Encoding get ch-code Xdup s3 cvs cvn Xput X} bind def X/BP { X/SaveImage save def Xxoffset yoffset translate X72 72 Xlandscape { Xexch translate X90 rotate X}{ Xpaperheight exch sub translate X} ifelse X72 Resolution div dup neg scale X0 0 moveto X} bind def X/EP { Xshowpage XSaveImage restore X} bind def X/START { X/Resolution exch def X} bind def X/END /end load def X/l /lineto load def X/p /moveto load def X/r { X0 rmoveto X} def X/s /show load def X/ru { X/dy exch neg def X/dx exch def X/x currentpoint /y exch def def Xnewpath x y moveto Xdx 0 rlineto X0 dy rlineto Xdx neg 0 rlineto Xclosepath fill Xx y moveto X} bind def X/@SpecialDefaults { X/hsi paperwidth inch def X/vsi paperheight inch def X/hof 0 def X/vof 0 def X/hsc 1 def X/vsc 1 def X/rotat 0 def X/CLIP false def X/BBOX false def X/EPSF false def X} bind def X/@hsize {/hsi exch def /CLIP true def} bind def X/@vsize {/vsi exch def /CLIP true def} bind def X/@hoffset {/hof exch def} bind def X/@voffset {/vof exch def} bind def X/@hscale {/hsc exch def} bind def X/@vscale {/vsc exch def} bind def X/@rotation {/rotat exch def} bind def X/@bbox { X/ury exch def X/urx exch def X/lly exch def X/llx exch def X/BBOX true def X} bind def X/@epsf { X/hsi 0 def X/vsi 0 def X/EPSF true def X} bind def X/@setclipper { XCLIP { Xnewpath 0 0 moveto hsi 0 rlineto 0 vsi rlineto hsi neg 0 rlineto Xclosepath clip X} if X} bind def X/@beginspecial { X/SpecialSave save def Xcurrentpoint transform initgraphics itransform translate Xdup scale Xlandscape {90 rotate} if X@SpecialDefaults X@MacSetUp X} bind def X/@setspecial { Xhof vof translate XEPSF BBOX and { Xhsi 0 eq { Xvsi 0 eq { Xhsc vsc X}{ Xvsi ury lly sub div dup X}ifelse X}{ Xvsi 0 eq { Xhsi urx llx sub div dup X}{ Xhsi urx llx sub div vsi ury lly sub div X} ifelse X} ifelse Xscale Xllx neg ury neg translate Xnewpath Xllx lly moveto Xurx llx sub 0 rlineto X0 ury lly sub rlineto Xllx urx sub 0 rlineto Xclosepath clip Xnewpath X}{ X@setclipper hsc vsc scale rotat rotate X} ifelse Xend X/letter {} def /note {} def /legal {} def /11x17 X/b4 {} def /b5 {} def /a5 {} def /a4 {} def /a3 {} def X/showpage {} def /copypage {} def /erasepage {} def X} bind def X/@MacSetUp { Xuserdict /md known { Xuserdict /md get type /dicttype eq { X/MacDrwgs true def Xmd /txpose known { Xmd /txpose {pxs pys neg scale} put X} if Xmd /cp known { Xmd /cp {pop pop pm restore} put X} if X} if X} if X} bind def X/@push { X/SpecialSave save def Xcurrentpoint translate Xdup scale Xnewpath X} bind def X/@pop { XSpecialSave restore X} bind def X/@pn X/setlinewidth load Xdef X/@pt { Xmoveto currentpoint currentlinewidth 2 div 0 360 arc fill X} bind def X/@ln { Xmoveto lineto stroke X} bind def X/@ar { Xmatrix currentmatrix X7 -2 roll moveto Xcurrentpoint translate Xnewpath X5 -2 roll scale X0 0 1 6 -2 roll arc Xsetmatrix X} bind def X/@wh {1 setgray} bind def X/@sh {0.75 setgray} bind def X/@bk {0 setgray} bind def X/@RGB {setrgbcolor} bind def X/@HSB {sethsbcolor} bind def X/@CMYK {setcmykcolor} bind def Xend X/@endspecial { Xclear XTeXDict begin XSpecialSave restore X} bind def X%%EndFile X%%EndProlog X%%BeginSetup X%%PaperSize: A4 X%%Feature: *ManualFeed False X%%Feature: *Resolution 400 XTeXDict begin X@large X@a4 X400 START X/f80 /Times-Roman 55.347 -55.347 LWF X/f81 /Times-Italic 55.347 -55.347 LWF X/f82 /Times-BoldItalic 55.347 -55.347 LWF X/f84 /Courier 55.347 -55.347 LWF X/f92 /Times-Roman 66.416 -66.416 LWF X/f96 /Courier 66.416 -66.416 LWF X/f99 /Times-Bold 79.699 -79.699 LWF X/f101 /Times-Bold 95.750 -95.750 LWF X%%EndSetup X X%%Page: 1 1 XBP Xf101 SF X627 493 p (WWFS)s X24 r (Measur)s X-1 r (ement)s X23 r (Activities)s Xf92 SF X1014 653 p (Y)s X-6 r (ouki)s X16 r (Kadobayashi)s Xf96 SF X817 731 p (youki@ics.osaka-u.ac.jp)s Xf92 SF X952 808 p (WWFS)s X17 r (Research)s X16 r (Group)s X593 886 p (Department)s X17 r (of)s X17 r (Information)s X16 r (and)s X17 r (Computer)s X16 r (Sciences)s X953 963 p (Osaka)s X17 r (University)s X-3 r (,)s X15 r (Japan)s X1047 1092 p (February)s X17 r (3,)s X16 r (1993)s Xf99 SF X100 1334 p (Study)s X20 r (Goal)s Xf80 SF X100 1457 p (The)s X19 r (WWFS)s X20 r (Research)s X19 r (Group)s X20 r (at)s X19 r (Osaka)s X20 r (University)s X19 r (has)s X19 r (been)s X20 r (conducting)s X19 r (research)s X20 r (on)s X19 r (an)s X19 r (intermediary)s X20 r (\256le)s X100 1524 p (server)s X21 r (with)s X21 r (the)s X21 r (NFS-FTP)s X22 r (gateway)s X21 r (facility)s X21 r (and)s X21 r (\256le)s X21 r (caching)s X21 r (mechanism,)s X23 r (which)s X21 r (has)s X22 r (been)s X21 r (called)s X21 r (Cluster)s X100 1590 p (Server[1].)s X183 1656 p (The)s X9 r (WWFS)s X10 r (measurement)s X9 r (activities)s X9 r (are)s X10 r (aimed)s X9 r (at)s X10 r (collecting)s X9 r (statistics)s X9 r (for)s X10 r (arrival)s X9 r (rate)s X9 r (of)s X10 r (requests,)s X10 r (spectrum)s X100 1723 p (of)s X18 r (users)s X18 r (and)s X17 r (clients,)s X19 r (predictability)s X18 r (of)s X18 r (\256le)s X18 r (access,)s X18 r (average)s X18 r (cache)s X18 r (miss)s X18 r (rate,)s X19 r (etc.)s X30 r (For)s X18 r (the)s X17 r (Cluster)s X18 r (Server)s X18 r (to)s X100 1789 p (continue)s X15 r (development)s X15 r (toward)s X15 r (sound)s X15 r (framework)s X15 r (for)s X15 r (information)s X14 r (access)s X15 r (in)s X15 r (the)s X15 r (Internet,)s X15 r (it)s X15 r (is)s X15 r (vital)s X15 r (to)s X15 r (collect)s X100 1856 p (real-world)s X14 r (data)s X14 r (about)s X14 r (various)s X13 r (aspects)s X14 r (of)s X14 r (\256le)s X14 r (access)s X14 r (in)s X14 r (the)s X13 r (Internet)s X14 r (environment.)s Xf99 SF X100 2042 p (Methodology)s Xf80 SF X100 2166 p (The)s X11 r (Cluster)s X11 r (Server)s X11 r (incorporates)s X11 r (continuous)s X11 r (event-trace)s X11 r (mechanism,)s X12 r (that)s X11 r (collects)s X11 r (all)s X11 r (NFS)s Xf84 SF X11 r (read)s Xf80 SF X10 r (and)s Xf84 SF X11 r (read-)s X100 2232 p (dir)s Xf80 SF X14 r (events.)s X19 r (For)s X14 r (each)s X14 r (event,)s X14 r (the)s X14 r (trace)s X14 r (involves)s X14 r (12)s X14 r (lines)s X14 r (of)s X14 r (C)s X14 r (code)s X14 r (in)s X15 r (total)s X14 r (and)s X14 r (3)s X14 r (function)s X14 r (call-return.)s X19 r (Also,)s X100 2298 p (completion)s X14 r (of)s X14 r (FTP)s X14 r (transfer)s X13 r (is)s X14 r (logged)s X14 r (as)s X14 r (such,)s X14 r (which)s X14 r (involves)s X13 r (similar)s X14 r (sequence)s X14 r (of)s X14 r (C)s X14 r (code.)s X183 2365 p (T)s X-1 r (race)s X12 r (data)s X13 r (is)s X13 r (kept)s X13 r (in)s X13 r (memory)s X-2 r (,)s X12 r (where)s X13 r (each)s X13 r (event)s X13 r (occupies)s X13 r (44)s X13 r (bytes)s X13 r (\(see)s X13 r (Figure)s X13 r (1\).)s X18 r (Data)s X13 r (is)s X13 r (\257ushed)s X13 r (to)s X13 r (the)s X100 2431 p (local)s X11 r (disk)s X12 r (every)s X11 r (minute.)s X18 r (Stored)s X11 r (event)s X11 r (occupy)s X12 r (36)s X11 r (bytes)s X11 r (for)s X12 r (each.)s X17 r (The)s X12 r (traces)s X11 r (are)s X11 r (sent)s X11 r (to)s X12 r (our)s X11 r (statistics)s X11 r (program)s X100 2498 p (at)s X17 r (Osaka)s X17 r (University)s X18 r (via)s X17 r (e-mail)s X17 r (once)s X17 r (per)s X18 r (day)s X-3 r (,)s X17 r (while)s X17 r (at)s X17 r (the)s X18 r (same)s X17 r (time)s X17 r (locally)s X17 r (maintained)s X17 r (data)s X18 r (is)s X17 r (erased)s X17 r (to)s X100 2564 p (conserve)s X14 r (disk)s X14 r (space.)s Xf99 SF X100 2750 p (Impacts)s X20 r (on)s X20 r (Users,)s X20 r (Nodes)s X20 r (and)s X20 r (Networks)s Xf80 SF X100 2874 p (The)s X12 r (reporting)s X12 r (e-mail)s X12 r (does)s X11 r (not)s X12 r (grow)s X12 r (signi\256cantly)s X-2 r (,)s X11 r (though)s X12 r (we)s X12 r (have)s X11 r (been)s X12 r (extensively)s X12 r (using)s X12 r (the)s X12 r (Cluster)s X12 r (Server)s X100 2940 p (for)s X19 r (several)s X18 r (months.)s X32 r (See)s X19 r (Figure)s X18 r (2)s X19 r (for)s X18 r (the)s X19 r (histogram)s X18 r (of)s X19 r (report)s X19 r (mail)s X18 r (that)s X19 r (have)s X18 r (been)s X19 r (sent)s X18 r (from)s X19 r (our)s X18 r (Cluster)s X100 3007 p (Server;)s X18 r (the)s X17 r (standard)s X17 r (deviation)s X17 r (of)s X16 r (the)s X17 r (report)s X17 r (size)s X17 r (was)s X16 r (7061.56)s X17 r (and)s X17 r (the)s X17 r (average)s X16 r (was)s X17 r (3795.8,)s X18 r (both)s X16 r (in)s X17 r (bytes.)s X100 3073 p (For)s X18 r (fairness,)s X19 r (the)s X17 r (same)s X18 r (method)s X18 r (is)s X18 r (applied)s X17 r (to)s X18 r (the)s X18 r (traces)s X18 r (obtained)s X17 r (from)s X18 r (T)s X-3 r (okyo)s X17 r (Institute)s X18 r (of)s X18 r (T)s X-3 r (echnology;)s X18 r (see)s X100 3140 p (Figure)s X14 r (3.)s X183 3206 p (Given)s X18 r (the)s X18 r (modest)s X18 r (size)s X18 r (of)s X18 r (statistical)s X18 r (data,)s X19 r (it)s X18 r (is)s X18 r (unlikely)s X18 r (that)s X18 r (the)s X18 r (WWFS)s X18 r (measurement)s X18 r (activities)s X18 r (affect)s X100 3272 p (operational)s X14 r (viability)s X14 r (and)s X14 r (stability)s X13 r (of)s X14 r (the)s X14 r (network.)s X183 3339 p (The)s X18 r (measurement)s X19 r (itself)s X18 r (does)s X18 r (not)s X19 r (introduce)s X18 r (extra)s X18 r (load)s X19 r (on)s X18 r (the)s X19 r (network.)s X31 r (Furthermore,)s X20 r (considering)s X18 r (the)s X100 3405 p (remarkably)s X18 r (low)s X18 r (arrival)s X18 r (rate)s X18 r (and)s X18 r (probability)s X17 r (distribution)s X18 r (of)s X18 r (the)s X18 r (\256le)s X18 r (size)s X18 r (acquired)s X18 r (from)s X18 r (our)s X18 r (experiment)s X18 r (so)s X100 3472 p (far)s X-1 r (,)s X11 r (it)s X12 r (is)s X12 r (unlikely)s X12 r (that)s X12 r (event)s X12 r (tracing)s X12 r (mechanism)s X12 r (consume)s X12 r (signi\256cant)s X12 r (amount)s X12 r (of)s X12 r (virtual)s X12 r (memory)s X12 r (or)s X12 r (secondary)s X100 3538 p (storage)s X14 r (of)s X14 r (the)s X14 r (Cluster)s X13 r (Server)s X14 r (and)s X14 r (consequently)s X14 r (leading)s X14 r (to)s X14 r (performance)s X13 r (degradation.)s X183 3604 p (The)s X11 r (extra)s X10 r (mechanism)s X11 r (does)s X11 r (not)s X10 r (impair)s X11 r (the)s X11 r (performance)s X10 r (of)s X11 r (the)s X10 r (\256le)s X11 r (sharing)s X11 r (service)s X10 r (provided)s X11 r (by)s X11 r (the)s X10 r (Cluster)s X100 3671 p (Server)s X-1 r (,)s X12 r (since)s X14 r (the)s X13 r (operations)s X14 r (required)s X14 r (for)s X13 r (each)s X14 r (event)s X13 r (are)s X14 r (few)s X13 r (pointer)s X14 r (traversals)s X13 r (and)s X14 r (register/memory)s X13 r (assign-)s X100 3737 p (ments.)s X18 r (The)s X14 r (same)s X14 r (argument)s X13 r (applies)s X14 r (to)s X14 r (the)s X13 r (usability)s X14 r (of)s X14 r (the)s X14 r (service.)s X1261 3946 p (1)s XEP X X%%Page: 2 2 XBP Xf84 SF X100 318 p (typedef)s X33 r (struct)s X33 r (wf_trace)s X34 r ({)s X366 384 p (qelem)s X99 r (q;)s X366 450 p (long)s X132 r (cookie;)s X299 r (/*)s X34 r (unique)s X33 r (id)s X33 r (*/)s X366 517 p (long)s X132 r (time;)s X366 r (/*)s X33 r (timestamp)s X33 r (*/)s X366 583 p (int)s X166 r (uid;)s X398 r (/*)s X33 r (user)s X34 r (id)s X33 r (*/)s X366 650 p (long)s X132 r (client;)s X299 r (/*)s X34 r (client)s X33 r (ip)s X33 r (address)s X33 r (*/)s X366 716 p (long)s X132 r (volume;)s X299 r (/*)s X34 r (volume)s X33 r (id)s X33 r (*/)s X366 783 p (long)s X132 r (dir;)s X399 r (/*)s X33 r (directory)s X33 r (id)s X34 r (*/)s X366 849 p (long)s X132 r (file;)s X366 r (/*)s X33 r (file)s X33 r (id)s X33 r (*/)s X366 915 p (int)s X166 r (op:16;)s X332 r (/*)s X33 r (operation.)s X33 r (read\(0\))s X33 r (or)s X34 r (readdir\(1\))s X33 r (*/)s X366 982 p (int)s X166 r (hit:16;)s X299 r (/*)s X33 r (cache)s X33 r (hit\(1\))s X33 r (or)s X33 r (miss\(0\))s X34 r (*/)s X366 1048 p (long)s X132 r (arg;)s X399 r (/*)s X33 r (file)s X33 r (size)s X34 r (etc.)s X33 r (*/)s X100 1115 p (})s X33 r (wf_trace;)s Xf80 SF X881 1292 p (Figure)s X13 r (1:)s Xf82 SF X19 r (The)s X14 r (event)s X14 r (data)s X13 r (structure.)s X825 1448 p 1.000 @beginspecial X@epsf X0.600000 @vscale X0.600000 @hscale X-5.000000 -5.000000 265.000000 235.000000 @bbox X@setspecial X%%BeginDocument: raicho.eps X%!PS-Adobe-2.0 EPSF-2.0 X%%Title: X%%Creator: HippoDraw X%%CreationDate: Mon Feb 1 18:47:18 1993 X%%For: youki X%%DocumentFonts: (atend) X%%Pages: 0 0 X%%BoundingBox: -5 -5 265 235 X%%NXNextStepVersion: 3.0 X%%EndComments X X%%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0 X%! X% NeXT Printing Package X% Version: 3.0J X% Modified by Canon based on Version 3.0 , 1992.01.07 X% Copyright: 1988, NeXT, Inc. X X/__NXdef{1 index where{pop pop pop}{def}ifelse}bind def X/__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def X/UserObjects 10 array __NXdef X/defineuserobject{ X exch dup 1 add dup UserObjects length gt{ X array dup 0 UserObjects putinterval X /UserObjects exch def X }{pop}ifelse UserObjects exch 3 -1 roll put X}__NXbdef X/undefineuserobject{UserObjects exch null put}__NXbdef X/execuserobject{UserObjects exch get exec}__NXbdef X/__NXRectPath{4 2 roll moveto 1 index 0 rlineto X0 exch rlineto neg 0 rlineto closepath}__NXbdef X/__NXProcessRectArgs{ X 1 index type /arraytype eq{ X exch 0 4 2 index length 1 sub{ X dup 3 add 1 exch{1 index exch get exch}for X 5 1 roll 5 index exec X }for pop pop X }{exec}ifelse X}__NXbdef X/rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef X/rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef X/rectstroke{ X gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ X {gsave __NXRectPath null concat stroke grestore} X dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs X }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore X}__NXbdef X/_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef X/xyshow{ X 0 1 3 index length 1 sub{ X currentpoint 4 index 3 index 1 getinterval show X 3 index 3 index 2 mul 1 add get add exch X 3 index 3 index 2 mul get add exch moveto pop X }for pop pop X}__NXbdef X/xshow{ X 0 1 3 index length 1 sub{ X currentpoint 4 index 3 index 1 getinterval show X exch 3 index 3 index get add exch moveto pop X }for pop pop X}__NXbdef X/yshow{ X 0 1 3 index length 1 sub{ X currentpoint 4 index 3 index 1 getinterval show X 3 index 3 index get add moveto pop X }for pop pop X}__NXbdef X/arct{arcto pop pop pop pop}__NXbdef X/setbbox{pop pop pop pop}__NXbdef X/ucache{}__NXbdef X/ucachestatus{mark 0 0 0 0 0}__NXbdef X/setucacheparams{cleartomark}__NXbdef X/uappend{systemdict begin cvx exec end}__NXbdef X/ueofill{gsave newpath uappend eofill grestore}__NXbdef X/ufill{gsave newpath uappend fill grestore}__NXbdef X/ustroke{ X gsave newpath dup length 6 eq X {exch uappend concat}{uappend}ifelse X stroke grestore X}__NXbdef X/__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse X/ustrokepath{ X newpath dup length 6 eq{ X exch uappend __NXustrokepathMatrix currentmatrix exch concat X strokepath setmatrix X }{uappend strokepath}ifelse X} __NXbdef X/upath{ X [exch {/ucache cvx}if pathbbox /setbbox cvx X {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx X} __NXbdef X/setstrokeadjust{pop}__NXbdef X/currentstrokeadjust{false}__NXbdef X/selectfont{exch findfont exch Xdup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef X/_NXCombineArrays{ X counttomark dup 2 add index dup length 3 -1 roll { X 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch X }repeat pop pop pop X}__NXbdef X/flushgraphics{}def X/setwindowtype{pop pop}def X/currentwindowtype{pop 0}def X/setalpha{pop}def X/currentalpha{1.0}def X/hidecursor{}def X/obscurecursor{}def X/revealcursor{}def X/setcursor{4 {pop}repeat}bind def X/showcursor{}def X X/SharedFontDirectory FontDirectory __NXdef X/_JPN /GothicBBB-Medium-EUC-H dup findfont /FontName get eq def X X_JPN { X mark { /NJ12-88-CFEncoding findencoding } stopped { X /defineresource { X pop dup 3 1 roll userdict /EncodingDirectory get 3 1 roll readonly put X } __NXbdef X /GothicBBB-Medium-EUC-H findfont begin X Encoding dup length array copy dup dup dup length 2 idiv dup getinterval X 0 exch putinterval X FMapType 2 eq { X dup 16#0E 78 put dup 16#20 89 put X 0 1 9 {dup 16#75 add exch 79 add 2 index 3 1 roll put} for X }{ X dup 16#1D 78 put dup 16#41 89 put X 0 1 9 {dup dup add 16#EB add exch 79 add 2 index 3 1 roll put} for X } ifelse X /NJ12-88-CFEncoding exch /Encoding defineresource pop X /EUCEncoding FDepVector 10 get /Encoding get /Encoding defineresource pop X end X } if cleartomark X} if X X/_@Private dup where {pop pop}{50 dict def}ifelse X/__NJdef _JPN {{//_@Private 3 1 roll put}}{{pop pop}} ifelse bind def X/__NJbdef _JPN {{//_@Private 2 index known {pop pop}{bind //_@Private 3 1 roll put}ifelse}}{{pop pop}} ifelse bind def X/_str 128 string __NJdef X/_find { % /FName _find FontOrFName bool X false 0 {dup 3 index known {3 -1 roll get exch pop true exit}{pop}ifelse} forall X} bind dup 1 X[/SharedFontDirectory dup where {exch get}{pop}ifelse //FontDirectory] put //_@Private 3 1 roll put X/_copyfont@ { % -font- extension _copyfont@ -dict- X 1 index maxlength add dict begin { X 1 index /FID ne 2 index /UniqueID ne and {def}{pop pop}ifelse X } forall currentdict end X} __NJbdef X/_bind { % /n1 /n2 _bind /n1+2 X exch dup length 2 index length add _str 4 2 roll X _str cvs length exch dup length string cvs putinterval X _str exch 0 exch getinterval cvn X} __NJbdef X/NDEncoding 256 array dup 0 1 255 {/.notdef put dup} for pop __NJdef X/_shiftE { % /Fname start length target -font- _shiftE -dict- X 0 _copyfont@ begin Encoding 4 2 roll getinterval NDEncoding 256 array X copy dup 4 -2 roll putinterval Encoding length 256 eq { X dup dup 0 128 getinterval 128 exch putinterval } if X /Encoding exch def /FontName exch def currentdict end X} __NJbdef X/_makeSGFDV { % - _makeSGFDV [FDV] X [ _FN /.WP-Symbol _bind findfont X _SGFN /.rFC _bind dup 0 96 32 5 index _shiftE definefont X _SGFN /.rFD _bind dup 96 32 32 6 index _shiftE definefont X _SGFN /.rFE _bind dup 0 128 0 _FN /-Ext-H _bind findfont dup /Encoding get X 16#2d get exch /FDepVector get exch get _shiftE dup /Encoding 2 copy get X [16#f0 16#f1 16#f2 16#f5 16#f6 16#f7 16#fa 16#fb 16#fc] { X dup 2 index exch /.notdef put 128 sub 1 index exch /.notdef put X } forall put definefont X ] dup 0 /NotDefFont findfont put X} __NJbdef X/_defSGaiji { % /fullname /basename _defSGaiji -sysGaiji- X /_FN exch __NJdef /_SGFN exch __NJdef 15 dict X dup /FontName _SGFN put dup /FontType 0 put X dup /FMapType 2 put dup /FontMatrix matrix put X dup /FontBBox {0 -140 1000 880} put X dup /Encoding 256 array 0 1 255 {1 index exch 0 put}for X dup 16#FC 1 put dup 16#FD 2 put dup 16#FE 3 put put X dup /FDepVector _makeSGFDV put dup /isNeXTGaiji true put X _SGFN exch definefont X} __NJbdef X/_defNeXTF { % /fullname /basename Hflag _defNeXTF X2 index _find { 4 1 roll pop pop pop}{pop X /_FN 2 index __NJdef {/-EUC-H}{/-EUC-V}ifelse _bind findfont X 1 _copyfont@ begin X /FontName 1 index def X /UserGaijiName _FN /-NeXT-UserGaiji _bind def X /Encoding Encoding dup length array copy FMapType 2 eq {dup 16#8E 78 put X 0 1 9 {dup 16#F5 add exch 79 add 2 index 3 1 roll put} for X }{ dup 16#11D 78 put X 0 1 9 {dup dup add 16#1EB add exch 79 add 2 index 3 1 roll put} for X } ifelse def X /FDepVector [FDepVector aload pop _FN /.Hankaku _bind X dup /_ _bind exch 128 128 0 3 index findfont _shiftE definefont X UserGaijiName findfont dup /isNeXTGaiji 2 copy known { X get {/FDepVector get 1 7 getinterval aload pop X }{pop /NotDefFont findfont 6 {dup} repeat}ifelse X }{pop pop pop /NotDefFont findfont 6 {dup} repeat}ifelse X _FN /-NeXT-SystemGaiji _bind findfont /FDepVector get 1 3 getinterval X aload pop] def X currentdict end definefont X}ifelse X} __NJbdef X/_findNarrow { % /FName _findNarrow -font- X dup _str cvs (Narrow) anchorsearch {pop cvn exch _find {exch pop}{ X exch findfont 0 _copyfont@ dup /FontName 3 index put X dup /FontMatrix 2 copy get [5 6 div 0 0 1 0 0] matrix concatmatrix put X definefont}ifelse X }{pop findfont}ifelse X} __NJbdef X/_defmixfont@ { % /FName [/ASCII /KANJI shiftmtx] _defmixfont@ -font- X aload pop /_@shiftmatrix exch __NJdef (-NeXT-H) _bind findfont X /_EUC exch __NJdef _findNarrow /_@ASCII exch __NJdef X dup /_ exch _bind dup _EUC /Encoding get length 2 idiv dup 0 _EUC _shiftE X dup /Encoding 2 copy get dup X 3 index /FMapType get 5 eq {16#41}{16#20}ifelse 89 put put X dup /FontMatrix _@shiftmatrix put X dup /FDepVector [ _EUC /FDepVector get aload pop _EUC /FMapType get 5 eq { X /_S_ _@ASCII /FontName get _bind _@ASCII 0 _copyfont@ X dup /Encoding 2 copy get 256 array copy dup dup dup 0 128 getinterval X 128 exch putinterval 0 _@ASCII /Encoding get 128 128 getinterval X putinterval put dup /FontName 3 index put definefont X }{_@ASCII}ifelse X _@shiftmatrix matrix invertmatrix makefont] put definefont X 15 dict begin X /FontName 2 index def X /FontType 0 def /PaintType 0 def X /FMapType 4 def /FontMatrix matrix def X /Encoding [0 1] def /PrefEnc 1 index /Encoding get def X /FontBBox _@ASCII /FontBBox get 4 array copy cvx X dup 2 get 1000 lt {dup 2 1000 put}if X dup 3 get 880 lt {dup 3 880 put}if def X /FontInfo _@ASCII /FontInfo get def X /FDepVector [_@ASCII 4 -1 roll] def X currentdict end definefont X} __NJbdef X/Ryumin-Light-NeXT-H {/Ryumin-Light true _defNeXTF} __NJbdef X/Ryumin-Light-NeXT-V {/Ryumin-Light false _defNeXTF} __NJbdef X/GothicBBB-Medium-NeXT-H {/GothicBBB-Medium true _defNeXTF} __NJbdef X/GothicBBB-Medium-NeXT-V {/GothicBBB-Medium false _defNeXTF} __NJbdef X/Ryumin-Light-NeXT-SystemGaiji {/Ryumin-Light _defSGaiji} __NJbdef X/GothicBBB-Medium-NeXT-SystemGaiji {/GothicBBB-Medium _defSGaiji} __NJbdef X/FixedRyuminCourier-Light { X [/NarrowCourier /Ryumin-Light matrix] _defmixfont@} __NJbdef X/FixedRyuminCourier-LightOblique { X [/NarrowCourier-Oblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/FixedRyuminCourier-Bold { X [/NarrowCourier-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef X/FixedRyuminCourier-BoldOblique { X [/NarrowCourier-BoldOblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/RyuminTimes-Light { X [/Times-Roman /Ryumin-Light matrix] _defmixfont@} __NJbdef X/RyuminTimes-LightOblique { X [/Times-Italic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef X/RyuminTimes-Bold { X [/Times-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef X/RyuminTimes-BoldOblique { X [/Times-BoldItalic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef X/FixedGothicBBBCourier { X [/NarrowCourier /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/FixedGothicBBBCourier-Oblique { X [/NarrowCourier-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/FixedGothicBBBCourier-Bold { X [/NarrowCourier-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/FixedGothicBBBCourier-BoldOblique { X [/NarrowCourier-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/GothicBBBHelvetica { X [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/GothicBBBHelvetica-Oblique { X [/Helvetica-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/GothicBBBHelvetica-Bold { X [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/GothicBBBHelvetica-BoldOblique { X [/Helvetica-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/TitleGothicBBBHelvetica { X [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/TitleGothicBBBHelvetica-Bold { X [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X X/NextStepEncoding where not{ X/NextStepEncoding StandardEncoding 256 array copy def X0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave X/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis X/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute X/Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright X176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior X204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave X/aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute X/ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth X/ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute X/ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] X{dup type /nametype eq X {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse X}forall pop X/NextStepEncoding NextStepEncoding readonly def X/_NXfstr 128 string dup 0 (_NX) putinterval def X/_NXfindfont /findfont load def X X/NJEncoding NextStepEncoding /Encoding defineresource pop X X/findfont{ X % Because we can never let NextStepEncoding get into X % SharedFontDirectory, we cannot reencode a font to NextStepEncoding X % if we are in shared mode. So if currentshared is true, X % we call the normal findfont and return that X /currentshared where {pop currentshared} {false} ifelse X {_NXfindfont}{dup //_@Private exch known { X //_@Private begin dup load exec end X }{dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll X getinterval cvn exch FontDirectory 2 index known X {pop FontDirectory exch get} X {_NXfindfont dup /Encoding get StandardEncoding eq X { dup length dict exch X {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall X dup /Encoding NextStepEncoding put definefont X }{exch pop} ifelse X }ifelse X }ifelse X }ifelse X}bind def X}{pop}ifelse X/_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef X/_NXDoImageOp{ X 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def X chans 2 add 2 roll parr 0 chans getinterval astore pop X 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse X 4 index mul /totbytes exch def pop exch pop X gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore X {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end X}__NXbdef X/alphaimage{1 add _NXDoImageOp}def X_NXLevel2{ X /NXCalibratedRGBColorSpace where{pop}{ X /NXCalibratedRGBColorSpace X {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped X {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin X /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def X /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse X /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef X /nxsetgray{dup dup nxsetrgbcolor}__NXbdef X /_NXSetCMYKOrRGB{nxsetrgbcolor pop pop pop pop}__NXbdef X /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse X 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if X 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def X currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} X {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse X /DataSource exch def /ImageMatrix exch def X /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef X} { X /setcmykcolor{ X 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll X 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef X /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef X /colorimage{_NXDoImageOp}__NXbdef X /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef X /setpattern{pop .5 setgray}__NXbdef X /_NXSetCMYKOrRGB{pop pop pop setcmykcolor}__NXbdef X /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef X} ifelse X%%EndProcSet X X_NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def X}if Xgsave X /__NXbasematrix matrix currentmatrix def Xgrestore X%%EndProlog X%%BeginSetup X/oval { X translate scale newpath 0.5 0.5 0.5 0 360 arc X} def /line { X moveto rlineto stroke X} def /setup { X setlinewidth setlinecap setlinejoin gsave X} def /arrow { X newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate X} def X%%EndSetup X0 0 792 1008 rectclip X-5 -5 270 240 rectclip X-5 -5 270 240 rectclip X0 0 0 setup X0 setgray Xgsave X46 41 translate X0.00384 7.391304 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-11979.166992 -5.547059 55729.167969 25.570587 setbbox X0 0 moveto X0 0 lineto X0 23 lineto X1000 23 lineto X1000 20 lineto X2000 20 lineto X2000 11 lineto X3000 11 lineto X3000 8 lineto X4000 8 lineto X4000 3 lineto X5000 3 lineto X5000 1 lineto X6000 1 lineto X6000 1 lineto X7000 1 lineto X7000 2 lineto X8000 2 lineto X8000 1 lineto X9000 1 lineto X9000 1 lineto X10000 1 lineto X10000 0 lineto X11000 0 lineto X11000 0 lineto X12000 0 lineto X12000 0 lineto X13000 0 lineto X13000 1 lineto X14000 1 lineto X14000 0 lineto X15000 0 lineto X15000 0 lineto X16000 0 lineto X16000 0 lineto X17000 0 lineto X17000 0 lineto X18000 0 lineto X18000 0 lineto X19000 0 lineto X19000 0 lineto X20000 0 lineto X20000 1 lineto X21000 1 lineto X21000 0 lineto X22000 0 lineto X22000 1 lineto X23000 1 lineto X23000 0 lineto X24000 0 lineto X24000 0 lineto X25000 0 lineto X25000 0 lineto X26000 0 lineto X26000 0 lineto X27000 0 lineto X27000 0 lineto X28000 0 lineto X28000 0 lineto X29000 0 lineto X29000 0 lineto X30000 0 lineto X30000 0 lineto X31000 0 lineto X31000 0 lineto X32000 0 lineto X32000 1 lineto X33000 1 lineto X33000 0 lineto X34000 0 lineto X34000 0 lineto X35000 0 lineto X35000 0 lineto X36000 0 lineto X36000 0 lineto X37000 0 lineto X37000 0 lineto X38000 0 lineto X38000 0 lineto X39000 0 lineto X39000 0 lineto X40000 0 lineto X40000 0 lineto X41000 0 lineto X41000 0 lineto X42000 0 lineto X42000 0 lineto X43000 0 lineto X43000 0 lineto X44000 0 lineto X44000 0 lineto X45000 0 lineto Xend X[260.416687 0 0 0.135294 0 0] concat Xstroke Xgrestore Xgsave Xnewpath Xsystemdict Xbegin X-11979.166992 -5.547059 55729.167969 25.570587 setbbox X45000 0 moveto X45000 1 lineto X46000 1 lineto X46000 0 lineto X47000 0 lineto X47000 0 lineto X48000 0 lineto X48000 0 lineto X49000 0 lineto X49000 0 lineto X50000 0 lineto X50000 0 lineto X50000 0 lineto Xend X[260.416687 0 0 0.135294 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00384 7.391304 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-11979.166992 -5.547059 55729.167969 25.570587 setbbox X0 0 moveto X0 23 lineto X50000 23 lineto X50000 0 lineto X0 0 lineto Xend X[260.416687 0 0 0.135294 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00384 7.391304 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-11979.166992 -5.547059 55729.167969 25.570587 setbbox X0 0 moveto X1302.083374 0 rlineto X0 5 moveto X1302.083374 0 rlineto X0 10 moveto X1302.083374 0 rlineto X0 15 moveto X1302.083374 0 rlineto X0 20 moveto X1302.083374 0 rlineto Xend X[260.416687 0 0 0.135294 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00384 7.391304 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-11979.166992 -5.547059 55729.167969 25.570587 setbbox X48697.917969 0 moveto X1302.083374 0 rlineto X48697.917969 5 moveto X1302.083374 0 rlineto X48697.917969 10 moveto X1302.083374 0 rlineto X48697.917969 15 moveto X1302.083374 0 rlineto X48697.917969 20 moveto X1302.083374 0 rlineto Xend X[260.416687 0 0 0.135294 0 0] concat Xstroke Xgrestore Xgrestore Xgsave (Helvetica) 10.4 selectfont 43.400002 41 translate 0 rotate (0) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 77.95652 translate 0 rotate (5) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 114.91304 translate 0 rotate (10) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 151.869568 translate 0 rotate (15) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 188.82608 translate 0 rotate (20) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave X46 41 translate X0.00384 7.391304 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-11979.166992 -5.547059 55729.167969 25.570587 setbbox X0 0 moveto X0 0.676471 rlineto X10000 0 moveto X0 0.676471 rlineto X20000 0 moveto X0 0.676471 rlineto X30000 0 moveto X0 0.676471 rlineto X40000 0 moveto X0 0.676471 rlineto X50000 0 moveto X0 0.676471 rlineto Xend X[260.416687 0 0 0.135294 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00384 7.391304 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-11979.166992 -5.547059 55729.167969 25.570587 setbbox X0 22.32353 moveto X0 0.676471 rlineto X10000 22.32353 moveto X0 0.676471 rlineto X20000 22.32353 moveto X0 0.676471 rlineto X30000 22.32353 moveto X0 0.676471 rlineto X40000 22.32353 moveto X0 0.676471 rlineto X50000 22.32353 moveto X0 0.676471 rlineto Xend X[260.416687 0 0 0.135294 0 0] concat Xstroke Xgrestore Xgrestore Xgsave (Helvetica) 10.4 selectfont 46 38.700001 translate 0 rotate (0) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 84.400002 38.700001 translate 0 rotate (1) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 122.800003 38.700001 translate 0 rotate (2) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 161.199997 38.700001 translate 0 rotate (3) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 199.600006 38.700001 translate 0 rotate (4) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 238 38.700001 translate 0 rotate (5) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore X/Helvetica 7.8 selectfont X240.600006 41 moveto X(x10) show X0 3.9 rmoveto X(4) show Xgsave (Helvetica) 13 selectfont 142 227.699997 translate 0 rotate () dup stringwidth pop 0.5 neg mul 13 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 142 2.3 translate 0 rotate (File size \(bytes\)) dup stringwidth pop 0.5 neg mul 10.4 0 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 2.6 126 translate 90 rotate (Number of occurences) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgrestore X0 setgray X0.333333 setgray Xgsave X0 0 792 1008 rectclip X[1 0 0 -1 0 1008] concat Xgrestore X%%Trailer X%%EndDocument X@endspecial Xf80 SF X100 2425 p (Figure)s X16 r (2:)s Xf82 SF X24 r (Histogram)s X16 r (of)s X17 r (the)s X16 r (size)s X17 r (of)s X16 r (report)s X17 r (mail)s X16 r (in)s X17 r (bytes,)s X17 r (generated)s X16 r (from)s X16 r (the)s X17 r (trace)s X16 r (data)s X17 r (collected)s X16 r (on)s X17 r (our)s X100 2492 p (project)s X12 r (machine)s X12 r (at)s X11 r (Osaka)s X12 r (University)s X-1 r (,)s X12 r (which)s X11 r (was)s X12 r (measured)s X12 r (during)s X12 r (two)s X12 r (months)s X11 r (period)s X12 r (as)s X12 r (of)s X12 r (October)s X12 r (10th.)s X825 2647 p 1.000 @beginspecial X@epsf X0.600000 @vscale X0.600000 @hscale X-5.000000 -5.000000 265.000000 235.000000 @bbox X@setspecial X%%BeginDocument: titech.eps X%!PS-Adobe-2.0 EPSF-2.0 X%%Title: X%%Creator: HippoDraw X%%CreationDate: Mon Feb 1 18:54:29 1993 X%%For: youki X%%DocumentFonts: (atend) X%%Pages: 0 0 X%%BoundingBox: -5 -5 265 235 X%%NXNextStepVersion: 3.0 X%%EndComments X X%%BeginProcSet: /usr/lib/NextStep/printPackage.ps 3.0 X%! X% NeXT Printing Package X% Version: 3.0J X% Modified by Canon based on Version 3.0 , 1992.01.07 X% Copyright: 1988, NeXT, Inc. X X/__NXdef{1 index where{pop pop pop}{def}ifelse}bind def X/__NXbdef{1 index where{pop pop pop}{bind def}ifelse}bind def X/UserObjects 10 array __NXdef X/defineuserobject{ X exch dup 1 add dup UserObjects length gt{ X array dup 0 UserObjects putinterval X /UserObjects exch def X }{pop}ifelse UserObjects exch 3 -1 roll put X}__NXbdef X/undefineuserobject{UserObjects exch null put}__NXbdef X/execuserobject{UserObjects exch get exec}__NXbdef X/__NXRectPath{4 2 roll moveto 1 index 0 rlineto X0 exch rlineto neg 0 rlineto closepath}__NXbdef X/__NXProcessRectArgs{ X 1 index type /arraytype eq{ X exch 0 4 2 index length 1 sub{ X dup 3 add 1 exch{1 index exch get exch}for X 5 1 roll 5 index exec X }for pop pop X }{exec}ifelse X}__NXbdef X/rectfill{gsave newpath {__NXRectPath fill} __NXProcessRectArgs grestore}__NXbdef X/rectclip{newpath {__NXRectPath} __NXProcessRectArgs clip newpath}__NXbdef X/rectstroke{ X gsave newpath dup type /arraytype eq{dup length 6 eq}{false}ifelse{ X {gsave __NXRectPath null concat stroke grestore} X dup length array cvx copy dup 2 4 -1 roll put __NXProcessRectArgs X }{{__NXRectPath stroke} __NXProcessRectArgs}ifelse grestore X}__NXbdef X/_NXLevel2 systemdict /languagelevel known {languagelevel 2 ge}{false}ifelse __NXdef X/xyshow{ X 0 1 3 index length 1 sub{ X currentpoint 4 index 3 index 1 getinterval show X 3 index 3 index 2 mul 1 add get add exch X 3 index 3 index 2 mul get add exch moveto pop X }for pop pop X}__NXbdef X/xshow{ X 0 1 3 index length 1 sub{ X currentpoint 4 index 3 index 1 getinterval show X exch 3 index 3 index get add exch moveto pop X }for pop pop X}__NXbdef X/yshow{ X 0 1 3 index length 1 sub{ X currentpoint 4 index 3 index 1 getinterval show X 3 index 3 index get add moveto pop X }for pop pop X}__NXbdef X/arct{arcto pop pop pop pop}__NXbdef X/setbbox{pop pop pop pop}__NXbdef X/ucache{}__NXbdef X/ucachestatus{mark 0 0 0 0 0}__NXbdef X/setucacheparams{cleartomark}__NXbdef X/uappend{systemdict begin cvx exec end}__NXbdef X/ueofill{gsave newpath uappend eofill grestore}__NXbdef X/ufill{gsave newpath uappend fill grestore}__NXbdef X/ustroke{ X gsave newpath dup length 6 eq X {exch uappend concat}{uappend}ifelse X stroke grestore X}__NXbdef X/__NXustrokepathMatrix dup where {pop pop}{matrix def}ifelse X/ustrokepath{ X newpath dup length 6 eq{ X exch uappend __NXustrokepathMatrix currentmatrix exch concat X strokepath setmatrix X }{uappend strokepath}ifelse X} __NXbdef X/upath{ X [exch {/ucache cvx}if pathbbox /setbbox cvx X {/moveto cvx}{/lineto cvx}{/curveto cvx}{/closepath cvx}pathforall]cvx X} __NXbdef X/setstrokeadjust{pop}__NXbdef X/currentstrokeadjust{false}__NXbdef X/selectfont{exch findfont exch Xdup type /arraytype eq {makefont}{scalefont}ifelse setfont}__NXbdef X/_NXCombineArrays{ X counttomark dup 2 add index dup length 3 -1 roll { X 2 index length sub dup 4 1 roll 1 index exch 4 -1 roll putinterval exch X }repeat pop pop pop X}__NXbdef X/flushgraphics{}def X/setwindowtype{pop pop}def X/currentwindowtype{pop 0}def X/setalpha{pop}def X/currentalpha{1.0}def X/hidecursor{}def X/obscurecursor{}def X/revealcursor{}def X/setcursor{4 {pop}repeat}bind def X/showcursor{}def X X/SharedFontDirectory FontDirectory __NXdef X/_JPN /GothicBBB-Medium-EUC-H dup findfont /FontName get eq def X X_JPN { X mark { /NJ12-88-CFEncoding findencoding } stopped { X /defineresource { X pop dup 3 1 roll userdict /EncodingDirectory get 3 1 roll readonly put X } __NXbdef X /GothicBBB-Medium-EUC-H findfont begin X Encoding dup length array copy dup dup dup length 2 idiv dup getinterval X 0 exch putinterval X FMapType 2 eq { X dup 16#0E 78 put dup 16#20 89 put X 0 1 9 {dup 16#75 add exch 79 add 2 index 3 1 roll put} for X }{ X dup 16#1D 78 put dup 16#41 89 put X 0 1 9 {dup dup add 16#EB add exch 79 add 2 index 3 1 roll put} for X } ifelse X /NJ12-88-CFEncoding exch /Encoding defineresource pop X /EUCEncoding FDepVector 10 get /Encoding get /Encoding defineresource pop X end X } if cleartomark X} if X X/_@Private dup where {pop pop}{50 dict def}ifelse X/__NJdef _JPN {{//_@Private 3 1 roll put}}{{pop pop}} ifelse bind def X/__NJbdef _JPN {{//_@Private 2 index known {pop pop}{bind //_@Private 3 1 roll put}ifelse}}{{pop pop}} ifelse bind def X/_str 128 string __NJdef X/_find { % /FName _find FontOrFName bool X false 0 {dup 3 index known {3 -1 roll get exch pop true exit}{pop}ifelse} forall X} bind dup 1 X[/SharedFontDirectory dup where {exch get}{pop}ifelse //FontDirectory] put //_@Private 3 1 roll put X/_copyfont@ { % -font- extension _copyfont@ -dict- X 1 index maxlength add dict begin { X 1 index /FID ne 2 index /UniqueID ne and {def}{pop pop}ifelse X } forall currentdict end X} __NJbdef X/_bind { % /n1 /n2 _bind /n1+2 X exch dup length 2 index length add _str 4 2 roll X _str cvs length exch dup length string cvs putinterval X _str exch 0 exch getinterval cvn X} __NJbdef X/NDEncoding 256 array dup 0 1 255 {/.notdef put dup} for pop __NJdef X/_shiftE { % /Fname start length target -font- _shiftE -dict- X 0 _copyfont@ begin Encoding 4 2 roll getinterval NDEncoding 256 array X copy dup 4 -2 roll putinterval Encoding length 256 eq { X dup dup 0 128 getinterval 128 exch putinterval } if X /Encoding exch def /FontName exch def currentdict end X} __NJbdef X/_makeSGFDV { % - _makeSGFDV [FDV] X [ _FN /.WP-Symbol _bind findfont X _SGFN /.rFC _bind dup 0 96 32 5 index _shiftE definefont X _SGFN /.rFD _bind dup 96 32 32 6 index _shiftE definefont X _SGFN /.rFE _bind dup 0 128 0 _FN /-Ext-H _bind findfont dup /Encoding get X 16#2d get exch /FDepVector get exch get _shiftE dup /Encoding 2 copy get X [16#f0 16#f1 16#f2 16#f5 16#f6 16#f7 16#fa 16#fb 16#fc] { X dup 2 index exch /.notdef put 128 sub 1 index exch /.notdef put X } forall put definefont X ] dup 0 /NotDefFont findfont put X} __NJbdef X/_defSGaiji { % /fullname /basename _defSGaiji -sysGaiji- X /_FN exch __NJdef /_SGFN exch __NJdef 15 dict X dup /FontName _SGFN put dup /FontType 0 put X dup /FMapType 2 put dup /FontMatrix matrix put X dup /FontBBox {0 -140 1000 880} put X dup /Encoding 256 array 0 1 255 {1 index exch 0 put}for X dup 16#FC 1 put dup 16#FD 2 put dup 16#FE 3 put put X dup /FDepVector _makeSGFDV put dup /isNeXTGaiji true put X _SGFN exch definefont X} __NJbdef X/_defNeXTF { % /fullname /basename Hflag _defNeXTF X2 index _find { 4 1 roll pop pop pop}{pop X /_FN 2 index __NJdef {/-EUC-H}{/-EUC-V}ifelse _bind findfont X 1 _copyfont@ begin X /FontName 1 index def X /UserGaijiName _FN /-NeXT-UserGaiji _bind def X /Encoding Encoding dup length array copy FMapType 2 eq {dup 16#8E 78 put X 0 1 9 {dup 16#F5 add exch 79 add 2 index 3 1 roll put} for X }{ dup 16#11D 78 put X 0 1 9 {dup dup add 16#1EB add exch 79 add 2 index 3 1 roll put} for X } ifelse def X /FDepVector [FDepVector aload pop _FN /.Hankaku _bind X dup /_ _bind exch 128 128 0 3 index findfont _shiftE definefont X UserGaijiName findfont dup /isNeXTGaiji 2 copy known { X get {/FDepVector get 1 7 getinterval aload pop X }{pop /NotDefFont findfont 6 {dup} repeat}ifelse X }{pop pop pop /NotDefFont findfont 6 {dup} repeat}ifelse X _FN /-NeXT-SystemGaiji _bind findfont /FDepVector get 1 3 getinterval X aload pop] def X currentdict end definefont X}ifelse X} __NJbdef X/_findNarrow { % /FName _findNarrow -font- X dup _str cvs (Narrow) anchorsearch {pop cvn exch _find {exch pop}{ X exch findfont 0 _copyfont@ dup /FontName 3 index put X dup /FontMatrix 2 copy get [5 6 div 0 0 1 0 0] matrix concatmatrix put X definefont}ifelse X }{pop findfont}ifelse X} __NJbdef X/_defmixfont@ { % /FName [/ASCII /KANJI shiftmtx] _defmixfont@ -font- X aload pop /_@shiftmatrix exch __NJdef (-NeXT-H) _bind findfont X /_EUC exch __NJdef _findNarrow /_@ASCII exch __NJdef X dup /_ exch _bind dup _EUC /Encoding get length 2 idiv dup 0 _EUC _shiftE X dup /Encoding 2 copy get dup X 3 index /FMapType get 5 eq {16#41}{16#20}ifelse 89 put put X dup /FontMatrix _@shiftmatrix put X dup /FDepVector [ _EUC /FDepVector get aload pop _EUC /FMapType get 5 eq { X /_S_ _@ASCII /FontName get _bind _@ASCII 0 _copyfont@ X dup /Encoding 2 copy get 256 array copy dup dup dup 0 128 getinterval X 128 exch putinterval 0 _@ASCII /Encoding get 128 128 getinterval X putinterval put dup /FontName 3 index put definefont X }{_@ASCII}ifelse X _@shiftmatrix matrix invertmatrix makefont] put definefont X 15 dict begin X /FontName 2 index def X /FontType 0 def /PaintType 0 def X /FMapType 4 def /FontMatrix matrix def X /Encoding [0 1] def /PrefEnc 1 index /Encoding get def X /FontBBox _@ASCII /FontBBox get 4 array copy cvx X dup 2 get 1000 lt {dup 2 1000 put}if X dup 3 get 880 lt {dup 3 880 put}if def X /FontInfo _@ASCII /FontInfo get def X /FDepVector [_@ASCII 4 -1 roll] def X currentdict end definefont X} __NJbdef X/Ryumin-Light-NeXT-H {/Ryumin-Light true _defNeXTF} __NJbdef X/Ryumin-Light-NeXT-V {/Ryumin-Light false _defNeXTF} __NJbdef X/GothicBBB-Medium-NeXT-H {/GothicBBB-Medium true _defNeXTF} __NJbdef X/GothicBBB-Medium-NeXT-V {/GothicBBB-Medium false _defNeXTF} __NJbdef X/Ryumin-Light-NeXT-SystemGaiji {/Ryumin-Light _defSGaiji} __NJbdef X/GothicBBB-Medium-NeXT-SystemGaiji {/GothicBBB-Medium _defSGaiji} __NJbdef X/FixedRyuminCourier-Light { X [/NarrowCourier /Ryumin-Light matrix] _defmixfont@} __NJbdef X/FixedRyuminCourier-LightOblique { X [/NarrowCourier-Oblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/FixedRyuminCourier-Bold { X [/NarrowCourier-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef X/FixedRyuminCourier-BoldOblique { X [/NarrowCourier-BoldOblique /Ryumin-Light [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/RyuminTimes-Light { X [/Times-Roman /Ryumin-Light matrix] _defmixfont@} __NJbdef X/RyuminTimes-LightOblique { X [/Times-Italic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef X/RyuminTimes-Bold { X [/Times-Bold /Ryumin-Light matrix] _defmixfont@} __NJbdef X/RyuminTimes-BoldOblique { X [/Times-BoldItalic /Ryumin-Light [1 0 .277325 1 0 0]] _defmixfont@} __NJbdef X/FixedGothicBBBCourier { X [/NarrowCourier /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/FixedGothicBBBCourier-Oblique { X [/NarrowCourier-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/FixedGothicBBBCourier-Bold { X [/NarrowCourier-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/FixedGothicBBBCourier-BoldOblique { X [/NarrowCourier-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/GothicBBBHelvetica { X [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/GothicBBBHelvetica-Oblique { X [/Helvetica-Oblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/GothicBBBHelvetica-Bold { X [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/GothicBBBHelvetica-BoldOblique { X [/Helvetica-BoldOblique /GothicBBB-Medium [1 0 .212557 1 0 0]] _defmixfont@} __NJbdef X/TitleGothicBBBHelvetica { X [/Helvetica /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X/TitleGothicBBBHelvetica-Bold { X [/Helvetica-Bold /GothicBBB-Medium matrix] _defmixfont@} __NJbdef X X/NextStepEncoding where not{ X/NextStepEncoding StandardEncoding 256 array copy def X0 [129/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/Ccedilla/Egrave X/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis X/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/Ugrave/Uacute X/Ucircumflex/Udieresis/Yacute/Thorn/mu/multiply/divide/copyright X176/registered 181/brokenbar 190/logicalnot 192/onesuperior 201/twosuperior X204/threesuperior 209/plusminus/onequarter/onehalf/threequarters/agrave X/aacute/acircumflex/atilde/adieresis/aring/ccedilla/egrave/eacute X/ecircumflex/edieresis/igrave 226/iacute 228/icircumflex/idieresis/eth X/ntilde 236/ograve/oacute/ocircumflex/otilde/odieresis 242/ugrave/uacute X/ucircumflex 246/udieresis/yacute 252/thorn/ydieresis] X{dup type /nametype eq X {NextStepEncoding 2 index 2 index put pop 1 add}{exch pop}ifelse X}forall pop X/NextStepEncoding NextStepEncoding readonly def X/_NXfstr 128 string dup 0 (_NX) putinterval def X/_NXfindfont /findfont load def X X/NJEncoding NextStepEncoding /Encoding defineresource pop X X/findfont{ X % Because we can never let NextStepEncoding get into X % SharedFontDirectory, we cannot reencode a font to NextStepEncoding X % if we are in shared mode. So if currentshared is true, X % we call the normal findfont and return that X /currentshared where {pop currentshared} {false} ifelse X {_NXfindfont}{dup //_@Private exch known { X //_@Private begin dup load exec end X }{dup _NXfstr 3 125 getinterval cvs length 3 add _NXfstr 0 3 -1 roll X getinterval cvn exch FontDirectory 2 index known X {pop FontDirectory exch get} X {_NXfindfont dup /Encoding get StandardEncoding eq X { dup length dict exch X {1 index /FID ne {2 index 3 1 roll put}{pop pop}ifelse}forall X dup /Encoding NextStepEncoding put definefont X }{exch pop} ifelse X }ifelse X }ifelse X }ifelse X}bind def X}{pop}ifelse X/_NXImageString {/__NXImageString where{pop}{/__NXImageString 4000 string __NXdef}ifelse __NXImageString}__NXbdef X/_NXDoImageOp{ X 3 dict begin /parr 5 array def 1 index{dup}{1}ifelse /chans exch def X chans 2 add 2 roll parr 0 chans getinterval astore pop X 5 index 4 index mul 2 index{1 sub 8 idiv 1 add mul}{mul 1 sub 8 idiv 1 add}ifelse X 4 index mul /totbytes exch def pop exch pop X gsave matrix invertmatrix concat 0.5 setgray 0 0 4 2 roll rectfill grestore X {0 1 chans 1 sub{parr exch get exec length totbytes exch sub /totbytes exch def}for totbytes 0 le{exit}if}loop end X}__NXbdef X/alphaimage{1 add _NXDoImageOp}def X_NXLevel2{ X /NXCalibratedRGBColorSpace where{pop}{ X /NXCalibratedRGBColorSpace X {mark /NXCalibratedRGB /ColorSpace findresource exch pop}stopped X {cleartomark /NXCalibratedRGB[/CIEBasedABC 2 dict dup begin X /MatrixLMN[.4124 .2126 .0193 .3576 .7152 .1192 .1805 .0722 .9505]def X /WhitePoint[.9505 1 1.089] def end] /ColorSpace defineresource}if def}ifelse X /nxsetrgbcolor{NXCalibratedRGBColorSpace setcolorspace setcolor}__NXbdef X /nxsetgray{dup dup nxsetrgbcolor}__NXbdef X /_NXSetCMYKOrRGB{nxsetrgbcolor pop pop pop pop}__NXbdef X /_NXCalibratedImage{exch{array astore dup length true}{false}ifelse X 8 -1 roll{NXCalibratedRGBColorSpace setcolorspace}if X 8 dict dup 9 1 roll begin /ImageType 1 def /MultipleDataSources exch def X currentcolorspace 0 get /Indexed eq{pop /Decode[0 2 6 index exp 1 sub]def} X {2 mul dup array /Decode exch def 1 sub 0 1 3 -1 roll{Decode exch dup 2 mod put}for}ifelse X /DataSource exch def /ImageMatrix exch def X /BitsPerComponent exch def /Height exch def /Width exch def end image}__NXbdef X} { X /setcmykcolor{ X 1.0 exch sub dup dup 6 -1 roll sub dup 0 lt{pop 0}if 5 1 roll X 4 -1 roll sub dup 0 lt{pop 0}if 3 1 roll exch sub dup 0 lt{pop 0}if setrgbcolor}__NXbdef X /currentcmykcolor{currentrgbcolor 3{1.0 exch sub 3 1 roll}repeat 0}__NXbdef X /colorimage{_NXDoImageOp}__NXbdef X /nxsetrgbcolor{setrgbcolor}__NXbdef /nxsetgray{setgray}__NXbdef X /setpattern{pop .5 setgray}__NXbdef X /_NXSetCMYKOrRGB{pop pop pop setcmykcolor}__NXbdef X /_NXCalibratedImage{dup 1 eq {pop pop image}{colorimage}ifelse pop}__NXbdef X} ifelse X%%EndProcSet X X_NXLevel2{/_NXsethsb where{pop}{/_NXsethsb /sethsbcolor load def}ifelse /sethsbcolor{_NXsethsb currentrgbcolor nxsetrgbcolor}def /setrgbcolor{nxsetrgbcolor}bind def /setgray{nxsetgray}bind def X}if Xgsave X /__NXbasematrix matrix currentmatrix def Xgrestore X%%EndProlog X%%BeginSetup X/oval { X translate scale newpath 0.5 0.5 0.5 0 360 arc X} def /line { X moveto rlineto stroke X} def /setup { X setlinewidth setlinecap setlinejoin gsave X} def /arrow { X newpath moveto dup rotate -13 6 rlineto 4 -6 rlineto -4 -6 rlineto closepath gsave 0 setlinejoin stroke grestore fill neg rotate X} def X%%EndSetup X0 0 792 1008 rectclip X-5 -5 270 240 rectclip X-5 -5 270 240 rectclip X0 0 0 setup X0 setgray Xgsave X46 41 translate X0.00768 3.207547 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-5989.583496 -12.782352 27864.583984 58.923531 setbbox X0 0 moveto X0 0 lineto X0 0 lineto X500 0 lineto X500 53 lineto X1000 53 lineto X1000 9 lineto X1500 9 lineto X1500 10 lineto X2000 10 lineto X2000 4 lineto X2500 4 lineto X2500 3 lineto X3000 3 lineto X3000 1 lineto X3500 1 lineto X3500 0 lineto X4000 0 lineto X4000 0 lineto X4500 0 lineto X4500 0 lineto X5000 0 lineto X5000 0 lineto X5500 0 lineto X5500 1 lineto X6000 1 lineto X6000 0 lineto X6500 0 lineto X6500 0 lineto X7000 0 lineto X7000 1 lineto X7500 1 lineto X7500 0 lineto X8000 0 lineto X8000 0 lineto X8500 0 lineto X8500 0 lineto X9000 0 lineto X9000 0 lineto X9500 0 lineto X9500 0 lineto X10000 0 lineto X10000 0 lineto X10500 0 lineto X10500 0 lineto X11000 0 lineto X11000 0 lineto X11500 0 lineto X11500 0 lineto X12000 0 lineto X12000 0 lineto X12500 0 lineto X12500 0 lineto X13000 0 lineto X13000 0 lineto X13500 0 lineto X13500 0 lineto X14000 0 lineto X14000 0 lineto X14500 0 lineto X14500 0 lineto X15000 0 lineto X15000 0 lineto X15500 0 lineto X15500 0 lineto X16000 0 lineto X16000 0 lineto X16500 0 lineto X16500 0 lineto X17000 0 lineto X17000 0 lineto X17500 0 lineto X17500 0 lineto X18000 0 lineto X18000 0 lineto X18500 0 lineto X18500 0 lineto X19000 0 lineto X19000 0 lineto X19500 0 lineto X19500 0 lineto X20000 0 lineto X20000 0 lineto X20500 0 lineto X20500 1 lineto X21000 1 lineto X21000 0 lineto X21500 0 lineto X21500 0 lineto X22000 0 lineto X22000 0 lineto X22500 0 lineto Xend X[130.208344 0 0 0.311765 0 0] concat Xstroke Xgrestore Xgsave Xnewpath Xsystemdict Xbegin X-5989.583496 -12.782352 27864.583984 58.923531 setbbox X22500 0 moveto X22500 0 lineto X23000 0 lineto X23000 0 lineto X23500 0 lineto X23500 0 lineto X24000 0 lineto X24000 0 lineto X24500 0 lineto X24500 0 lineto X25000 0 lineto X25000 0 lineto X25000 0 lineto Xend X[130.208344 0 0 0.311765 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00768 3.207547 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-5989.583496 -12.782352 27864.583984 58.923531 setbbox X0 0 moveto X0 53 lineto X25000 53 lineto X25000 0 lineto X0 0 lineto Xend X[130.208344 0 0 0.311765 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00768 3.207547 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-5989.583496 -12.782352 27864.583984 58.923531 setbbox X0 0 moveto X651.041687 0 rlineto X0 10 moveto X651.041687 0 rlineto X0 20 moveto X651.041687 0 rlineto X0 30 moveto X651.041687 0 rlineto X0 40 moveto X651.041687 0 rlineto X0 50 moveto X651.041687 0 rlineto Xend X[130.208344 0 0 0.311765 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00768 3.207547 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-5989.583496 -12.782352 27864.583984 58.923531 setbbox X24348.958984 0 moveto X651.041687 0 rlineto X24348.958984 10 moveto X651.041687 0 rlineto X24348.958984 20 moveto X651.041687 0 rlineto X24348.958984 30 moveto X651.041687 0 rlineto X24348.958984 40 moveto X651.041687 0 rlineto X24348.958984 50 moveto X651.041687 0 rlineto Xend X[130.208344 0 0 0.311765 0 0] concat Xstroke Xgrestore Xgrestore Xgsave (Helvetica) 10.4 selectfont 43.400002 41 translate 0 rotate (0) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 73.07547 translate 0 rotate (10) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 105.15094 translate 0 rotate (20) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 137.22641 translate 0 rotate (30) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 169.30188 translate 0 rotate (40) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 43.400002 201.377365 translate 0 rotate (50) dup stringwidth pop 1 neg mul 10.4 0.4 neg mul moveto show grestore Xgsave X46 41 translate X0.00768 3.207547 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-5989.583496 -12.782352 27864.583984 58.923531 setbbox X0 0 moveto X0 1.558823 rlineto X5000 0 moveto X0 1.558823 rlineto X10000 0 moveto X0 1.558823 rlineto X15000 0 moveto X0 1.558823 rlineto X20000 0 moveto X0 1.558823 rlineto X25000 0 moveto X0 1.558823 rlineto Xend X[130.208344 0 0 0.311765 0 0] concat Xstroke Xgrestore Xgrestore Xgsave X46 41 translate X0.00768 3.207547 scale X0 0 translate Xgsave Xnewpath Xsystemdict Xbegin X-5989.583496 -12.782352 27864.583984 58.923531 setbbox X0 51.441177 moveto X0 1.558823 rlineto X5000 51.441177 moveto X0 1.558823 rlineto X10000 51.441177 moveto X0 1.558823 rlineto X15000 51.441177 moveto X0 1.558823 rlineto X20000 51.441177 moveto X0 1.558823 rlineto X25000 51.441177 moveto X0 1.558823 rlineto Xend X[130.208344 0 0 0.311765 0 0] concat Xstroke Xgrestore Xgrestore Xgsave (Helvetica) 10.4 selectfont 46 38.700001 translate 0 rotate (0) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 84.400002 38.700001 translate 0 rotate (5000) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 122.800003 38.700001 translate 0 rotate (10000) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 161.199997 38.700001 translate 0 rotate (15000) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 199.600006 38.700001 translate 0 rotate (20000) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 238 38.700001 translate 0 rotate (25000) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgsave (Helvetica) 13 selectfont 142 227.699997 translate 0 rotate () dup stringwidth pop 0.5 neg mul 13 0.8 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 142 2.3 translate 0 rotate (File size \(bytes\)) dup stringwidth pop 0.5 neg mul 10.4 0 neg mul moveto show grestore Xgsave (Helvetica) 10.4 selectfont 2.6 126 translate 90 rotate (Number of occurences) dup stringwidth pop 0.5 neg mul 10.4 0.8 neg mul moveto show grestore Xgrestore X0 setgray X0.333333 setgray Xgsave X0 0 792 1008 rectclip X[1 0 0 -1 0 1008] concat Xgrestore X%%Trailer X%%EndDocument X@endspecial Xf80 SF X100 3624 p (Figure)s X19 r (3:)s Xf82 SF X29 r (Histogram)s X19 r (of)s X19 r (the)s X20 r (size)s X19 r (of)s X19 r (report)s X19 r (mail)s X19 r (in)s X19 r (bytes,)s X21 r (generated)s X19 r (from)s X19 r (the)s X19 r (trace)s X19 r (data)s X20 r (collected)s X19 r (on)s X19 r (a)s X100 3691 p (machine)s X13 r (at)s X13 r (T)s X-4 r (okyo)s X11 r (Institute)s X13 r (of)s X13 r (T)s X-4 r (echnology)s X-2 r (,)s X12 r (which)s X13 r (was)s X13 r (measured)s X12 r (during)s X13 r (two)s X13 r (months)s X13 r (period)s X13 r (as)s X13 r (of)s X12 r (October)s X100 3757 p (9th.)s Xf80 SF X1261 3946 p (2)s XEP X X%%Page: 3 3 XBP Xf99 SF X100 260 p (Security)s X20 r (and)s X20 r (Privacy)s X20 r (Consideration)s Xf80 SF X100 384 p (Since)s X15 r (the)s X16 r (event)s X15 r (tracing)s X16 r (mechanism)s X15 r (does)s X16 r (not)s X15 r (take)s X16 r (any)s X15 r (input)s X16 r (for)s X15 r (itself,)s X16 r (it)s X16 r (does)s X15 r (not)s X16 r (introduce)s X15 r (any)s X16 r (possibility)s X100 450 p (of)s X14 r (security)s X14 r (intrusion.)s X183 516 p (The)s X11 r (event)s X12 r (data)s X11 r (structure)s X11 r (has)s X12 r (been)s X11 r (designed)s X11 r (so)s X12 r (that)s X11 r (it)s X11 r (does)s X12 r (not)s X11 r (convey)s X12 r (any)s X11 r (privacy)s X11 r (information,)s X12 r (as)s X11 r (shown)s X100 583 p (in)s X14 r (Figure)s X14 r (1.)s Xf99 SF X100 769 p (References)s Xf80 SF X100 893 p ([1])s X28 r (Y)s X-5 r (ouki)s X14 r (Kadobayashi.)s Xf81 SF X24 r (WWFS)s X15 r (Refer)s X-1 r (ence)s X14 r (Manual)s Xf80 SF X(.)s X23 r (WWFS)s X15 r (Research)s X15 r (Group,)s X16 r (Department)s X14 r (of)s X15 r (Information)s X192 959 p (&)s X14 r (Computer)s X14 r (Sciences,)s X14 r (Osaka)s X14 r (University)s X-3 r (,)s X13 r (January)s X14 r (1993.)s X100 1070 p ([2])s X28 r (Internet)s X10 r (Activities)s X10 r (Board.)s X13 r (Guidelines)s X11 r (for)s X10 r (Internet)s X10 r (measurement)s X10 r (activities.)s X14 r (RFC)s X10 r (1262,)s X11 r (Internet)s X10 r (Activities)s X192 1136 p (Board,)s X14 r (October)s X14 r (1991.)s Xf99 SF X100 1323 p (Author)s X1 r (')s X-2 r (s)s X19 r (Address)s Xf80 SF X586 1446 p (Y)s X-4 r (ouki)s X13 r (Kadobayashi)s X586 1512 p (Information)s X14 r (Network)s X14 r (Architecture)s X14 r (Lab.)s X586 1579 p (Department)s X14 r (of)s X14 r (Information)s X14 r (and)s X14 r (Computer)s X13 r (Sciences)s X586 1645 p (Osaka)s X14 r (University)s X586 1712 p (T)s X-3 r (oyonaka)s X13 r (560,)s X14 r (Osaka,)s X14 r (Japan)s X586 1845 p (Phone:)s X19 r (+81)s X14 r (6)s X13 r (844)s X14 r (1)s X-1 r (151)s X13 r (ex.6025)s X586 1911 p (F)s X-3 r (AX:)s X13 r (+81)s X14 r (6)s X14 r (850)s X14 r (3065)s X586 1977 p (E-mail:)s X19 r (youki@ics.osaka-u.ac.jp)s X1261 3946 p (3)s XEP X%%Trailer X%%Pages: 3 XEND X%%EOF END_OF_FILE if test 62722 -ne `wc -c <'doc/trace.ps'`; then echo shar: \"'doc/trace.ps'\" unpacked with wrong size! fi # end of 'doc/trace.ps' fi if test -f 'mosaic/xmosaic-1.2+wwfs.diff' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'mosaic/xmosaic-1.2+wwfs.diff'\" else echo shar: Extracting \"'mosaic/xmosaic-1.2+wwfs.diff'\" \(19037 characters\) sed "s/^X//" >'mosaic/xmosaic-1.2+wwfs.diff' <<'END_OF_FILE' Xdiff -c -r -N xmosaic-1.2/libhtmlw/Makefile xmosaic-1.2+wwfs/libhtmlw/Makefile X*** xmosaic-1.2/libhtmlw/Makefile Sun May 16 18:12:11 1993 X--- xmosaic-1.2+wwfs/libhtmlw/Makefile Thu Nov 4 11:34:03 1993 X*************** X*** 10,16 **** X # below). Else Motif 1.1 is assumed. (The widget will work X # standalone without Motif, but Mosaic requires Motif.) X # For SGI's: X! OTHERFLAGS = -cckr X # For HP's: X # OTHERFLAGS = -I/usr/include/Motif1.1 -I/usr/include/X11R4 X # For SCO: X--- 10,16 ---- X # below). Else Motif 1.1 is assumed. (The widget will work X # standalone without Motif, but Mosaic requires Motif.) X # For SGI's: X! # OTHERFLAGS = -cckr X # For HP's: X # OTHERFLAGS = -I/usr/include/Motif1.1 -I/usr/include/X11R4 X # For SCO: X*************** X*** 18,31 **** X # For NeXT: X # OTHERFLAGS = -DNEXT -I/usr/include/X11 X # For everyone else: X! # OTHERFLAGS = X # ---------------------------------------------------------------------------- X X # ---------------------------------------------------------------------------- X # For SGI's: X! RANLIB = /bin/true X # For everyone else: X! # RANLIB = ranlib X # ---------------------------------------------------------------------------- X X # You shouldn't need to edit below here. X--- 18,31 ---- X # For NeXT: X # OTHERFLAGS = -DNEXT -I/usr/include/X11 X # For everyone else: X! OTHERFLAGS = X # ---------------------------------------------------------------------------- X X # ---------------------------------------------------------------------------- X # For SGI's: X! # RANLIB = /bin/true X # For everyone else: X! RANLIB = ranlib X # ---------------------------------------------------------------------------- X X # You shouldn't need to edit below here. Xdiff -c -r -N xmosaic-1.2/libwww/HTAccess.c xmosaic-1.2+wwfs/libwww/HTAccess.c X*** xmosaic-1.2/libwww/HTAccess.c Sat May 22 05:49:28 1993 X--- xmosaic-1.2+wwfs/libwww/HTAccess.c Thu Nov 4 12:12:51 1993 X*************** X*** 363,368 **** X--- 363,372 ---- X ("Cannot connect to information server."); X } X } X+ else if (0==strcmp(access, "wwfs")) X+ { X+ status = HTOpenWWFS(addr, pFormat, anchor, compressed); X+ } X else if ((0==strcmp(access, "file")) X ||(0==strcmp(access, "ftp"))) X { /* TBL 921021 */ Xdiff -c -r -N xmosaic-1.2/libwww/HTWWFS.c xmosaic-1.2+wwfs/libwww/HTWWFS.c X*** xmosaic-1.2/libwww/HTWWFS.c X--- xmosaic-1.2+wwfs/libwww/HTWWFS.c Fri Nov 12 01:10:49 1993 X*************** X*** 0 **** X--- 1,276 ---- X+ /* WWFS Access HTWWFS.c X+ ** =========== X+ ** X+ ** This is unix-specific code in general. X+ ** These are routines for file access used by WWW browsers. X+ ** X+ ** History: X+ ** Feb 91 Written Tim Berners-Lee CERN/CN X+ ** Nov 93 Derived from HTFile.c; Youki Kadobayashi WIDE X+ ** X+ */ X+ X+ #include "HTUtils.h" X+ #include "HTFile.h" X+ X+ #include "WWW.h" X+ #include "HTParse.h" X+ #include "tcp.h" X+ #include "HTTCP.h" X+ #include "HTAnchor.h" X+ #include "HTAccess.h" X+ #include "libww.h" /* for WWFS */ X+ X+ #ifdef unix /* if this is to compile on a UNIX machine */ X+ #include "HText.h" /* For directory object building */ X+ #endif X+ X+ /* Open a WWFS file descriptor for a document X+ ** ------------------------------------------ X+ ** X+ ** On entry, X+ ** addr must point to the fully qualified hypertext reference. X+ ** X+ ** On exit, X+ ** returns <0 Error has occured. X+ ** >=0 Value of file descriptor or socket to be used X+ ** to read data. X+ ** *pFormat Set to the format of the file, if known. X+ ** (See WWW.h) X+ ** X+ */ X+ int HTOpenWWFS X+ ARGS4 X+ ( X+ CONST char *,addr, X+ HTFormat *,pFormat, X+ HTParentAnchor *,anchor, X+ int *,compressed X+ ) X+ { X+ char * filename, * localname; X+ int fd = -1; /* Unix file descriptor number = INVALID */ X+ char * newname=0; /* Simplified name of file */ X+ struct stat dir_info; X+ X+ /* Reduce the filename to a basic form (hopefully unique!) X+ */ X+ StrAllocCopy(newname, addr); X+ filename=HTParse(newname, "", PARSE_PATH|PARSE_PUNCTUATION); X+ free(newname); X+ X+ *pFormat = HTFileFormat(filename, WWW_PLAINTEXT, compressed); X+ X+ if (ww_get(filename) < 0) { X+ if (TRACE) fprintf(stderr, "HTWWFS: could not retrieve document"); X+ } X+ localname = ww_localpath(filename); X+ if (! localname) { X+ if (TRACE) fprintf(stderr, "HTWWFS: client not configured properly"); X+ } else { X+ localname = strdup(localname); X+ #ifdef GOT_READ_DIR X+ /* X+ ** Check to see if the 'localname' is in fact a directory. If it is X+ ** create a new hypertext object containing a list of files and X+ ** subdirectories contained in the directory. All of these are links X+ ** to the directories or files listed. X+ ** NB This assumes the existance of a type 'struct direct', which will X+ ** hold the directory entry, and a type 'DIR' which is used to point to X+ ** the current directory being read. X+ */ X+ X+ if (stat(localname,&dir_info) == -1) { /* get file information */ X+ /* if can't read file information */ X+ if (TRACE) fprintf(stderr, "HTWWFS: can't stat %s\n", localname); X+ X+ } else { /* Stat was OK */ X+ X+ X+ if (((dir_info.st_mode) & S_IFMT) == S_IFDIR) { X+ /* if localname is a directory */ X+ HTChildAnchor * child; X+ HText * HT; X+ extern HTStyleSheet * styleSheet; X+ static HTStyle * DirectoryStyle = 0; X+ static HTStyle * H1Style = 0; X+ DIR *dp; X+ struct direct * dirbuf; X+ X+ char * tmpfilename = NULL; X+ char * shortfilename = NULL; X+ struct stat *file_info = X+ (struct stat *) malloc(sizeof(struct stat)); X+ if (!file_info) outofmem(__FILE__, "HTOpenWWFS"); X+ X+ if (TRACE) X+ fprintf(stderr,"%s is a directory\n",localname); X+ #if 0 X+ if (!H1Style) X+ H1Style = HTStyleNamed(styleSheet, "Heading1"); X+ X+ if (!DirectoryStyle) X+ DirectoryStyle = HTStyleNamed(styleSheet, "Dir"); X+ #endif X+ HTAnchor_setTitle(anchor, filename); X+ X+ HT = HText_new(anchor); X+ HText_beginAppend(HT); X+ X+ /* HText_setStyle(HT,H1Style); */ X+ HText_appendText (HT, "<H1>Directory "); X+ shortfilename=strrchr(localname,'/'); X+ /* put the last part of the path in shortfilename */ X+ if (shortfilename) X+ { X+ shortfilename++; /* get rid of leading '/' */ X+ if (*shortfilename=='\0') X+ shortfilename--; X+ } X+ else X+ { X+ char *tptr; X+ X+ tptr = (char *)malloc(strlen(localname) + 3); X+ strcpy(tptr, "./"); X+ strcat(tptr, localname); X+ localname = tptr; X+ shortfilename=strrchr(localname,'/'); X+ shortfilename++; /* get rid of leading '/' */ X+ if (*shortfilename=='\0') X+ shortfilename--; X+ } X+ X+ HText_appendText (HT, filename); X+ /* HText_appendText(HT,shortfilename); */ X+ /* HText_setStyle(HT,DirectoryStyle); */ X+ HText_appendText (HT, "</H1>\n<UL>\n"); X+ X+ dp = opendir(localname); X+ if (dp) { X+ /* if the directory file is readable */ X+ while (dirbuf = readdir(dp)) { X+ /* while there are directory entries to be read */ X+ #ifdef USE_FILENO X+ if (dirbuf->d_fileno == 0) X+ #else X+ if (dirbuf->d_ino == 0) X+ #endif X+ /* if the entry is not being used, skip it */ X+ { X+ continue; X+ } X+ X+ if (!strcmp(dirbuf->d_name,".")) X+ { X+ continue; /* skip the entry for this directory */ X+ } X+ X+ if (strcmp(dirbuf->d_name,"..")) X+ /* if the current entry is parent directory */ X+ { X+ if ((*(dirbuf->d_name)=='.') || X+ (*(dirbuf->d_name)==',')) X+ { X+ continue; /* skip those files whose name begins X+ with '.' or ',' */ X+ } X+ } X+ X+ StrAllocCopy(tmpfilename,localname); X+ if (strcmp(localname,"/")) X+ /* if filename is not root directory */ X+ { X+ StrAllocCat(tmpfilename,"/"); X+ } X+ else X+ { X+ if (!strcmp(dirbuf->d_name,"..")) X+ { X+ continue; X+ } X+ } X+ /* if root directory and current entry is parent X+ directory, skip the current entry */ X+ X+ StrAllocCat(tmpfilename,dirbuf->d_name); X+ /* append the current entry's filename to the path */ X+ HTSimplify(tmpfilename); X+ X+ #if 0 X+ child = HTAnchor_findChildAndLink( X+ anchor, 0, tmpfilename, 0); X+ HText_beginAnchor(HT, child); X+ #endif X+ HText_appendText (HT, "<LI> <A HREF=\""); X+ HText_appendText (HT, shortfilename); X+ HText_appendText (HT, "/"); X+ HText_appendText (HT, dirbuf->d_name); X+ HText_appendText (HT, "\">"); X+ stat(tmpfilename,file_info); X+ X+ if (strcmp(dirbuf->d_name,"..")) { X+ /* if the current entry is not the parent directory then use the file name */ X+ HText_appendText(HT,dirbuf->d_name); X+ if (((file_info->st_mode) & S_IFMT) == S_IFDIR) X+ HText_appendCharacter(HT, '/'); X+ } X+ else { X+ /* use name of parent directory */ X+ char * endbit = strrchr(tmpfilename, '/'); X+ HText_appendText(HT,"Up to "); X+ HText_appendText(HT, endbit?endbit+1:tmpfilename); X+ } X+ /* HText_endAnchor(HT); */ X+ HText_appendText (HT, "</A>\n"); X+ X+ /* HText_appendCharacter(HT, '\t'); */ X+ } /* end while directory entries left to read */ X+ X+ closedir(dp); X+ free(tmpfilename); X+ X+ } else { /* Directory is not readable */ X+ if (TRACE) X+ fprintf(stderr,"HTWWFS.c: directory %s unreadable\n", X+ localname); X+ HText_appendText(HT, X+ "Sorry, can't read the contents of this directory - probably read protected\n"); X+ X+ } /* end if directory not readable */ X+ X+ HText_appendText (HT, "</UL>\n"); X+ HText_endAppend(HT); X+ X+ free(file_info); X+ free(filename); X+ free(localname); X+ return HT_LOADED; /* fd not valid, but document loaded anyway */ X+ X+ } /* end if localname is directory */ X+ X+ } /* end if file stat worked */ X+ X+ /* End of directory reading section X+ */ X+ #endif X+ X+ fd = open(localname, O_RDONLY, 0); X+ if(TRACE) printf ("HTAccess: Opening `%s' gives %d\n", X+ localname, fd); X+ free(localname); X+ } /* localname */ X+ X+ /* All attempts have failed if fd<0. X+ */ X+ if (fd<0) if (TRACE) X+ printf("Can't open `%s', errno=%d\n", filename, errno); X+ free(filename); X+ X+ /* BEATS ME WHY THE HELL THIS SHOULD EVER HAPPEN, X+ BUT IT DOES!!! */ X+ if (fd == 0) X+ fd = HT_LOADED; X+ return fd; X+ X+ } Xdiff -c -r -N xmosaic-1.2/libwww/Makefile xmosaic-1.2+wwfs/libwww/Makefile X*** xmosaic-1.2/libwww/Makefile Tue Jun 1 08:32:49 1993 X--- xmosaic-1.2+wwfs/libwww/Makefile Thu Nov 4 11:40:33 1993 X*************** X*** 1,19 **** X # ---------------------------------------------------------------------------- X # For normal machines with normal compilers: X! CC = cc X # For Sun's and other non-at-least-pseudo-ANSI-C platforms: X! # CC = gcc X # ---------------------------------------------------------------------------- X X # ---------------------------------------------------------------------------- X # For SGI's: X! CFLAGS = -g -cckr X # For HP's: X # CFLAGS = -g -Aa -D_HPUX_SOURCE X # For SCO ODT: X # CFLAGS = -g -Dsco X # For DEC Alpha OSF/1: X # CFLAGS = -g -DUSE_DIRENT -DUSE_FILENO X # For NeXT: X # CFLAGS = -g -DNEXT X # For Dell SVR4: X--- 1,21 ---- X # ---------------------------------------------------------------------------- X # For normal machines with normal compilers: X! CC = cc -I../libww X # For Sun's and other non-at-least-pseudo-ANSI-C platforms: X! # CC = gcc -I../libww X # ---------------------------------------------------------------------------- X X # ---------------------------------------------------------------------------- X # For SGI's: X! # CFLAGS = -g -cckr X # For HP's: X # CFLAGS = -g -Aa -D_HPUX_SOURCE X # For SCO ODT: X # CFLAGS = -g -Dsco X # For DEC Alpha OSF/1: X # CFLAGS = -g -DUSE_DIRENT -DUSE_FILENO X+ # For DEC: X+ CFLAGS = -g -DUSE_DIRENT -DUSE_FILENO X # For NeXT: X # CFLAGS = -g -DNEXT X # For Dell SVR4: X*************** X*** 26,34 **** X X # ---------------------------------------------------------------------------- X # For SGI's and SCO ODT: X! RANLIB = /bin/true X # For everyone else: X! # RANLIB = ranlib X # ---------------------------------------------------------------------------- X X # You shouldn't need to edit below here. X--- 28,36 ---- X X # ---------------------------------------------------------------------------- X # For SGI's and SCO ODT: X! # RANLIB = /bin/true X # For everyone else: X! RANLIB = ranlib X # ---------------------------------------------------------------------------- X X # You shouldn't need to edit below here. X*************** X*** 55,60 **** X--- 57,63 ---- X HTStyle.c \ X HTTCP.c \ X HTTP.c \ X+ HTWWFS.c \ X SGML.c X X OBJS = $(CFILES:.c=.o) Xdiff -c -r -N xmosaic-1.2/src/Makefile xmosaic-1.2+wwfs/src/Makefile X*** xmosaic-1.2/src/Makefile Tue Jun 1 08:32:57 1993 X--- xmosaic-1.2+wwfs/src/Makefile Sat Nov 13 08:02:24 1993 X*************** X*** 18,37 **** X X # ---------------------------------------------------------------------------- X # For SGI's only: X! AUX_CFLAGS = -cckr X # For normal platforms: X! # AUX_CFLAGS = X # ---------------------------------------------------------------------------- X X # ---------------------------------------------------------------------------- X # For SGI's only: X! X_LIBS = -lXm_s -lXmu -lXt_s -lX11_s X # For HP-UX 8.00: X # X_LIBS = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11 X # For NeXT: X # X_LIBS = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11 X # For nearly everyone else: X! # X_LIBS = -lXm -lXmu -lXt -lX11 X # For Sun's (at least running X/Motif as installed on our machines): X # X_LIBS = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm X # For Dell SVR4: X--- 18,39 ---- X X # ---------------------------------------------------------------------------- X # For SGI's only: X! # AUX_CFLAGS = -cckr X # For normal platforms: X! AUX_CFLAGS = X # ---------------------------------------------------------------------------- X X # ---------------------------------------------------------------------------- X # For SGI's only: X! # X_LIBS = -lXm_s -lXmu -lXt_s -lX11_s X # For HP-UX 8.00: X # X_LIBS = -L/usr/lib/Motif1.1 -lXm -L/usr/lib/X11R4 -lXmu -lXt -lX11 X # For NeXT: X # X_LIBS = -L/usr/lib/X11 -lXm -lXmu -lXt -lX11 X # For nearly everyone else: X! X_LIBS = -lXm -lXmu -lXt -lX11 X! # For DEC Ultrix + JP X! # X_LIBS = -lXm -lXmu -lXt -lX11 -lim -ljsy X # For Sun's (at least running X/Motif as installed on our machines): X # X_LIBS = /usr/lib/libXm.a /usr/lib/libXmu.a /usr/lib/libXt.a /usr/lib/libXext.a /usr/lib/libX11.a -lm X # For Dell SVR4: X*************** X*** 40,52 **** X X # ---------------------------------------------------------------------------- X # For SGI's only: X! SYS_LIBS = -lPW -lsun -lmalloc X # For most other Motif platforms: X # SYS_LIBS = -lPW X # For SCO ODT: X # SYS_LIBS = -lPW -lsocket -lmalloc X # For Sun's and Ultrix: X! # SYS_LIBS = X # For Sun's with no DNS: X # SYS_LIBS = -lresolv X # For Dell SVR4: X--- 42,54 ---- X X # ---------------------------------------------------------------------------- X # For SGI's only: X! # SYS_LIBS = -lPW -lsun -lmalloc X # For most other Motif platforms: X # SYS_LIBS = -lPW X # For SCO ODT: X # SYS_LIBS = -lPW -lsocket -lmalloc X # For Sun's and Ultrix: X! SYS_LIBS = X # For Sun's with no DNS: X # SYS_LIBS = -lresolv X # For Dell SVR4: X*************** X*** 55,69 **** X X # ---------------------------------------------------------------------------- X # If you want to compile DTM support in, use these lines... X! DTMSRCS = net.c netdata.c list.c mesg.c X! DTMOBJS = net.o netdata.o list.o mesg.o X! DTM_FLAGS = -DHAVE_DTM -DHAVE_DMF -I.. X! DTM_LIBS = ../libdtm/libdtm.a ../libdmf/libdmf.a X # Else use these lines... X! # DTMSRCS = X! # DTMOBJS = X! # DTM_FLAGS = X! # DTM_LIBS = X # See the toplevel Mosaic README for more information on DTM. X # ---------------------------------------------------------------------------- X X--- 57,71 ---- X X # ---------------------------------------------------------------------------- X # If you want to compile DTM support in, use these lines... X! # DTMSRCS = net.c netdata.c list.c mesg.c X! # DTMOBJS = net.o netdata.o list.o mesg.o X! # DTM_FLAGS = -DHAVE_DTM -DHAVE_DMF -I.. X! # DTM_LIBS = ../libdtm/libdtm.a ../libdmf/libdmf.a X # Else use these lines... X! DTMSRCS = X! DTMOBJS = X! DTM_FLAGS = X! DTM_LIBS = X # See the toplevel Mosaic README for more information on DTM. X # ---------------------------------------------------------------------------- X X*************** X*** 81,86 **** X--- 83,89 ---- X X LIBWWW_DIR = ../libwww X LIBWWW_INC = ../libwww X+ LIBWW_DIR = ../libww X HTMLW_LIBDIR = ../libhtmlw X X INCLUDES = -I.. -I$(LIBWWW_INC) X*************** X*** 90,96 **** X PROFILE_FLAGS = X CFLAGS = $(OPTS) $(INCLUDES) $(DTM_FLAGS) $(COLOR_FLAGS) X X! PROGRAM_LIBS = $(HTMLW_LIBDIR)/libhtmlw.a $(LIBWWW_DIR)/libwww.a X LIBS = $(PROGRAM_LIBS) $(X_LIBS) $(DTM_LIBS) $(SYS_LIBS) X X CFILES = main.c gui.c gui2.c mo-www.c mo-dtm.c hotlist.c whine.c history.c\ X--- 93,99 ---- X PROFILE_FLAGS = X CFLAGS = $(OPTS) $(INCLUDES) $(DTM_FLAGS) $(COLOR_FLAGS) X X! PROGRAM_LIBS = $(HTMLW_LIBDIR)/libhtmlw.a $(LIBWWW_DIR)/libwww.a $(LIBWW_DIR)/libww.a X LIBS = $(PROGRAM_LIBS) $(X_LIBS) $(DTM_LIBS) $(SYS_LIBS) X X CFILES = main.c gui.c gui2.c mo-www.c mo-dtm.c hotlist.c whine.c history.c\ Xdiff -c -r -N xmosaic-1.2/src/history.c xmosaic-1.2+wwfs/src/history.c X*** xmosaic-1.2/src/history.c Sat May 29 16:27:50 1993 X--- xmosaic-1.2+wwfs/src/history.c Thu Nov 4 08:25:19 1993 X*************** X*** 322,327 **** X--- 322,338 ---- X goto done; X } X } X+ X+ if (!strncmp (url, "wwfs:", 5)) X+ { X+ /* It's a WWFS file. */ X+ foo1 = url + 5; X+ X+ title = (char *)malloc ((strlen (foo1) + 32) * sizeof (char)); X+ sprintf (title, "WWFS file %s\0", foo1); X+ X+ goto done; X+ } X X /* Punt... */ X title = (char *) malloc ((strlen (url) + 24) * sizeof (char)); Xdiff -c -r -N xmosaic-1.2/src/mo-www.c xmosaic-1.2+wwfs/src/mo-www.c X*** xmosaic-1.2/src/mo-www.c Sun Jun 27 19:16:59 1993 X--- xmosaic-1.2+wwfs/src/mo-www.c Thu Nov 4 11:50:44 1993 X*************** X*** 501,507 **** X } X X /* Grumble grumble... */ X! #if defined(ultrix) || defined(VMS) || defined(NeXT) || defined(M4310) || defined(vax) X char *strdup (char *str) X { X char *dup; X--- 501,510 ---- X } X X /* Grumble grumble... */ X! /* X! * #if defined(ultrix) || defined(VMS) || defined(NeXT) || defined(M4310) || defined(vax) X! */ X! #if defined(VMS) || defined(NeXT) || defined(M4310) || defined(vax) X char *strdup (char *str) X { X char *dup; END_OF_FILE if test 19037 -ne `wc -c <'mosaic/xmosaic-1.2+wwfs.diff'`; then echo shar: \"'mosaic/xmosaic-1.2+wwfs.diff'\" unpacked with wrong size! fi # end of 'mosaic/xmosaic-1.2+wwfs.diff' fi echo shar: End of archive 7 \(of 22\). cp /dev/null ark7isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 22 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still must unpack the following archives: echo " " ${MISSING} fi exit 0 exit 0 # Just in case...