]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/ankh/lib/netboot/nic.h
Inital import
[l4.git] / l4 / pkg / ankh / lib / netboot / nic.h
1  /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License as
4  * published by the Free Software Foundation; either version 2, or (at
5  * your option) any later version.
6  */
7
8 #ifndef NIC_H
9 #define NIC_H
10
11 #include "dev.h"
12
13 /* The 'rom_info' maybe arch depended. It must be moved to some other
14  * place */
15 struct rom_info {
16         unsigned short  rom_segment;
17         unsigned short  rom_length;
18 };
19
20 /*
21  *      Structure returned from eth_probe and passed to other driver
22  *      functions.
23  */
24 struct nic
25 {
26         struct dev      dev;  /* This must come first */
27         int             (*poll)P((struct nic *));
28         void            (*transmit)P((struct nic *, const unsigned char *d,
29                                 unsigned int t, unsigned int s, const char *p));
30         int             flags;  /* driver specific flags */
31         struct rom_info *rom_info;      /* -> rom_info from main */
32         unsigned char   *node_addr;
33         unsigned char   *packet;
34         unsigned int    packetlen;
35         void            *priv_data;     /* driver can hang private data here */
36 };
37
38 extern unsigned char *hostname;
39
40 extern int hostnamelen;
41
42 /* Current Network Interface Card */
43 extern struct nic nic;
44
45 /* Whether network is ready */
46 extern int network_ready;
47
48 /* User aborted in await_reply if not zero */
49 extern int user_abort;
50
51 /** 
52  * Some network functions.
53  **/
54 extern int  eth_probe(void);
55
56 extern int  eth_poll(void);
57
58 extern void eth_transmit(const unsigned char * __d, unsigned int __t, 
59                          unsigned int __s, const void * __p);
60
61 extern void eth_disable(void);
62
63
64
65 extern int rarp(void);
66
67 extern int bootp(void);
68
69 extern int dhcp(void);
70
71 #endif  /* NIC_H */