Skip to content
Snippets Groups Projects
transp_v6.h 1.3 KiB
Newer Older
  • Learn to ignore specific revisions
  • Linus Torvalds's avatar
    Linus Torvalds committed
    #ifndef _TRANSP_V6_H
    #define _TRANSP_V6_H
    
    #include <net/checksum.h>
    
    /*
     *	IPv6 transport protocols
     */
    
    #ifdef __KERNEL__
    
    extern struct proto rawv6_prot;
    extern struct proto udpv6_prot;
    
    extern struct proto udplitev6_prot;
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    extern struct proto tcpv6_prot;
    
    struct flowi;
    
    /* extention headers */
    
    extern int				ipv6_exthdrs_init(void);
    extern void				ipv6_exthdrs_exit(void);
    
    extern int				ipv6_frag_init(void);
    extern void				ipv6_frag_exit(void);
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    /* transport protocols */
    
    extern int				rawv6_init(void);
    extern void				rawv6_exit(void);
    extern int				udpv6_init(void);
    extern void				udpv6_exit(void);
    extern int 				udplitev6_init(void);
    extern void 				udplitev6_exit(void);
    extern int				tcpv6_init(void);
    extern void				tcpv6_exit(void);
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    extern int				udpv6_connect(struct sock *sk,
    						      struct sockaddr *uaddr,
    						      int addr_len);
    
    extern int			datagram_recv_ctl(struct sock *sk,
    						  struct msghdr *msg,
    						  struct sk_buff *skb);
    
    extern int			datagram_send_ctl(struct msghdr *msg,
    						  struct flowi *fl,
    						  struct ipv6_txoptions *opt,
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    #define		LOOPBACK4_IPV6		__constant_htonl(0x7f000006)
    
    /*
     *	address family specific functions
     */
    
    extern struct inet_connection_sock_af_ops ipv4_specific;
    
    Linus Torvalds's avatar
    Linus Torvalds committed
    
    extern int inet6_destroy_sock(struct sock *sk);
    
    #endif
    
    #endif