Subversion Repositories shark

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

/* atm_zatm.h - Driver-specific declarations of the ZATM driver (for use by
                driver-specific utilities) */


/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */


#ifndef LINUX_ATM_ZATM_H
#define LINUX_ATM_ZATM_H

/*
 * Note: non-kernel programs including this file must also include
 * sys/types.h for struct timeval
 */


#include <linux/atmapi.h>
#include <linux/atmioc.h>

#define ZATM_GETPOOL    _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc)
                                                /* get pool statistics */
#define ZATM_GETPOOLZ   _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc)
                                                /* get statistics and zero */
#define ZATM_SETPOOL    _IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc)
                                                /* set pool parameters */

struct zatm_pool_info {
        int ref_count;                  /* free buffer pool usage counters */
        int low_water,high_water;       /* refill parameters */
        int rqa_count,rqu_count;        /* queue condition counters */
        int offset,next_off;            /* alignment optimizations: offset */
        int next_cnt,next_thres;        /* repetition counter and threshold */
};

struct zatm_pool_req {
        int pool_num;                   /* pool number */
        struct zatm_pool_info info;     /* actual information */
};

struct zatm_t_hist {
        struct timeval real;            /* real (wall-clock) time */
        struct timeval expected;        /* expected real time */
};


#define ZATM_OAM_POOL           0       /* free buffer pool for OAM cells */
#define ZATM_AAL0_POOL          1       /* free buffer pool for AAL0 cells */
#define ZATM_AAL5_POOL_BASE     2       /* first AAL5 free buffer pool */
#define ZATM_LAST_POOL  ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */

#define ZATM_TIMER_HISTORY_SIZE 16      /* number of timer adjustments to
                                           record; must be 2^n */

#endif