The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/netatm/atm_proto.c

Version: -  FREEBSD  -  FREEBSD11  -  FREEBSD10  -  FREEBSD9  -  FREEBSD92  -  FREEBSD91  -  FREEBSD90  -  FREEBSD8  -  FREEBSD82  -  FREEBSD81  -  FREEBSD80  -  FREEBSD7  -  FREEBSD74  -  FREEBSD73  -  FREEBSD72  -  FREEBSD71  -  FREEBSD70  -  FREEBSD6  -  FREEBSD64  -  FREEBSD63  -  FREEBSD62  -  FREEBSD61  -  FREEBSD60  -  FREEBSD5  -  FREEBSD55  -  FREEBSD54  -  FREEBSD53  -  FREEBSD52  -  FREEBSD51  -  FREEBSD50  -  FREEBSD4  -  FREEBSD3  -  FREEBSD22  -  linux-2.6  -  linux-2.4.22  -  MK83  -  MK84  -  PLAN9  -  DFBSD  -  NETBSD  -  NETBSD5  -  NETBSD4  -  NETBSD3  -  NETBSD20  -  OPENBSD  -  xnu-517  -  xnu-792  -  xnu-792.6.70  -  xnu-1228  -  xnu-1456.1.26  -  xnu-1699.24.8  -  xnu-2050.18.24  -  OPENSOLARIS  -  minix-3-1-1 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * ===================================
    3  * HARP  |  Host ATM Research Platform
    4  * ===================================
    5  *
    6  *
    7  * This Host ATM Research Platform ("HARP") file (the "Software") is
    8  * made available by Network Computing Services, Inc. ("NetworkCS")
    9  * "AS IS".  NetworkCS does not provide maintenance, improvements or
   10  * support of any kind.
   11  *
   12  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
   13  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
   14  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
   15  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
   16  * In no event shall NetworkCS be responsible for any damages, including
   17  * but not limited to consequential damages, arising from or relating to
   18  * any use of the Software or related support.
   19  *
   20  * Copyright 1994-1998 Network Computing Services, Inc.
   21  *
   22  * Copies of this Software may be made, however, the above copyright
   23  * notice must be reproduced on all copies.
   24  */
   25 
   26 /*
   27  * Core ATM Services
   28  * -----------------
   29  *
   30  * ATM socket protocol family support definitions
   31  */
   32 
   33 #include <sys/cdefs.h>
   34 __FBSDID("$FreeBSD: src/sys/netatm/atm_proto.c,v 1.11.4.2 2005/02/25 17:50:31 rwatson Exp $");
   35 
   36 #include <sys/param.h>
   37 #include <sys/kernel.h>
   38 #include <sys/domain.h>
   39 #include <sys/protosw.h>
   40 #include <sys/socket.h>
   41 #include <sys/sysctl.h>
   42 #include <net/if.h>
   43 #include <netatm/port.h>
   44 #include <netatm/queue.h>
   45 #include <netatm/atm.h>
   46 #include <netatm/atm_sys.h>
   47 #include <netatm/atm_sap.h>
   48 #include <netatm/atm_cm.h>
   49 #include <netatm/atm_if.h>
   50 #include <netatm/atm_stack.h>
   51 #include <netatm/atm_pcb.h>
   52 #include <netatm/atm_var.h>
   53 
   54 NET_NEEDS_GIANT("netatm");
   55 
   56 struct protosw atmsw[] = {
   57 {       SOCK_DGRAM,                             /* ioctl()-only */
   58         &atmdomain,
   59         0,
   60         0,
   61         0,                      /* pr_input */
   62         0,                      /* pr_output */
   63         0,                      /* pr_ctlinput */
   64         0,                      /* pr_ctloutput */
   65         0,                      /* pr_ousrreq */
   66         0,                      /* pr_init */
   67         0,                      /* pr_fasttimo */
   68         0,                      /* pr_slowtimo */
   69         0,                      /* pr_drain */
   70         &atm_dgram_usrreqs,     /* pr_usrreqs */
   71 },
   72 
   73 {       SOCK_SEQPACKET,                         /* AAL-5 */
   74         &atmdomain,
   75         ATM_PROTO_AAL5,
   76         PR_ATOMIC|PR_CONNREQUIRED,
   77         0,                      /* pr_input */
   78         0,                      /* pr_output */
   79         0,                      /* pr_ctlinput */
   80         atm_aal5_ctloutput,     /* pr_ctloutput */
   81         0,                      /* pr_ousrreq */
   82         0,                      /* pr_init */
   83         0,                      /* pr_fasttimo */
   84         0,                      /* pr_slowtimo */
   85         0,                      /* pr_drain */
   86         &atm_aal5_usrreqs,      /* pr_usrreqs */
   87 },
   88 
   89 #ifdef XXX
   90 {       SOCK_SEQPACKET,                         /* SSCOP */
   91         &atmdomain,
   92         ATM_PROTO_SSCOP,
   93         PR_ATOMIC|PR_CONNREQUIRED|PR_WANTRCVD,
   94         x,                      /* pr_input */
   95         x,                      /* pr_output */
   96         x,                      /* pr_ctlinput */
   97         x,                      /* pr_ctloutput */
   98         0,                      /* pr_ousrreq */
   99         0,                      /* pr_init */
  100         0,                      /* pr_fasttimo */
  101         0,                      /* pr_slowtimo */
  102         x,                      /* pr_drain */
  103         x,                      /* pr_usrreqs */
  104 },
  105 #endif
  106 };
  107 
  108 struct domain atmdomain = {
  109         AF_ATM,
  110         "atm",
  111         atm_initialize,
  112         0,
  113         0, 
  114         atmsw,
  115         &atmsw[sizeof(atmsw) / sizeof(atmsw[0])]
  116 };
  117 
  118 DOMAIN_SET(atm);
  119 
  120 SYSCTL_NODE(_net, PF_ATM, harp, CTLFLAG_RW, 0, "HARP/ATM family");
  121 SYSCTL_NODE(_net_harp, OID_AUTO, atm, CTLFLAG_RW, 0, "ATM layer");
  122 
  123 /*
  124  * Protocol request not supported
  125  *
  126  * Arguments:
  127  *      so      pointer to socket
  128  *
  129  * Returns:
  130  *      errno   error - operation not supported
  131  *
  132  */
  133 int
  134 atm_proto_notsupp1(so)
  135         struct socket   *so;
  136 {
  137         return (EOPNOTSUPP);
  138 }
  139 
  140 
  141 /*
  142  * Protocol request not supported
  143  *
  144  * Arguments:
  145  *      so      pointer to socket
  146  *      addr    pointer to protocol address
  147  *      p       pointer to process
  148  *
  149  * Returns:
  150  *      errno   error - operation not supported
  151  *
  152  */
  153 int
  154 atm_proto_notsupp2(so, addr, td)
  155         struct socket   *so;
  156         struct sockaddr *addr;
  157         struct thread   *td;
  158 {
  159         return (EOPNOTSUPP);
  160 }
  161 
  162 
  163 /*
  164  * Protocol request not supported
  165  *
  166  * Arguments:
  167  *      so      pointer to socket
  168  *      addr    pointer to pointer to protocol address
  169  *
  170  * Returns:
  171  *      errno   error - operation not supported
  172  *
  173  */
  174 int
  175 atm_proto_notsupp3(so, addr)
  176         struct socket   *so;
  177         struct sockaddr **addr;
  178 {
  179         return (EOPNOTSUPP);
  180 }
  181 
  182 
  183 /*
  184  * Protocol request not supported
  185  *
  186  * Arguments:
  187  *      so      pointer to socket
  188  *      i       integer
  189  *      m       pointer to kernel buffer
  190  *      addr    pointer to protocol address
  191  *      m2      pointer to kernel buffer
  192  *      p       pointer to process
  193  *
  194  * Returns:
  195  *      errno   error - operation not supported
  196  *
  197  */
  198 int
  199 atm_proto_notsupp4(so, i, m, addr, m2, td)
  200         struct socket   *so;
  201         int             i;
  202         KBuffer         *m;
  203         struct sockaddr *addr;
  204         KBuffer         *m2;
  205         struct thread   *td;
  206 {
  207         return (EOPNOTSUPP);
  208 }

Cache object: 0785d44f93c380529685ee9fd671c98a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.