|
|
1.1 root 1: /************************************************************
2: Copyright IBM Corporation 1987
3:
4: All Rights Reserved
5:
6: Permission to use, copy, modify, and distribute this software and its
7: documentation for any purpose and without fee is hereby granted,
8: provided that the above copyright notice appear in all copies and that
9: both that copyright notice and this permission notice appear in
10: supporting documentation, and that the name of IBM not be
11: used in advertising or publicity pertaining to distribution of the
12: software without specific, written prior permission.
13:
14: IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
15: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
16: IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
17: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
18: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
19: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
20: SOFTWARE.
21:
22: ******************************************************************/
23:
24: /*
25: * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
26: */
27:
28: #define KERNEL
29: #define MERGED
30: #define IBMRTPC
31: #define CLNPECHO
32: /* #define TP_PERF_MEAS */
33: #define CONS
34: #define TPPT
35: #define ARGO_TP
36: #define ARGO_DEBUG
37: #define ISO
38: #define RDB
39: #define SHOW_LOAD
40: #define DEBUG
41: #define INET
42: #define MAXUSERS 32
43: #define DST 1
44: #define TIMEZONE 360
45:
46: /*
47: * ARGO TP
48: *
49: * $Header: tp_sizes.c,v 5.1 88/10/12 12:21:03 root Exp $
50: * $Source: /usr/argo/sys/netiso/RCS/tp_sizes.c,v $
51: * @(#)tp_sizes.c 7.3 (Berkeley) 8/29/89 *
52: *
53: *
54: * This is the initialization and cleanup stuff -
55: * for the tp machine in general as well as for the individual pcbs.
56: * tp_init() is called at system startup. tp_attach() and tp_getref() are
57: * called when a socket is created. tp_detach() and tp_freeref()
58: * are called during the closing stage and/or when the reference timer
59: * goes off.
60: * tp_soisdisconnecting() and tp_soisdisconnected() are tp-specific
61: * versions of soisconnect*
62: * and are called (obviously) during the closing phase.
63: *
64: */
65:
66: #ifndef lint
67: static char *rcsid = "$Header: tp_sizes.c,v 5.1 88/10/12 12:21:03 root Exp $";
68: #endif lint
69:
70: #include "argoxtwentyfive.h"
71: #include "types.h"
72: #include "param.h"
73: #include "mbuf.h"
74: #include "socket.h"
75: #include "socketvar.h"
76: #include "protosw.h"
77: #include "errno.h"
78: #include "time.h"
79: #include "tp_param.h"
80: #include "tp_stat.h"
81: #include "tp_pcb.h"
82: #include "tp_tpdu.h"
83: #include "tp_trace.h"
84: #include "tp_meas.h"
85: #include "tp_seq.h"
86: #include "tp_clnp.h"
87:
88: #include "iso_errno.h"
89: #include "cons.h"
90: #undef IncStat
91: #include "cons_pcb.h"
92:
93: #define DUP(x) x, x
94: #define SIZE(P) printf(" Size of %s: 0x%x %d\n", "P", DUP(sizeof(struct P)))
95: #define OFF(P, Q) printf("\toffset of %s in %s: 0x%x %d\n", "P", "Q", \
96: DUP(_offsetof(struct Q, P)))
97: main()
98: {
99: printf( "TP struct sizes:\n");
100: SIZE(tp_pcb);
101: #define O(y) OFF(tp_/**/y,tp_pcb);
102: O(state) O(retrans) O(snduna) O(lref) O(fref)
103: O(fsuffix) O(fsuffixlen) O(lsuffix) O(lsuffixlen) O(Xsnd) O(Xuna)
104: SIZE(tp_ref);
105: #undef O
106: #define O(y) OFF(tpr_/**/y,tp_ref);
107: O(pcb) O(calltodo)
108: SIZE(tp_stat);
109: SIZE(tp_param); SIZE(tp_conn_param);
110: SIZE(tp_rtc); SIZE(nl_protosw);
111: #undef O
112: #define O(y) OFF(so_/**/y,socket);
113: printf( "socket struct sizes:\n");
114: SIZE(socket);
115: O(timeo) O(rcv) O(snd) O(tpcb) O(pcb) O(qlen) O(error) O(state)
116: SIZE(sockbuf);
117: #undef O
118: #define O(y) OFF(sb_/**/y,sockbuf);
119: O(flags) O(cc) O(mb) O(mbcnt)
120: SIZE(isopcb); SIZE(cons_pcb);
121: OFF(co_state,cons_pcb);
122: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.