|
|
1.1 ! root 1: .PS 8i ! 2: .ps 20 ! 3: boxwid = 2*boxwid ! 4: define boxit @ ! 5: box "$1" with .n at ($2.s.x, $2.s.y-lineht/2) ! 6: line from $2.s to last box.n ! 7: @ ! 8: define peer @ ! 9: box "$1" with .n at ($3.s.x, $3.s.y-lineht/2) ! 10: line from $3.s to last box.n ! 11: line $4 from $2.e to last box.w ! 12: @ ! 13: ## figure 7 ! 14: B1: box "\xx APPL-$\alpha$" ! 15: B2: boxit(\xx PRESENTATION,B1) ! 16: B3: boxit(\xx SESSION,B2) ! 17: B4: box "\xx TRANSPORT" with .n at (B3.s.x, B3.s.y-lineht/2) ! 18: line from B3.s to B4.n ! 19: ## ! 20: P1: box "\xx APPL-$\alpha$" with .w at (B1.e.x+2*linewid, B1.e.y) ! 21: line dashed from B1.e to P1.w ! 22: P2: peer(\xx PRESENTATION,B2,P1,dashed) ! 23: P3: peer(\xx SESSION,B3,P2,dashed) ! 24: P4: box "\xx TRANSPORT" with .n at (P3.s.x, P3.s.y-lineht/2) ! 25: line from P3.s to P4.n ! 26: line from B4.e to P4.w ! 27: ## ! 28: C1: box "\xx APPL-$\gamma$" with .w at (P1.e.x+linewid, P1.e.y) ! 29: C2: box invis with .n at (C1.s.x, C1.s.y-lineht/2) ! 30: line from C1.s to C2.n ! 31: C3: box invis with .n at (C2.s.x, C2.s.y-lineht/2) ! 32: C4: box invis with .n at (C3.s.x, C3.s.y-lineht/2) ! 33: ## ! 34: Q1: box "\xx APPL-$\gamma$" with .w at (C1.e.x+2*linewid, C1.e.y) ! 35: line dashed from C1.e to Q1.w ! 36: Q2: box invis with .n at (Q1.s.x, Q1.s.y-lineht/2) ! 37: line from Q1.s to Q2.n ! 38: Q3: box invis with .n at (Q2.s.x, Q2.s.y-lineht/2) ! 39: Q4: box invis with .n at (Q3.s.x, Q3.s.y-lineht/2) ! 40: ## ! 41: Z1: box with .nw at C2.nw width (Q2.ne.x-C2.nw.x) \ ! 42: height (C2.nw.y-C4.sw.y) \ ! 43: "OTHER STACK" ! 44: ## ! 45: G1: box "APPLICATION" "GATEWAY" \ ! 46: with .sw at (P1.nw.x, P1.nw.y+lineht) \ ! 47: height 2*boxht width C1.ne.x-P1.nw.x ! 48: line up from P1.n ! 49: line up from C1.n ! 50: line dashed from (G1.s.x, G1.s.y-lineht/2) \ ! 51: to (G1.s.x, C4.s.y-lineht/2) ! 52: ## ! 53: G2: box with .nw at (P4.sw.x, P4.sw.y-lineht) \ ! 54: width C4.se.x-P4.sw.x height boxht/6 shaded ! 55: move to (G2.s.x, G2.s.y-lineht/2); "GATEWAY HOST" ! 56: move to ((B4.s.x+P4.s.x)/2, B4.s.y-lineht/2); "ISO" ! 57: move to ((C4.s.x+Q4.s.x)/2, C4.s.y-lineht/2); "non-ISO" ! 58: ## ! 59: .PE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.