Definitions for internet protocol version 4. More...
Go to the source code of this file.
Data Structures | |
struct | ip |
Structure of an internet header. More... | |
struct | ip_opt |
Defines | |
#define | IP_IS_MULTICAST(_a) ((ntohl(_a) & 0xF0000000U) == 0xE0000000U) |
#define | IPVERSION 4 |
IP protocol version. | |
#define | IP_DF 0x4000 |
Don't fragment flag. | |
#define | IP_MF 0x2000 |
More fragments flag. | |
#define | IP_OFFMASK 0x1fff |
Mask for fragmenting bits. | |
#define | IPOPT_EOL 0 |
End of option list. | |
#define | IPOPT_NOP 1 |
No operation. | |
#define | IPOPT_RR 7 |
Record packet route. | |
#define | IPOPT_TS 68 |
Timestamp. | |
#define | IPOPT_SECURITY 130 |
Provide s,c,h,tcc. | |
#define | IPOPT_LSRR 131 |
Loose source route. | |
#define | IPOPT_SATID 136 |
Satnet id. | |
#define | IPOPT_SSRR 137 |
Strict source route. | |
#define | IPOPT_OPTVAL 0 |
Option identifier offset. | |
#define | IPOPT_OLEN 1 |
Option length offset. | |
#define | IPOPT_OFFSET 2 |
Offset within option. | |
#define | IPOPT_MINOFF 4 |
Minimum offset within option. | |
#define | MAXTTL 255 |
Maximum time to live (seconds). | |
#define | IPDEFTTL 64 |
Default time to live. | |
#define | IPFRAGTTL 60 |
Time to live for fragments. | |
#define | IPTTLDEC 1 |
Subtracted from time to live when forwarding. | |
Typedefs | |
typedef struct ip | IPHDR |
Internet header type. | |
typedef struct ip_opt | IPHDR_OPT |
typedef int(* | NutIpFilterFunc )(uint32_t) |
Functions | |
int | NutIpOutput (uint8_t proto, uint32_t dest, NETBUF *nb) |
Send IP datagram. | |
void | NutIpInput (NUTDEVICE *dev, NETBUF *nb) |
Process incoming IP datagrams. | |
void | NutIpSetInputFilter (NutIpFilterFunc callbackFunc) |
Set filter function for incoming IP datagrams. | |
int | NutRegisterIpHandler (uint8_t prot, int(*hdlr)(NUTDEVICE *, NETBUF *)) |
Register an additional Ethernet protocol handler. | |
Variables | |
int(* | ip_demux )(NUTDEVICE *, NETBUF *) |
Pointer to an optional demultiplexer. |
typedef int(* NutIpFilterFunc)(uint32_t) |