aboutsummaryrefslogtreecommitdiffstats
path: root/print.ps
blob: 1b6528aa540e83747d6e3cb8a0ae4ec1b6811dcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
%!
%
% Code between start/end remarks is put into ps.c
% Anything else is thrown away, and is for testing only.
%
% ---- ethereal preamble start ---- %
%!
%!PS-Adobe-2.0
%
% Ethereal - Network traffic analyzer
% By Gerald Combs <gerald@zing.org>
% Copyright 1998 Gerald Combs
%
%%Creator: Ethereal
%%Title: ethereal.ps
%%DocumentFonts: Helvetica Courier
%%EndComments
%!

% Get the Imagable Area of the page
clippath pathbbox

% Set vmax to the vertical size of the page,
% hmax to the horizontal size of the page.
/vmax exch def
/hmax exch def
pop pop		% junk

% 1-inch margins
/lmargin 72 def
/tmargin vmax 72 sub def
/bmargin 72 def
/pagenumtab hmax 72 sub def

% Counters
/vpos vmax 40 sub def
/thispagenum 1 def

% Strings
/pagenostr 7 string def

% Prints text with possible indenting
/putline {
	exch 10 mul lmargin add		% X
	vpos 						% Y
	moveto
	show

	/vpos vpos 10 sub def

	vpos bmargin le 			% is vpos <= bottom margin?
	{
		printpagenum showpage
		/vpos tmargin def
	}
	if							% then formfeed and start at top
} def

% A putline with no indenting
/hexdump {
	lmargin						% X
	vpos 						% Y
	moveto
	show

	/vpos vpos 10 sub def

	vpos bmargin le 			% is vpos <= bottom margin?
	{
		printpagenum showpage
		/vpos tmargin def
	}
	if							% then formfeed and start at top
} def

% A put line with smaller spacing and no formfeed
/titleline {
	lmargin						% X
	vpos						% Y
	moveto
	show

	/vpos vpos 8 sub def
} def

% Prints the page number at the top right
/printpagenum {
	gsave
		% Set the font to 8 point
		/Helvetica findfont 8 scalefont setfont

		pagenumtab					% X
		vmax 40 sub					% Y
		moveto
		(Page ) show
		thispagenum pagenostr cvs show

		% thispagenum++
		/thispagenum thispagenum 1 add def
	grestore
} def
	
% Set the font to 8 point
/Helvetica findfont 8 scalefont setfont

% Create the title
(Ethereal) titleline

% Reset the vertical position
/vpos tmargin def

% Set the font to 10 point
/Courier findfont 10 scalefont setfont
% ---- ethereal preamble end ---- %

% Display our output lines.
0 (Ethernet II \(98 on wire, 68 captured\)) putline
1 (Destination: 00:00:0c:36:00:2a) putline
1 (Source: 00:c0:4f:c7:eb:c0) putline
1 (Type: IP \(0x0800\)) putline
0 (Ethernet II \(98 on wire, 68 captured\)) putline
1 (Source: 00:c0:4f:c7:eb:c0) putline
1 (Type: IP \(0x0800\)) putline
0 (Source: 00:c0:4f:c7:eb:c0) putline

% ---- ethereal hex start ---- %
% Set the font to 10 point
/Courier findfont 10 scalefont setfont
() hexdump
% ---- ethereal hex end ---- %

(   0  cc00 0000 0000 0702 0000 0000 0000 0000   ................ ) hexdump
(  10  0000 bd0e fe16 0100 3e00 0308 584c 2038   ........>...XL 8 ) hexdump
(  20  3020 494d 3300 1601 0034 0016 0101 3500   0 IM3....4....5. ) hexdump
(  30  1601 0236 0016 0103 6e00 1601 ff6f 0016   ...6....n....o.. ) hexdump
(  40  01ff 7000 1601 ff71 0016 01ff 4800 0104   ..p....q....H... ) hexdump
(  50  ff03 0700 2400 0101 0525 0001 0105 2600   ....$....%....&. ) hexdump
(  60  0101 0527 0001 0105 6a00 0101 006b 0001   ...'....j....k.. ) hexdump
(  70  0100 6c00 0101 006d 0001 0100 3d00 0102   ..l....m....=... ) hexdump
(  80  0200 c000 0308 8000 0000 0000 0000 b400   ................ ) hexdump
(  90  0104 c0a8 42ef 3900 1608 0505 0505 0000   ....B.9......... ) hexdump
(  a0  0000 0003 2036 4120 5269 6e67 0000 0000   .... 6A Ring.... ) hexdump
(  b0  0000 0000 0000                            ......           ) hexdump

% ---- ethereal finale start ---- %
% If this is not the first page, then print the page number
thispagenum 1 gt				% is thispagenum > 1 ?
{
	printpagenum
}
if

showpage
% ---- ethereal finale end ---- %