/* Generated by the protocol buffer compiler.  DO NOT EDIT! */
/* Generated from: cfg.proto */

#ifndef PROTOBUF_C_cfg_2eproto__INCLUDED
#define PROTOBUF_C_cfg_2eproto__INCLUDED

#include <protobuf-c/protobuf-c.h>

PROTOBUF_C__BEGIN_DECLS

#if PROTOBUF_C_VERSION_NUMBER < 1003000
# error This file was generated by a newer version of protobuf-c which is incompatible with your libprotobuf-c headers. Please update your headers.
#elif 1005002 < PROTOBUF_C_MIN_COMPILER_VERSION
# error This file was generated by an older version of protobuf-c which is incompatible with your libprotobuf-c headers. Please regenerate this file with a newer version of protobuf-c.
#endif

#include "ipc.pb-c.h"

typedef struct NetworkConfig NetworkConfig;
typedef struct KkdcpRealmConfig KkdcpRealmConfig;
typedef struct KkdcpConfig KkdcpConfig;
typedef struct ReloadableConfig ReloadableConfig;


/* --- enums --- */


/* --- messages --- */

/*
 * Serialized form of struct vpn_st 
 */
struct  NetworkConfig
{
  ProtobufCMessage base;
  /*
   * TUN device name prefix 
   */
  char *name;
  char *ipv4_netmask;
  char *ipv4_network;
  char *ipv4;
  char *ipv4_local;
  char *ipv6_network;
  protobuf_c_boolean has_ipv6_prefix;
  uint32_t ipv6_prefix;
  char *ipv6;
  char *ipv6_local;
  protobuf_c_boolean has_mtu;
  uint32_t mtu;
  protobuf_c_boolean has_ipv6_subnet_prefix;
  uint32_t ipv6_subnet_prefix;
  size_t n_routes;
  char **routes;
  size_t n_no_routes;
  char **no_routes;
  size_t n_dns;
  char **dns;
  size_t n_nbns;
  char **nbns;
};
#define NETWORK_CONFIG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&network_config__descriptor) \
    , NULL, NULL, NULL, NULL, NULL, NULL, 0, 0, NULL, NULL, 0, 0, 0, 0, 0,NULL, 0,NULL, 0,NULL, 0,NULL }


/*
 * Serialized form of kkdcp_realm_st 
 */
struct  KkdcpRealmConfig
{
  ProtobufCMessage base;
  char *realm;
  /*
   * struct sockaddr_storage, raw binary; .len == addr_len 
   */
  protobuf_c_boolean has_addr;
  ProtobufCBinaryData addr;
  /*
   * field 3 retired — do not reuse 
   */
  protobuf_c_boolean has_ai_family;
  int32_t ai_family;
  protobuf_c_boolean has_ai_socktype;
  int32_t ai_socktype;
  protobuf_c_boolean has_ai_protocol;
  int32_t ai_protocol;
};
#define KKDCP_REALM_CONFIG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&kkdcp_realm_config__descriptor) \
    , NULL, 0, {0,NULL}, 0, 0, 0, 0, 0, 0 }


/*
 * Serialized form of kkdcp_st (one entry per URL path) 
 */
struct  KkdcpConfig
{
  ProtobufCMessage base;
  char *url;
  size_t n_realms;
  KkdcpRealmConfig **realms;
};
#define KKDCP_CONFIG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&kkdcp_config__descriptor) \
    , NULL, 0,NULL }


struct  ReloadableConfig
{
  ProtobufCMessage base;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_is_dyndns;
  uint32_t is_dyndns;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_listen_proxy_proto;
  uint32_t listen_proxy_proto;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_stats_report_time;
  uint32_t stats_report_time;
  /*
   * [scope: vhost] gnutls_certificate_request_t 
   */
  protobuf_c_boolean has_cert_req;
  uint32_t cert_req;
  /*
   * [scope: vhost] ENABLE_COMPRESSION builds only 
   */
  protobuf_c_boolean has_enable_compression;
  uint32_t enable_compression;
  /*
   * [scope: vhost] ENABLE_COMPRESSION builds only 
   */
  protobuf_c_boolean has_no_compress_limit;
  uint32_t no_compress_limit;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_select_group_by_url;
  uint32_t select_group_by_url;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_auto_select_group;
  uint32_t auto_select_group;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_append_routes;
  uint32_t append_routes;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_restrict_user_to_routes;
  uint32_t restrict_user_to_routes;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_deny_roaming;
  uint32_t deny_roaming;
  /*
   * [scope: vhost] seconds 
   */
  protobuf_c_boolean has_cookie_timeout;
  int64_t cookie_timeout;
  /*
   * [scope: vhost user] seconds 
   */
  protobuf_c_boolean has_session_timeout;
  int64_t session_timeout;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_persistent_cookies;
  uint32_t persistent_cookies;
  /*
   * [scope: vhost] seconds 
   */
  protobuf_c_boolean has_rekey_time;
  int64_t rekey_time;
  /*
   * [scope: vhost] REKEY_METHOD_* 
   */
  protobuf_c_boolean has_rekey_method;
  uint32_t rekey_method;
  /*
   * [scope: global] seconds 
   */
  protobuf_c_boolean has_ban_time;
  int64_t ban_time;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_max_ban_score;
  uint32_t max_ban_score;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_ban_reset_time;
  int32_t ban_reset_time;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_ban_points_wrong_password;
  uint32_t ban_points_wrong_password;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_ban_points_connect;
  uint32_t ban_points_connect;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_ban_points_kkdcp;
  uint32_t ban_points_kkdcp;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_match_dtls_and_tls;
  uint32_t match_dtls_and_tls;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_dtls_psk;
  uint32_t dtls_psk;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_dtls_legacy;
  uint32_t dtls_legacy;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_isolate;
  uint32_t isolate;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_auth_timeout;
  uint32_t auth_timeout;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_idle_timeout;
  uint32_t idle_timeout;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_mobile_idle_timeout;
  uint32_t mobile_idle_timeout;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_switch_to_tcp_timeout;
  uint32_t switch_to_tcp_timeout;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_keepalive;
  uint32_t keepalive;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_dpd;
  uint32_t dpd;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_mobile_dpd;
  uint32_t mobile_dpd;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_max_clients;
  uint32_t max_clients;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_max_same_clients;
  uint32_t max_same_clients;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_use_utmp;
  uint32_t use_utmp;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_tunnel_all_dns;
  uint32_t tunnel_all_dns;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_use_occtl;
  uint32_t use_occtl;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_try_mtu;
  uint32_t try_mtu;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_cisco_client_compat;
  uint32_t cisco_client_compat;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_cisco_svc_client_compat;
  uint32_t cisco_svc_client_compat;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_rate_limit_ms;
  uint32_t rate_limit_ms;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_ping_leases;
  uint32_t ping_leases;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_server_drain_ms;
  uint32_t server_drain_ms;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_rx_per_sec;
  uint64_t rx_per_sec;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_tx_per_sec;
  uint64_t tx_per_sec;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_net_priority;
  uint32_t net_priority;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_output_buffer;
  uint32_t output_buffer;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_default_mtu;
  uint32_t default_mtu;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_predictable_ips;
  uint32_t predictable_ips;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_client_bypass_protocol;
  uint32_t client_bypass_protocol;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_gssapi_no_local_user_map;
  protobuf_c_boolean gssapi_no_local_user_map;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_camouflage;
  protobuf_c_boolean camouflage;
  /*
   * [scope: vhost user] 
   */
  protobuf_c_boolean has_no_udp;
  protobuf_c_boolean no_udp;
  /*
   * [scope: vhost] 
   */
  protobuf_c_boolean has_expose_iroutes;
  protobuf_c_boolean expose_iroutes;
  /*
   * [scope: global] 
   */
  protobuf_c_boolean has_limit_worker_memory;
  uint32_t limit_worker_memory;
  /*
   * [scope: global] undocumented; 0 = use built-in default (310 s) 
   */
  protobuf_c_boolean has_sec_mod_db_cleanup_time;
  uint32_t sec_mod_db_cleanup_time;
  /*
   * [scope: vhost] OID for username extraction 
   */
  char *cert_user_oid;
  /*
   * [scope: vhost] OID for groupname extraction 
   */
  char *cert_group_oid;
  /*
   * [scope: vhost] GnuTLS priority string 
   */
  char *priorities;
  /*
   * [scope: vhost] 
   */
  char *banner;
  /*
   * [scope: vhost] 
   */
  char *pre_login_banner;
  /*
   * [scope: vhost] file with OCSP response 
   */
  char *ocsp_response;
  /*
   * [scope: vhost] domain advertised to client 
   */
  char *default_domain;
  /*
   * [scope: vhost] 
   */
  char *default_select_group;
  /*
   * [scope: vhost] 
   */
  char *crl;
  /*
   * [scope: global] 
   */
  char *route_add_cmd;
  /*
   * [scope: global] 
   */
  char *route_del_cmd;
  /*
   * [scope: global] 
   */
  char *connect_script;
  /*
   * [scope: global] 
   */
  char *host_update_script;
  /*
   * [scope: global] 
   */
  char *disconnect_script;
  /*
   * [scope: vhost] 
   */
  char *proxy_url;
  /*
   * [scope: vhost user] ANYCONNECT_CLIENT_COMPAT only 
   */
  char *xml_config_file;
  /*
   * [scope: vhost user] ANYCONNECT_CLIENT_COMPAT only 
   */
  char *xml_config_hash;
  /*
   * [scope: vhost] 
   */
  char *per_group_dir;
  /*
   * [scope: vhost] 
   */
  char *per_user_dir;
  /*
   * [scope: vhost] 
   */
  char *default_group_conf;
  /*
   * [scope: vhost] 
   */
  char *default_user_conf;
  /*
   * [scope: vhost] 
   */
  char *camouflage_secret;
  /*
   * [scope: vhost] 
   */
  char *camouflage_realm;
  /*
   * [scope: vhost] select_group 
   */
  size_t n_group_list;
  char **group_list;
  /*
   * [scope: vhost] parallel to group_list 
   */
  size_t n_friendly_group_list;
  char **friendly_group_list;
  /*
   * [scope: vhost] 
   */
  size_t n_custom_header;
  char **custom_header;
  /*
   * [scope: vhost user] 
   */
  size_t n_split_dns;
  char **split_dns;
  /*
   * [scope: vhost] 
   */
  size_t n_included_http_headers;
  char **included_http_headers;
  /*
   * [scope: vhost] 
   */
  size_t n_known_iroutes;
  char **known_iroutes;
  /*
   * [scope: vhost user] dns/routes/network sub-fields; exception: network.name is [scope: global] 
   */
  NetworkConfig *network;
  /*
   * [scope: vhost user] per-client firewall port rules 
   */
  size_t n_fw_ports;
  FwPortSt **fw_ports;
  /*
   * [scope: vhost] KKDCP (Kerberos KDC Proxy) configuration.
   */
  size_t n_kkdcp;
  KkdcpConfig **kkdcp;
};
#define RELOADABLE_CONFIG__INIT \
 { PROTOBUF_C_MESSAGE_INIT (&reloadable_config__descriptor) \
    , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, 0,NULL, NULL, 0,NULL, 0,NULL }


/* NetworkConfig methods */
void   network_config__init
                     (NetworkConfig         *message);
size_t network_config__get_packed_size
                     (const NetworkConfig   *message);
size_t network_config__pack
                     (const NetworkConfig   *message,
                      uint8_t             *out);
size_t network_config__pack_to_buffer
                     (const NetworkConfig   *message,
                      ProtobufCBuffer     *buffer);
NetworkConfig *
       network_config__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   network_config__free_unpacked
                     (NetworkConfig *message,
                      ProtobufCAllocator *allocator);
/* KkdcpRealmConfig methods */
void   kkdcp_realm_config__init
                     (KkdcpRealmConfig         *message);
size_t kkdcp_realm_config__get_packed_size
                     (const KkdcpRealmConfig   *message);
size_t kkdcp_realm_config__pack
                     (const KkdcpRealmConfig   *message,
                      uint8_t             *out);
size_t kkdcp_realm_config__pack_to_buffer
                     (const KkdcpRealmConfig   *message,
                      ProtobufCBuffer     *buffer);
KkdcpRealmConfig *
       kkdcp_realm_config__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   kkdcp_realm_config__free_unpacked
                     (KkdcpRealmConfig *message,
                      ProtobufCAllocator *allocator);
/* KkdcpConfig methods */
void   kkdcp_config__init
                     (KkdcpConfig         *message);
size_t kkdcp_config__get_packed_size
                     (const KkdcpConfig   *message);
size_t kkdcp_config__pack
                     (const KkdcpConfig   *message,
                      uint8_t             *out);
size_t kkdcp_config__pack_to_buffer
                     (const KkdcpConfig   *message,
                      ProtobufCBuffer     *buffer);
KkdcpConfig *
       kkdcp_config__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   kkdcp_config__free_unpacked
                     (KkdcpConfig *message,
                      ProtobufCAllocator *allocator);
/* ReloadableConfig methods */
void   reloadable_config__init
                     (ReloadableConfig         *message);
size_t reloadable_config__get_packed_size
                     (const ReloadableConfig   *message);
size_t reloadable_config__pack
                     (const ReloadableConfig   *message,
                      uint8_t             *out);
size_t reloadable_config__pack_to_buffer
                     (const ReloadableConfig   *message,
                      ProtobufCBuffer     *buffer);
ReloadableConfig *
       reloadable_config__unpack
                     (ProtobufCAllocator  *allocator,
                      size_t               len,
                      const uint8_t       *data);
void   reloadable_config__free_unpacked
                     (ReloadableConfig *message,
                      ProtobufCAllocator *allocator);
/* --- per-message closures --- */

typedef void (*NetworkConfig_Closure)
                 (const NetworkConfig *message,
                  void *closure_data);
typedef void (*KkdcpRealmConfig_Closure)
                 (const KkdcpRealmConfig *message,
                  void *closure_data);
typedef void (*KkdcpConfig_Closure)
                 (const KkdcpConfig *message,
                  void *closure_data);
typedef void (*ReloadableConfig_Closure)
                 (const ReloadableConfig *message,
                  void *closure_data);

/* --- services --- */


/* --- descriptors --- */

extern const ProtobufCMessageDescriptor network_config__descriptor;
extern const ProtobufCMessageDescriptor kkdcp_realm_config__descriptor;
extern const ProtobufCMessageDescriptor kkdcp_config__descriptor;
extern const ProtobufCMessageDescriptor reloadable_config__descriptor;

PROTOBUF_C__END_DECLS


#endif  /* PROTOBUF_C_cfg_2eproto__INCLUDED */
