7156e628ca2865c49bf0020ac40794f82caf5b2d
[akaros.git] / kern / arch / i686 / nic_common.c
1 /** @file
2  * @brief Common Nic Variables
3  *
4  * See Info below 
5  *
6  * @author Paul Pearce <pearce@eecs.berkeley.edu>
7  *
8  */
9
10 #ifdef __SHARC__
11 #pragma nosharc
12 #endif
13
14 #include <arch/nic_common.h>
15 #include <kmalloc.h>
16 #include <stdio.h>
17
18 // Global send_frame function pointer
19 // Means we can only have one network card per system right now...
20 int (*send_frame)(const char *data, size_t len);
21
22 // Global variables for managing ethernet packets over a nic
23 // Again, since these are global for all network cards we are 
24 // limited to only one for now
25 unsigned char device_mac[6];
26 uint8_t eth_up = 0; 
27 uint32_t num_packet_buffers = 0;
28 char* packet_buffers[MAX_PACKET_BUFFERS];
29 uint32_t packet_buffers_sizes[MAX_PACKET_BUFFERS];
30 uint32_t packet_buffers_head = 0;
31 uint32_t packet_buffers_tail = 0;
32 spinlock_t packet_buffers_lock = SPINLOCK_INITIALIZER;
33