Changeset 1770 in MondoRescue for branches/stable/mindi-busybox/networking/udhcp/common.h
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi-busybox/networking/udhcp/common.h
r821 r1770 1 /* vi: set sw=4 ts=4: */ 1 2 /* common.h 2 3 * … … 10 11 #define _COMMON_H 11 12 12 #include "libbb_udhcp.h" 13 #include "libbb.h" 14 15 #define DEFAULT_SCRIPT "/usr/share/udhcpc/default.script" 16 17 extern const uint8_t MAC_BCAST_ADDR[6]; /* six all-ones */ 18 19 /*** packet.h ***/ 20 21 #include <netinet/udp.h> 22 #include <netinet/ip.h> 23 24 struct dhcpMessage { 25 uint8_t op; 26 uint8_t htype; 27 uint8_t hlen; 28 uint8_t hops; 29 uint32_t xid; 30 uint16_t secs; 31 uint16_t flags; 32 uint32_t ciaddr; 33 uint32_t yiaddr; 34 uint32_t siaddr; 35 uint32_t giaddr; 36 uint8_t chaddr[16]; 37 uint8_t sname[64]; 38 uint8_t file[128]; 39 uint32_t cookie; 40 uint8_t options[308]; /* 312 - cookie */ 41 }; 42 43 struct udp_dhcp_packet { 44 struct iphdr ip; 45 struct udphdr udp; 46 struct dhcpMessage data; 47 }; 48 49 void udhcp_init_header(struct dhcpMessage *packet, char type); 50 int udhcp_get_packet(struct dhcpMessage *packet, int fd); 51 uint16_t udhcp_checksum(void *addr, int count); 52 int udhcp_raw_packet(struct dhcpMessage *payload, 53 uint32_t source_ip, int source_port, 54 uint32_t dest_ip, int dest_port, 55 const uint8_t *dest_arp, int ifindex); 56 int udhcp_kernel_packet(struct dhcpMessage *payload, 57 uint32_t source_ip, int source_port, 58 uint32_t dest_ip, int dest_port); 13 59 14 60 15 enum syslog_levels { 16 LOG_EMERG = 0, 17 LOG_ALERT, 18 LOG_CRIT, 19 LOG_WARNING, 20 LOG_ERR, 21 LOG_INFO, 22 LOG_DEBUG 23 }; 24 #include <syslog.h> 61 /**/ 25 62 26 long uptime(void);63 void udhcp_run_script(struct dhcpMessage *packet, const char *name); 27 64 28 #define LOG(level, str, args...) udhcp_logging(level, str, ## args) 65 // Still need to clean these up... 66 67 /* from options.h */ 68 #define get_option udhcp_get_option 69 #define end_option udhcp_end_option 70 #define add_option_string udhcp_add_option_string 71 #define add_simple_option udhcp_add_simple_option 72 #define option_lengths udhcp_option_lengths 73 /* from socket.h */ 74 #define listen_socket udhcp_listen_socket 75 #define read_interface udhcp_read_interface 76 /* from dhcpc.h */ 77 #define client_config udhcp_client_config 78 /* from dhcpd.h */ 79 #define server_config udhcp_server_config 80 81 void udhcp_sp_setup(void); 82 int udhcp_sp_fd_set(fd_set *rfds, int extra_fd); 83 int udhcp_sp_read(fd_set *rfds); 84 int raw_socket(int ifindex); 85 int read_interface(const char *interface, int *ifindex, uint32_t *addr, uint8_t *arp); 86 int listen_socket(/*uint32_t ip,*/ int port, const char *inf); 87 /* Returns 1 if no reply received */ 88 int arpping(uint32_t test_ip, uint32_t from_ip, uint8_t *from_mac, const char *interface); 29 89 30 90 #if ENABLE_FEATURE_UDHCP_DEBUG 31 # define DEBUG( level, str, args...) LOG(level,str, ## args)91 # define DEBUG(str, args...) bb_info_msg(str, ## args) 32 92 #else 33 # define DEBUG( level, str, args...) do {;} while(0)93 # define DEBUG(str, args...) do {;} while (0) 34 94 #endif 35 95
Note:
See TracChangeset
for help on using the changeset viewer.