Source to ./atm_vsar.h
/*
* Cisco router simulation platform.
* Copyright (c) 2007 Christophe Fillot ([email protected])
*
* ATM Virtual Segmentation & Reassembly Engine.
*/
#ifndef __ATM_VSAR_H__
#define __ATM_VSAR_H__
#include <pthread.h>
#include "utils.h"
#include "net_io.h"
#define ATM_REAS_MAX_SIZE 16384
/* Reassembly Context */
struct atm_reas_context {
m_uint8_t buffer[ATM_REAS_MAX_SIZE];
size_t buf_pos;
size_t len;
};
/* Send an AAL5 packet through an NIO (segmentation) */
int atm_aal5_send(netio_desc_t *nio,u_int vpi,u_int vci,
struct iovec *iov,int iovcnt);
/* Reset a receive context */
void atm_aal5_recv_reset(struct atm_reas_context *arc);
/* Receive an ATM cell and process reassembly */
int atm_aal5_recv(struct atm_reas_context *arc,m_uint8_t *cell);
/* Send a packet through a rfc1483 bridge encap */
int atm_aal5_send_rfc1483b(netio_desc_t *nio,u_int vpi,u_int vci,
void *pkt,size_t len);
#endif