ip_interface.h File Reference

IP module interface. More...

#include <async.h>
#include <ipc/services.h>
#include "../include/device.h"
#include "../structures/packet/packet.h"
#include "in.h"
#include "ip_codes.h"
#include "socket_codes.h"
Include dependency graph for ip_interface.h:
This graph shows which files directly or indirectly include this file:

IP module interface

This interface is used by other modules.



typedef void * ip_pseudo_header_ref
 Type definition of the internet pseudo header pointer.
typedef int(* tl_received_msg_t )(device_id_t device_id, packet_t packet, services_t receiver, services_t error)
 The transport layer notification function type definition.
int ip_bind_service (services_t service, int protocol, services_t me, async_client_conn_t receiver, tl_received_msg_t tl_received_msg)
 Creates bidirectional connection with the ip module service and registers the message receiver.
int ip_device_req (int ip_phone, device_id_t device_id, services_t netif)
 Registers the new device.
int ip_send_msg (int ip_phone, device_id_t device_id, packet_t packet, services_t sender, services_t error)
 Sends the packet queue.
int ip_connect_module (services_t service)
 Connects to the IP module.
int ip_add_route_req (int ip_phone, device_id_t device_id, in_addr_t address, in_addr_t netmask, in_addr_t gateway)
 Adds a route to the device routing table.
int ip_set_gateway_req (int ip_phone, device_id_t device_id, in_addr_t gateway)
 Sets the default gateway.
int ip_packet_size_req (int ip_phone, device_id_t device_id, packet_dimension_ref packet_dimension)
 Returns the device packet dimension for sending.
int ip_received_error_msg (int ip_phone, device_id_t device_id, packet_t packet, services_t target, services_t error)
 Notifies the IP module about the received error notification packet.
int ip_get_route_req (int ip_phone, ip_protocol_t protocol, const struct sockaddr *destination, socklen_t addrlen, device_id_t *device_id, ip_pseudo_header_ref *header, size_t *headerlen)
 Returns the device identifier and the IP pseudo header based on the destination address.

Detailed Description

IP module interface.

The same interface is used for standalone remote modules as well as for bundle modules. The standalone remote modules have to be compiled with the ip_remote.c source file. The bundle modules with the ip.c source file.


Generated on Thu Mar 11 20:46:03 2010 for Networking and TCP/IP stack for HelenOS system by  doxygen 1.6.1