Nut/OS  4.10.3
API Reference
ip.h File Reference

Definitions for internet protocol version 4. More...

#include <net/if_arp.h>
#include <dev/netbuf.h>
#include <net/if_var.h>
Include dependency graph for ip.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ip
 Structure of an internet header. More...
struct  ip_opt


#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
#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.


typedef struct ip IPHDR
 Internet header type.
typedef struct ip_opt IPHDR_OPT
typedef int(* NutIpFilterFunc )(uint32_t)


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.


int(* ip_demux )(NUTDEVICE *, NETBUF *)
 Pointer to an optional demultiplexer.

Detailed Description

Definitions for internet protocol version 4.

RFC 791.

Definition in file ip.h.

Typedef Documentation

typedef int(* NutIpFilterFunc)(uint32_t)

Definition at line 233 of file ip.h.