|
|
1.1 root 1: /*
2: * Mach Operating System
3: * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University
4: * All Rights Reserved.
5: *
6: * Permission to use, copy, modify and distribute this software and its
7: * documentation is hereby granted, provided that both the copyright
8: * notice and this permission notice appear in all copies of the
9: * software, derivative works or modified versions, and any portions
10: * thereof, and that both notices appear in supporting documentation.
11: *
12: * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13: * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14: * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15: *
16: * Carnegie Mellon requests users of this software to return to
17: *
18: * Software Distribution Coordinator or [email protected]
19: * School of Computer Science
20: * Carnegie Mellon University
21: * Pittsburgh PA 15213-3890
22: *
23: * any improvements or extensions that they make and grant Carnegie Mellon
24: * the rights to redistribute these changes.
25: */
26:
27: /*** TCA 100 ATM NETWORK INTERFACE ***/
28:
29: #ifndef STUB
30: #include <chips/nc.h>
31: #include <chips/spans.h>
32: #include <chips/tca100.h>
33: #else
34: #include "nc.h"
35: #include "spans.h"
36: #include "tca100.h"
37: #endif
38:
39: typedef struct {
40: nw_ep ep;
41: int time_out;
42: int retry;
43: } nw_control_s, *nw_control_t;
44:
45:
46: typedef struct {
47: u_int rx_sar_header;
48: u_int rx_cs_header;
49: u_int *rx_p;
50: u_int rx_count;
51: u_int rx_next_synch;
52: nw_buffer_t rx_buffer;
53: nw_control_t rx_control;
54: u_int tx_atm_header;
55: u_int tx_sar_header;
56: u_int tx_cs_header;
57: u_int *tx_p;
58: u_int tx_msg_count;
59: u_int tx_block_count;
60: u_int tx_synch;
61: u_int tx_queued_count;
62: nw_control_t tx_control;
63: u_int reply;
64: } nw_tcb, *nw_tcb_t;
65:
66: extern nw_tcb tct[MAX_EP];
67:
68: extern nw_dev_entry_s tca100_entry_table;
69:
70: extern nw_result tca100_initialize(int dev);
71:
72: extern nw_result tca100_status(int dev);
73:
74: extern void tca100_timer_sweep(int dev);
75:
76: extern int tca100_poll(int dev);
77:
78: extern nw_result tca100_send(nw_ep ep, nw_tx_header_t header,
79: nw_options options);
80:
81: extern nw_buffer_t tca100_rpc(nw_ep ep, nw_tx_header_t header,
82: nw_options options);
83:
84:
85:
86:
87:
88:
89:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.