Changes in uspace/srv/hw/netif/dp8390/dp8390_port.h [66b628a:849ed54] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hw/netif/dp8390/dp8390_port.h
r66b628a r849ed54 44 44 #include <sys/types.h> 45 45 46 /** Macro for difining functions. 47 * @param[in] function The function type and name definition. 48 * @param[in] params The function parameters definition. 49 */ 50 #define _PROTOTYPE(function, params) function params 51 52 /** Success error code. 53 */ 54 #define OK EOK 55 56 /** Type definition of the unsigned byte. 57 */ 58 typedef uint8_t u8_t; 59 60 /** Type definition of the unsigned short. 61 */ 62 typedef uint16_t u16_t; 63 46 64 /** Compares two memory blocks. 47 65 * @param[in] first The first memory block. … … 52 70 * @returns 1 if the second is greater than the first. 53 71 */ 54 #define memcmp(first, second, size) 72 #define memcmp(first, second, size) bcmp((char *) (first), (char *) (second), (size)) 55 73 56 74 /** Reads 1 byte. … … 58 76 * @returns The read value. 59 77 */ 60 #define inb(port) 78 #define inb(port) pio_read_8((ioport8_t *) (port)) 61 79 62 80 /** Reads 1 word (2 bytes). … … 64 82 * @returns The read value. 65 83 */ 66 #define inw(port) 84 #define inw(port) pio_read_16((ioport16_t *) (port)) 67 85 68 86 /** Writes 1 byte. … … 70 88 * @param[in] value The value to be written. 71 89 */ 72 #define outb(port, value) 90 #define outb(port, value) pio_write_8((ioport8_t *) (port), (value)) 73 91 74 92 /** Writes 1 word (2 bytes). … … 76 94 * @param[in] value The value to be written. 77 95 */ 78 #define outw(port, value) pio_write_16((ioport16_t *) (port), (value)) 79 96 #define outw(port, value) pio_write_16((ioport16_t *) (port), (value)) 97 98 /** Prints out the driver critical error. 99 * Does not call the system panic(). 100 */ 101 #define panic(...) printf("%s%s%d", __VA_ARGS__) 102 103 /** Copies a memory block. 104 * @param proc The source process. Ignored parameter. 105 * @param src_s Ignored parameter. 106 * @param[in] src The source address. 107 * @param me The current proces. Ignored parameter. 108 * @param dst_s Ignored parameter. 109 * @param[in] dst The destination address. 110 * @param[in] bytes The block size in bytes. 111 * @returns EOK. 112 */ 113 #define sys_vircopy(proc, src_s, src, me, dst_s, dst, bytes) ({memcpy((void *)(dst), (void *)(src), (bytes)); EOK;}) 114 115 /** Reads a memory block byte by byte. 116 * @param[in] port The address to be written. 117 * @param proc The source process. Ignored parameter. 118 * @param[in] dst The destination address. 119 * @param[in] bytes The block size in bytes. 120 */ 121 #define do_vir_insb(port, proc, dst, bytes) insb((port), (void *)(dst), (bytes)) 122 123 /** Reads a memory block word by word (2 bytes). 124 * @param[in] port The address to be written. 125 * @param proc The source process. Ignored parameter. 126 * @param[in] dst The destination address. 127 * @param[in] bytes The block size in bytes. 128 */ 129 #define do_vir_insw(port, proc, dst, bytes) insw((port), (void *)(dst), (bytes)) 130 131 /** Writes a memory block byte by byte. 132 * @param[in] port The address to be written. 133 * @param proc The source process. Ignored parameter. 134 * @param[in] src The source address. 135 * @param[in] bytes The block size in bytes. 136 */ 137 #define do_vir_outsb(port, proc, src, bytes) outsb((port), (void *)(src), (bytes)) 138 139 /** Writes a memory block word by word (2 bytes). 140 * @param[in] port The address to be written. 141 * @param proc The source process. Ignored parameter. 142 * @param[in] src The source address. 143 * @param[in] bytes The block size in bytes. 144 */ 145 #define do_vir_outsw(port, proc, src, bytes) outsw((port), (void *)(src), (bytes)) 146 147 /* com.h */ 148 /* Bits in 'DL_MODE' field of DL requests. */ 149 # define DL_NOMODE 0x0 150 # define DL_PROMISC_REQ 0x2 151 # define DL_MULTI_REQ 0x4 152 # define DL_BROAD_REQ 0x8 153 154 /* const.h */ 155 /** True value. 156 */ 157 #define TRUE 1 /* used for turning integers into Booleans */ 158 159 /** False value. 160 */ 161 #define FALSE 0 /* used for turning integers into Booleans */ 162 163 /** No number value. 164 */ 165 #define NO_NUM 0x8000 /* used as numerical argument to panic() */ 166 167 /* devio.h */ 168 //typedef u16_t port_t; 80 169 /** Type definition of a port. 81 170 */ 82 171 typedef long port_t; 83 172 173 /* dl_eth.h */ 84 174 /** Ethernet statistics. 85 175 */ 86 typedef struct eth_stat { 176 typedef struct eth_stat 177 { 87 178 /** Number of receive errors. 88 179 */ … … 135 226 } eth_stat_t; 136 227 228 /* errno.h */ 229 /** Generic error. 230 */ 231 #define EGENERIC EINVAL 232 233 /* ether.h */ 137 234 /** Minimum Ethernet packet size in bytes. 138 235 */ 139 #define ETH_MIN_PACK_SIZE 60236 #define ETH_MIN_PACK_SIZE 60 140 237 141 238 /** Maximum Ethernet packet size in bytes. 142 239 */ 143 #define ETH_MAX_PACK_SIZE_TAGGED 240 #define ETH_MAX_PACK_SIZE_TAGGED 1518 144 241 145 242 /** Ethernet address type definition. 146 243 */ 147 typedef struct ether_addr { 244 typedef struct ether_addr 245 { 148 246 /** Address data. 149 247 */ 150 u int8_t ea_addr[6];248 u8_t ea_addr[6]; 151 249 } ether_addr_t; 152 250 251 /* type.h */ 252 /** Type definition of the physical addresses and lengths in bytes. 253 */ 254 typedef unsigned long phys_bytes; 255 256 /** Type definition of the virtual addresses and lengths in bytes. 257 */ 258 typedef unsigned long vir_bytes; 259 260 /** Type definition of the input/output vector. 261 */ 262 typedef struct { 263 /** Address of an I/O buffer. 264 */ 265 vir_bytes iov_addr; 266 /** Sizeof an I/O buffer. 267 */ 268 vir_bytes iov_size; 269 } iovec_t; 270 153 271 #endif 154 272
Note:
See TracChangeset
for help on using the changeset viewer.