Sophie

Sophie

distrib > Mandriva > cooker > i586 > by-pkgid > 954e47fd8526355e3caab1005b050dd9 > files > 12

dynamips-debug-0.2.8-0.RC2.2mdv2011.0.i586.rpm

/*
 * Cisco router simulation platform.
 * Copyright (c) 2007 Christophe Fillot (cf@utc.fr)
 *
 * 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