Put a safety catch in compat_todo.h
[akaros.git] / kern / include / compat_todo.h
1 #ifndef ROS_KERN_COMPAT_TODO_H
2 #define ROS_KERN_COMPAT_TODO_H
3
4 #ifndef ROS_KERN_LINUX_COMPAT_H
5 #error "Do not include compat_todo.h directly"
6 #endif
7
8 /* These should be moved eventually */
9
10 /* Plan 9 could use this as a helper */
11 static inline bool is_multicast_ether_addr(uint8_t *mac)
12 {
13         return mac[0] & 1;
14 }
15
16 /* We have this in devether, probably should expose it */
17 static inline int eaddrcmp(uint8_t *x, uint8_t *y)
18 {
19         uint16_t *a = (uint16_t *)x;
20         uint16_t *b = (uint16_t *)y;
21
22         return (a[0] ^ b[0]) | (a[1] ^ b[1]) | (a[2] ^ b[2]);
23 }
24
25
26
27 struct mdio_if_info {                   // need to interface with mii stuff?
28 };
29 struct sk_buff {                // block
30 };
31 struct skb_shared_info {
32 };
33 struct napi_struct {    // rewrite stuff
34 };
35 struct napi_gro_cb {
36 };
37 struct ifla_vf_info {
38 };
39 struct ifreq {
40 };
41 struct netdev_phys_item_id {
42 };
43
44 typedef int16_t __sum16;
45 typedef uint16_t __le;
46 typedef uint8_t __u8;
47 typedef int select_queue_fallback_t;
48 enum pkt_hash_types {
49         Two,
50 };
51
52 #endif /* ROS_KERN_COMPAT_TODO_H */