linux/include/linux/netfilter/nf_conntrack_sip.h

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __NF_CONNTRACK_SIP_H__
#define __NF_CONNTRACK_SIP_H__

#include <linux/skbuff.h>
#include <linux/types.h>
#include <net/netfilter/nf_conntrack_expect.h>

#define SIP_PORT
#define SIP_TIMEOUT

struct nf_ct_sip_master {};

enum sip_expectation_classes {};
#define SIP_EXPECT_MAX

struct sdp_media_type {};

#define SDP_MEDIA_TYPE(__name, __class)

struct sip_handler {};

#define SIP_HANDLER(__method, __request, __response)

struct sip_header {};

#define __SIP_HDR(__name, __cname, __search, __match)

#define SIP_HDR(__name, __cname, __search, __match)

#define SDP_HDR(__name, __search, __match)

enum sip_header_types {};

enum sdp_header_types {};

struct nf_nat_sip_hooks {};
extern const struct nf_nat_sip_hooks __rcu *nf_nat_sip_hooks;

int ct_sip_parse_request(const struct nf_conn *ct, const char *dptr,
			 unsigned int datalen, unsigned int *matchoff,
			 unsigned int *matchlen, union nf_inet_addr *addr,
			 __be16 *port);
int ct_sip_get_header(const struct nf_conn *ct, const char *dptr,
		      unsigned int dataoff, unsigned int datalen,
		      enum sip_header_types type, unsigned int *matchoff,
		      unsigned int *matchlen);
int ct_sip_parse_header_uri(const struct nf_conn *ct, const char *dptr,
			    unsigned int *dataoff, unsigned int datalen,
			    enum sip_header_types type, int *in_header,
			    unsigned int *matchoff, unsigned int *matchlen,
			    union nf_inet_addr *addr, __be16 *port);
int ct_sip_parse_address_param(const struct nf_conn *ct, const char *dptr,
			       unsigned int dataoff, unsigned int datalen,
			       const char *name, unsigned int *matchoff,
			       unsigned int *matchlen, union nf_inet_addr *addr,
			       bool delim);
int ct_sip_parse_numerical_param(const struct nf_conn *ct, const char *dptr,
				 unsigned int off, unsigned int datalen,
				 const char *name, unsigned int *matchoff,
				 unsigned int *matchen, unsigned int *val);

int ct_sip_get_sdp_header(const struct nf_conn *ct, const char *dptr,
			  unsigned int dataoff, unsigned int datalen,
			  enum sdp_header_types type,
			  enum sdp_header_types term,
			  unsigned int *matchoff, unsigned int *matchlen);

#endif /* __NF_CONNTRACK_SIP_H__ */