Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
422 giacomo 1
/* atmsvc.h - ATM signaling kernel-demon interface definitions */
2
 
3
/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
4
 
5
 
6
#ifndef _LINUX_ATMSVC_H
7
#define _LINUX_ATMSVC_H
8
 
9
#include <linux/atmapi.h>
10
#include <linux/atm.h>
11
#include <linux/atmioc.h>
12
 
13
 
14
#define ATMSIGD_CTRL _IO('a',ATMIOC_SPECIAL)
15
                                /* become ATM signaling demon control socket */
16
 
17
enum atmsvc_msg_type { as_catch_null,as_bind,as_connect,as_accept,as_reject,
18
  as_listen,as_okay,as_error,as_indicate,as_close,as_itf_notify,
19
  as_modify,as_identify,as_terminate };
20
 
21
struct atmsvc_msg {
22
        enum atmsvc_msg_type type;
23
        atm_kptr_t vcc;
24
        atm_kptr_t listen_vcc;          /* indicate */
25
        int reply;                      /* for okay and close:             */
26
                                        /*   < 0: error before active      */
27
                                        /*        (sigd has discarded ctx) */
28
                                        /*   ==0: success                  */
29
                                        /*   > 0: error when active (still */
30
                                        /*        need to close)           */
31
        struct sockaddr_atmpvc pvc;     /* indicate, okay (connect) */
32
        struct sockaddr_atmsvc local;   /* local SVC address */
33
        struct atm_qos qos;             /* QOS parameters */
34
        struct atm_sap sap;             /* SAP */
35
        unsigned int session;           /* for p2pm */
36
        struct sockaddr_atmsvc svc;     /* SVC address */
37
} __ATM_API_ALIGN;
38
 
39
/*
40
 * Message contents: see ftp://icaftp.epfl.ch/pub/linux/atm/docs/isp-*.tar.gz
41
 */
42
 
43
/*
44
 * Some policy stuff for atmsigd and for net/atm/svc.c. Both have to agree on
45
 * what PCR is used to request bandwidth from the device driver. net/atm/svc.c
46
 * tries to do better than that, but only if there's no routing decision (i.e.
47
 * if signaling only uses one ATM interface).
48
 */
49
 
50
#define SELECT_TOP_PCR(tp) ((tp).pcr ? (tp).pcr : \
51
  (tp).max_pcr && (tp).max_pcr != ATM_MAX_PCR ? (tp).max_pcr : \
52
  (tp).min_pcr ? (tp).min_pcr : ATM_MAX_PCR)
53
 
54
#endif