You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2017/11/01 17:55:19 UTC
[trafficserver] 03/03: This removes all configuration Element
ctor/dtor code
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git
commit af92bb6b18bf3b285f69ce3ea892ff018ab41572
Author: Leif Hedstrom <zw...@apache.org>
AuthorDate: Thu Oct 12 20:09:28 2017 -0600
This removes all configuration Element ctor/dtor code
---
mgmt/api/APITestCliRemote.cc | 191 ----------
mgmt/api/CfgContextDefs.h | 73 ----
mgmt/api/INKMgmtAPI.cc | 809 -------------------------------------------
mgmt/api/include/mgmtapi.h | 407 +---------------------
4 files changed, 1 insertion(+), 1479 deletions(-)
diff --git a/mgmt/api/APITestCliRemote.cc b/mgmt/api/APITestCliRemote.cc
index ba7bf37..7092fbd 100644
--- a/mgmt/api/APITestCliRemote.cc
+++ b/mgmt/api/APITestCliRemote.cc
@@ -123,28 +123,6 @@ print_err(const char *module, TSMgmtError err)
}
}
-/*--------------------------------------------------------------
- * print_ports
- *--------------------------------------------------------------*/
-void
-print_ports(TSPortList list)
-{
- int i, count;
- TSPortEle *port_ele;
-
- count = TSPortListLen(list);
- for (i = 0; i < count; i++) {
- port_ele = TSPortListDequeue(list);
- printf(" %d \n", port_ele->port_a);
- if (port_ele->port_b != -1) {
- printf(" %d - %d \n", port_ele->port_a, port_ele->port_b);
- }
- TSPortListEnqueue(list, port_ele);
- }
-
- return;
-}
-
/*-------------------------------------------------------------
* print_string_list
*-------------------------------------------------------------*/
@@ -188,175 +166,6 @@ print_int_list(TSIntList list)
printf("Int List: %s \n", buf);
}
-/*-------------------------------------------------------
- * print_domain_list
- *-------------------------------------------------------*/
-void
-print_domain_list(TSDomainList list)
-{
- int i, count;
- TSDomain *proxy;
-
- count = TSDomainListLen(list);
- for (i = 0; i < count; i++) {
- proxy = TSDomainListDequeue(list);
- if (proxy->domain_val) {
- printf("%s:%d\n", proxy->domain_val, proxy->port);
- }
- TSDomainListEnqueue(list, proxy);
- }
-}
-
-void
-print_ip_addr_ele(TSIpAddrEle *ele)
-{
- if (!ele) {
- return;
- }
-
- if (ele->type == TS_IP_RANGE) {
- if (ele->cidr_a != -1) {
- printf("IP_addr: %s/%d - %s/%d\n", ele->ip_a, ele->cidr_a, ele->ip_b, ele->cidr_b);
- } else {
- printf("IP_addr: %s - %s\n", ele->ip_a, ele->ip_b);
- }
- } else {
- if (ele->cidr_a != -1) {
- printf("IP_addr: %s/%d \n", ele->ip_a, ele->cidr_a);
- } else {
- printf("IP_addr: %s \n", ele->ip_a);
- }
- }
-}
-
-/*-------------------------------------------------------
- * print_ip_list
- *-------------------------------------------------------*/
-void
-print_ip_list(TSIpAddrList list)
-{
- int i, count;
- TSIpAddrEle *ele;
-
- count = TSIpAddrListLen(list);
- for (i = 0; i < count; i++) {
- ele = TSIpAddrListDequeue(list);
- print_ip_addr_ele(ele);
-
- TSIpAddrListEnqueue(list, ele);
- }
-}
-
-/*-------------------------------------------------------
- * print_list_of_ip_list
- *-------------------------------------------------------*/
-void
-print_list_of_ip_list(TSList list)
-{
- int i, count;
- TSIpAddrList ele;
-
- count = TSIpAddrListLen(list);
- for (i = 0; i < count; i++) {
- ele = TSListDequeue(list);
- printf("\n");
- print_ip_list(ele);
- printf("\n");
- TSListEnqueue(list, ele);
- }
-}
-
-/*-------------------------------------------------------
- * print_pd_sspec
- *-------------------------------------------------------*/
-void
-print_pd_sspec(TSPdSsFormat info)
-{
- switch (info.pd_type) {
- case TS_PD_DOMAIN:
- printf("Prime Dest: dest_domain=%s\n", info.pd_val);
- break;
- case TS_PD_HOST:
- printf("Prime Host: dest_host=%s\n", info.pd_val);
- break;
- case TS_PD_IP:
- printf("Prime IP: dest_ip=%s\n", info.pd_val);
- break;
- case TS_PD_URL_REGEX:
- printf("Prime Url regex: url_regex=%s\n", info.pd_val);
- break;
- case TS_PD_URL:
- printf("Prime Url: url=%s\n", info.pd_val);
- break;
- default:
- break;
- }
-
- printf("Secondary Specifiers:\n");
- printf("\ttime: %d:%d-%d:%d\n", info.sec_spec.time.hour_a, info.sec_spec.time.min_a, info.sec_spec.time.hour_b,
- info.sec_spec.time.min_b);
-
- if (info.sec_spec.src_ip) {
- printf("\tsrc_ip: %s\n", info.sec_spec.src_ip);
- }
-
- if (info.sec_spec.prefix) {
- printf("\tprefix: %s\n", info.sec_spec.prefix);
- }
-
- if (info.sec_spec.suffix) {
- printf("\tsuffix: %s\n", info.sec_spec.suffix);
- }
-
- printf("\tport-a: %d\n", info.sec_spec.port->port_a);
- printf("\tport-b: %d\n", info.sec_spec.port->port_b);
-
- printf("\tmethod: ");
- switch (info.sec_spec.method) {
- case TS_METHOD_NONE:
- printf("NONE");
- break;
- case TS_METHOD_GET:
- printf("GET");
- break;
- case TS_METHOD_POST:
- printf("POST");
- break;
- case TS_METHOD_PUT:
- printf("PUT");
- break;
- case TS_METHOD_TRACE:
- printf("TRACE");
- break;
- case TS_METHOD_UNDEFINED:
- printf("UNDEFINED");
- break;
- default:
- // Handled here:
- // TS_METHOD_PUSH
- break;
- }
- printf("\n");
-
- printf("\tscheme: ");
- switch (info.sec_spec.scheme) {
- case TS_SCHEME_NONE:
- printf("NONE\n");
- break;
- case TS_SCHEME_HTTP:
- printf("HTTP\n");
- break;
- case TS_SCHEME_HTTPS:
- printf("HTTPS\n");
- break;
- case TS_SCHEME_UNDEFINED:
- printf("UNDEFINED\n");
- break;
- }
-
- return;
-}
-
/***************************************************************************
* Control Testing
***************************************************************************/
diff --git a/mgmt/api/CfgContextDefs.h b/mgmt/api/CfgContextDefs.h
deleted file mode 100644
index 90d984a..0000000
--- a/mgmt/api/CfgContextDefs.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/** @file
-
- A brief file description
-
- @section license License
-
- Licensed to the Apache Software Foundation (ASF) under one
- or more contributor license agreements. See the NOTICE file
- distributed with this work for additional information
- regarding copyright ownership. The ASF licenses this file
- to you under the Apache License, Version 2.0 (the
- "License"); you may not use this file except in compliance
- with the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
-
-/***************************************************************************
- * Type Definitions
- ***************************************************************************/
-#ifndef _MGMT_API_DEFS_
-#define _MGMT_API_DEFS_
-
-#include "mgmtapi.h"
-#include "ts/ink_llqueue.h"
-
-// for buffer used temporarily to parse incoming commands.
-#ifndef MAX_BUF_SIZE
-#define MAX_BUF_SIZE 4098
-#endif
-
-#ifndef MAX_FILE_SIZE
-#define MAX_FILE_SIZE 4098
-#endif
-
-#ifndef MAX_RULE_SIZE
-#define MAX_RULE_SIZE 1024
-#endif
-
-#define NUM_SEC_SPECS 8
-
-#define DELIMITER '#'
-#define DELIMITER_STR "#"
-#define RANGE_DELIMITER '-'
-#define RANGE_DELIMITER_STR "- "
-#define CIDR_DELIMITER '/'
-#define CIDR_DELIMITER_STR "/"
-#define IP_END_DELIMITER "#"
-#define LIST_DELIMITER ", "
-
-/* Each opaque List handle in the mgmtapi should have
- * a corresponding typedef here. Using LLQ's to implement the
- * lists
- */
-typedef LLQ PortList;
-typedef LLQ IpAddrList;
-typedef LLQ DomainList;
-typedef LLQ StringList;
-
-/* INKCommentEle only used internally by the CfgContext */
-/* should this be defined in CfgContextUtils.h ?? */
-typedef struct {
- TSCfgEle cfg_ele;
- char *comment;
-} INKCommentEle;
-
-#endif
diff --git a/mgmt/api/INKMgmtAPI.cc b/mgmt/api/INKMgmtAPI.cc
index 50ab43b..25bcb85 100644
--- a/mgmt/api/INKMgmtAPI.cc
+++ b/mgmt/api/INKMgmtAPI.cc
@@ -42,9 +42,6 @@
#include "ts/TextBuffer.h"
-// forward declarations
-void init_pdss_format(TSPdSsFormat &info);
-
/***************************************************************************
* API Memory Management
***************************************************************************/
@@ -167,280 +164,6 @@ TSListIsValid(TSList l)
return true;
}
-/*--- TSIpAddrList operations -------------------------------------------------*/
-tsapi TSIpAddrList
-TSIpAddrListCreate(void)
-{
- return (void *)create_queue(); /* this queue will be a list of IpAddrEle* */
-}
-
-tsapi void
-TSIpAddrListDestroy(TSIpAddrList ip_addrl)
-{
- TSIpAddrEle *ipaddr_ele;
-
- if (!ip_addrl) {
- return;
- }
-
- /* dequeue each element and free it;
- currently, an element can only be an TSIpAddrEle
- or it can be an TSIpAddr ?? */
- while (!queue_is_empty((LLQ *)ip_addrl)) {
- ipaddr_ele = (TSIpAddrEle *)dequeue((LLQ *)ip_addrl);
-
- if (!ipaddr_ele) {
- continue;
- }
-
- TSIpAddrEleDestroy(ipaddr_ele);
- }
-
- /* we have removed everything on the list so free list */
- delete_queue((LLQ *)ip_addrl);
- return;
-}
-
-tsapi TSMgmtError
-TSIpAddrListEnqueue(TSIpAddrList ip_addrl, TSIpAddrEle *ip_addr)
-{
- int ret;
-
- ink_assert(ip_addrl && ip_addr);
- if (!ip_addrl || !ip_addr) {
- return TS_ERR_PARAMS;
- }
-
- ret = enqueue((LLQ *)ip_addrl, ip_addr);
- if (ret == 0) {
- return TS_ERR_FAIL;
- } else {
- return TS_ERR_OKAY;
- }
-}
-
-/* The the TSIpAddrEle returned is actually removed from the end of list */
-tsapi TSIpAddrEle *
-TSIpAddrListDequeue(TSIpAddrList ip_addrl)
-{
- ink_assert(ip_addrl);
- if (!ip_addrl || queue_is_empty((LLQ *)ip_addrl)) {
- return nullptr;
- }
-
- return (TSIpAddrEle *)dequeue((LLQ *)ip_addrl);
-}
-
-tsapi int
-TSIpAddrListLen(TSIpAddrList ip_addrl)
-{
- ink_assert(ip_addrl);
- if (!ip_addrl) {
- return -1;
- }
-
- return queue_len((LLQ *)ip_addrl);
-}
-
-tsapi bool
-TSIpAddrListIsEmpty(TSIpAddrList ip_addrl)
-{
- ink_assert(ip_addrl);
- if (!ip_addrl) {
- return true;
- }
-
- return queue_is_empty((LLQ *)ip_addrl);
-}
-
-/*--- TSPortList operations ----------------------------------------------*/
-tsapi TSPortList
-TSPortListCreate()
-{
- return (void *)create_queue(); /* this queue will be a list of TSPortEle* */
-}
-
-tsapi void
-TSPortListDestroy(TSPortList portl)
-{
- TSPortEle *port_ele;
-
- if (!portl) {
- return;
- }
- // dequeue each element and free it
- while (!queue_is_empty((LLQ *)portl)) {
- port_ele = (TSPortEle *)dequeue((LLQ *)portl);
-
- if (!port_ele) {
- continue;
- }
-
- TSPortEleDestroy(port_ele);
- }
-
- /* we have removed everything on the list so free list */
- delete_queue((LLQ *)portl);
- return;
-}
-
-tsapi TSMgmtError
-TSPortListEnqueue(TSPortList portl, TSPortEle *port)
-{
- int ret;
-
- ink_assert(portl && port);
- if (!portl || !port) {
- return TS_ERR_PARAMS;
- }
-
- ret = enqueue((LLQ *)portl, port); /* returns TRUE=1 or FALSE=0 */
- if (ret == 0) {
- return TS_ERR_FAIL;
- } else {
- return TS_ERR_OKAY;
- }
-}
-
-tsapi TSPortEle *
-TSPortListDequeue(TSPortList portl)
-{
- ink_assert(portl);
- if (!portl || queue_is_empty((LLQ *)portl)) {
- return nullptr;
- }
-
- return (TSPortEle *)dequeue((LLQ *)portl);
-}
-
-tsapi int
-TSPortListLen(TSPortList portl)
-{
- ink_assert(portl);
- if (!portl) {
- return -1;
- }
-
- return queue_len((LLQ *)portl);
-}
-
-tsapi bool
-TSPortListIsEmpty(TSPortList portl)
-{
- ink_assert(portl);
- if (!portl) {
- return true;
- }
-
- return queue_is_empty((LLQ *)portl);
-}
-
-/*--- TSDomainList operations -----------------------------------------*/
-tsapi TSDomainList
-TSDomainListCreate()
-{
- return (void *)create_queue(); /* this queue will be a list of char* */
-}
-
-tsapi void
-TSDomainListDestroy(TSDomainList domainl)
-{
- TSDomain *domain;
-
- if (!domainl) {
- return;
- }
-
- /* dequeue each element and free it */
- while (!queue_is_empty((LLQ *)domainl)) {
- domain = (TSDomain *)dequeue((LLQ *)domainl);
-
- if (!domain) {
- continue;
- }
-
- TSDomainDestroy(domain);
- }
-
- delete_queue((LLQ *)domainl);
-}
-
-tsapi TSMgmtError
-TSDomainListEnqueue(TSDomainList domainl, TSDomain *domain)
-{
- int ret;
-
- ink_assert(domainl && domain);
- if (!domainl || !domain) {
- return TS_ERR_PARAMS;
- }
-
- ret = enqueue((LLQ *)domainl, domain); /* returns TRUE=1 or FALSE=0 */
- if (ret == 0) {
- return TS_ERR_FAIL;
- } else {
- return TS_ERR_OKAY;
- }
-}
-
-tsapi TSDomain *
-TSDomainListDequeue(TSDomainList domainl)
-{
- ink_assert(domainl);
- if (!domainl || queue_is_empty((LLQ *)domainl)) {
- return nullptr;
- }
-
- return (TSDomain *)dequeue((LLQ *)domainl);
-}
-
-tsapi bool
-TSDomainListIsEmpty(TSDomainList domainl)
-{
- ink_assert(domainl);
- if (!domainl) {
- return true;
- }
-
- return queue_is_empty((LLQ *)domainl);
-}
-
-tsapi int
-TSDomainListLen(TSDomainList domainl)
-{
- ink_assert(domainl);
- if (!domainl) {
- return -1;
- }
-
- return queue_len((LLQ *)domainl);
-}
-
-// returns false if encounter a NULL hostname and ip
-tsapi bool
-TSDomainListIsValid(TSDomainList domainl)
-{
- int i, len;
- TSDomain *dom;
-
- if (!domainl) {
- return false;
- }
-
- len = queue_len((LLQ *)domainl);
- for (i = 0; i < len; i++) {
- dom = (TSDomain *)dequeue((LLQ *)domainl);
- if (!dom) {
- return false;
- }
- if (!dom->domain_val) {
- return false;
- }
- enqueue((LLQ *)domainl, dom);
- }
- return true;
-}
-
/*--- TSStringList operations --------------------------------------*/
tsapi TSStringList
TSStringListCreate()
@@ -638,25 +361,6 @@ TSIntListIsValid(TSIntList intl, int min, int max)
return true;
}
-// helper fn that sets default values for the info passed in
-void
-init_pdss_format(TSPdSsFormat &info)
-{
- info.pd_type = TS_PD_UNDEFINED;
- info.pd_val = nullptr;
- info.sec_spec.active = 0;
- info.sec_spec.time.hour_a = 0;
- info.sec_spec.time.min_a = 0;
- info.sec_spec.time.hour_b = 0;
- info.sec_spec.time.min_b = 0;
- info.sec_spec.src_ip = TS_INVALID_IP_ADDR;
- info.sec_spec.prefix = nullptr;
- info.sec_spec.suffix = nullptr;
- info.sec_spec.port = TS_INVALID_PORT;
- info.sec_spec.method = TS_METHOD_UNDEFINED;
- info.sec_spec.scheme = TS_SCHEME_UNDEFINED;
-}
-
/*--- allocate/deallocate operations --------------------------------------*/
tsapi TSMgmtEvent *
TSEventCreate(void)
@@ -706,519 +410,6 @@ TSRecordEleDestroy(TSRecordEle *ele)
return;
}
-tsapi TSIpAddrEle *
-TSIpAddrEleCreate(void)
-{
- TSIpAddrEle *ele = (TSIpAddrEle *)ats_malloc(sizeof(TSIpAddrEle));
-
- /* set default values */
- ele->type = TS_IP_UNDEFINED;
- ele->ip_a = TS_INVALID_IP_ADDR;
- ele->cidr_a = TS_INVALID_IP_CIDR;
- ele->port_a = TS_INVALID_PORT;
- ele->ip_b = TS_INVALID_IP_ADDR;
- ele->cidr_b = TS_INVALID_IP_CIDR;
- ele->port_b = TS_INVALID_PORT;
- return ele;
-}
-
-tsapi void
-TSIpAddrEleDestroy(TSIpAddrEle *ele)
-{
- if (ele) {
- ats_free(ele->ip_a);
- ats_free(ele->ip_b);
- ats_free(ele);
- }
-
- return;
-}
-
-tsapi TSPortEle *
-TSPortEleCreate(void)
-{
- TSPortEle *ele = (TSPortEle *)ats_malloc(sizeof(TSPortEle));
-
- ele->port_a = TS_INVALID_PORT;
- ele->port_b = TS_INVALID_PORT;
-
- return ele;
-}
-
-tsapi void
-TSPortEleDestroy(TSPortEle *ele)
-{
- ats_free(ele);
- return;
-}
-
-tsapi TSDomain *
-TSDomainCreate()
-{
- TSDomain *ele = (TSDomain *)ats_malloc(sizeof(TSDomain));
-
- ele->domain_val = nullptr;
- ele->port = TS_INVALID_PORT;
-
- return ele;
-}
-
-tsapi void
-TSDomainDestroy(TSDomain *ele)
-{
- if (ele) {
- ats_free(ele->domain_val);
- ats_free(ele);
- }
-}
-
-tsapi TSSspec *
-TSSspecCreate(void)
-{
- TSSspec *sec_spec = (TSSspec *)ats_malloc(sizeof(TSSspec));
-
- /* set defaults */
- sec_spec->active = 0;
- (sec_spec->time).hour_a = 0;
- (sec_spec->time).min_a = 0;
- (sec_spec->time).hour_b = 0;
- (sec_spec->time).min_b = 0;
- sec_spec->src_ip = TS_INVALID_IP_ADDR;
- sec_spec->prefix = nullptr;
- sec_spec->suffix = nullptr;
- sec_spec->port = nullptr;
- sec_spec->method = TS_METHOD_UNDEFINED;
- sec_spec->scheme = TS_SCHEME_UNDEFINED;
- return sec_spec;
-}
-
-tsapi void
-TSSspecDestroy(TSSspec *ele)
-{
- if (ele) {
- ats_free(ele->prefix);
- ats_free(ele->suffix);
- if (ele->port) {
- TSPortEleDestroy(ele->port);
- }
- ats_free(ele);
- }
- return;
-}
-
-tsapi TSPdSsFormat *
-TSPdSsFormatCreate(void)
-{
- TSPdSsFormat *ele = (TSPdSsFormat *)ats_malloc(sizeof(TSPdSsFormat));
-
- /* should set default values here */
- ele->pd_type = TS_PD_UNDEFINED;
- ele->pd_val = nullptr;
-
- ele->sec_spec.active = 0;
- (ele->sec_spec.time).hour_a = -1;
- (ele->sec_spec.time).min_a = -1;
- (ele->sec_spec.time).hour_b = -1;
- (ele->sec_spec.time).min_b = -1;
- ele->sec_spec.src_ip = TS_INVALID_IP_ADDR;
- ele->sec_spec.prefix = nullptr;
- ele->sec_spec.suffix = nullptr;
- ele->sec_spec.port = nullptr;
- ele->sec_spec.method = TS_METHOD_UNDEFINED;
- ele->sec_spec.scheme = TS_SCHEME_UNDEFINED;
-
- return ele;
-}
-
-tsapi void
-TSPdSsFormatDestroy(TSPdSsFormat &ele)
-{
- ats_free(ele.pd_val);
- ats_free(ele.sec_spec.src_ip);
- ats_free(ele.sec_spec.prefix);
- ats_free(ele.sec_spec.suffix);
- if (ele.sec_spec.port) {
- TSPortEleDestroy(ele.sec_spec.port);
- }
-}
-
-/*-------------------------------------------------------------
- * CacheObj
- *-------------------------------------------------------------*/
-tsapi TSCacheEle *
-TSCacheEleCreate(TSRuleTypeT type)
-{
- TSCacheEle *ele;
-
- if (type != TS_CACHE_NEVER && type != TS_CACHE_IGNORE_NO_CACHE && type != TS_CACHE_IGNORE_CLIENT_NO_CACHE &&
- type != TS_CACHE_IGNORE_SERVER_NO_CACHE && type != TS_CACHE_PIN_IN_CACHE && type != TS_CACHE_REVALIDATE &&
- type != TS_CACHE_TTL_IN_CACHE && type != TS_CACHE_AUTH_CONTENT && type != TS_TYPE_UNDEFINED) {
- return nullptr; // invalid type
- }
-
- ele = (TSCacheEle *)ats_malloc(sizeof(TSCacheEle));
-
- /* set defaults */
- ele->cfg_ele.type = type;
- ele->cfg_ele.error = TS_ERR_OKAY;
- init_pdss_format(ele->cache_info);
- ele->time_period.d = 0;
- ele->time_period.h = 0;
- ele->time_period.m = 0;
- ele->time_period.s = 0;
-
- return ele;
-}
-
-tsapi void
-TSCacheEleDestroy(TSCacheEle *ele)
-{
- if (ele) {
- TSPdSsFormatDestroy(ele->cache_info);
- ats_free(ele);
- }
- return;
-}
-
-/*-------------------------------------------------------------
- * CongestionObj
- *-------------------------------------------------------------*/
-// FIXME: for now use defaults specified in feature spec; the
-// defaults though are configurable as records, so should use
-// records values instead
-tsapi TSCongestionEle *
-TSCongestionEleCreate()
-{
- TSCongestionEle *ele = (TSCongestionEle *)ats_malloc(sizeof(TSCongestionEle));
-
- /* set defaults */
- ele->cfg_ele.type = TS_CONGESTION;
- ele->cfg_ele.error = TS_ERR_OKAY;
- // init_pdss_format(ele->congestion_info);
- ele->pd_type = TS_PD_UNDEFINED;
- ele->pd_val = nullptr;
- ele->prefix = nullptr;
- ele->port = TS_INVALID_PORT;
- ele->scheme = TS_HTTP_CONGEST_PER_IP;
- ele->max_connection_failures = 5;
- ele->fail_window = 120;
- ele->proxy_retry_interval = 10;
- ele->client_wait_interval = 300;
- ele->wait_interval_alpha = 30;
- ele->live_os_conn_timeout = 60;
- ele->live_os_conn_retries = 2;
- ele->dead_os_conn_timeout = 15;
- ele->dead_os_conn_retries = 1;
- ele->max_connection = -1;
- ele->error_page_uri = ats_strdup("congestion#retryAfter");
-
- return ele;
-}
-
-tsapi void
-TSCongestionEleDestroy(TSCongestionEle *ele)
-{
- if (ele) {
- ats_free(ele->pd_val);
- ats_free(ele->prefix);
- ats_free(ele->error_page_uri);
- ats_free(ele);
- }
- return;
-}
-
-/*-------------------------------------------------------------
- * HostingObj
- *-------------------------------------------------------------*/
-tsapi TSHostingEle *
-TSHostingEleCreate()
-{
- TSHostingEle *ele = (TSHostingEle *)ats_malloc(sizeof(TSHostingEle));
-
- ele->cfg_ele.type = TS_HOSTING;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->pd_type = TS_PD_UNDEFINED;
- ele->pd_val = nullptr;
- ele->volumes = TS_INVALID_LIST;
-
- return ele;
-}
-
-tsapi void
-TSHostingEleDestroy(TSHostingEle *ele)
-{
- if (ele) {
- ats_free(ele->pd_val);
- if (ele->volumes) {
- TSIntListDestroy(ele->volumes);
- }
- ats_free(ele);
- }
- return;
-}
-
-/*-------------------------------------------------------------
- * TSIpAllowEle
- *-------------------------------------------------------------*/
-tsapi TSIpAllowEle *
-TSIpAllowEleCreate()
-{
- TSIpAllowEle *ele = (TSIpAllowEle *)ats_malloc(sizeof(TSIpAllowEle));
-
- ele->cfg_ele.type = TS_IP_ALLOW;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->src_ip_addr = TS_INVALID_IP_ADDR;
- ele->action = TS_IP_ALLOW_UNDEFINED;
-
- return ele;
-}
-
-tsapi void
-TSIpAllowEleDestroy(TSIpAllowEle *ele)
-{
- if (ele) {
- if (ele->src_ip_addr) {
- TSIpAddrEleDestroy(ele->src_ip_addr);
- }
- ats_free(ele);
- }
- return;
-}
-
-/*-------------------------------------------------------------
- * TSParentProxyEleCreate
- *-------------------------------------------------------------*/
-tsapi TSParentProxyEle *
-TSParentProxyEleCreate(TSRuleTypeT type)
-{
- TSParentProxyEle *ele;
-
- if (type != TS_PP_PARENT && type != TS_PP_GO_DIRECT && type != TS_TYPE_UNDEFINED) {
- return nullptr;
- }
-
- ele = (TSParentProxyEle *)ats_malloc(sizeof(TSParentProxyEle));
-
- ele->cfg_ele.type = type;
- ele->cfg_ele.error = TS_ERR_OKAY;
- init_pdss_format(ele->parent_info);
- ele->rr = TS_RR_NONE;
- ele->proxy_list = TS_INVALID_LIST;
- ele->direct = false;
-
- return ele;
-}
-
-tsapi void
-TSParentProxyEleDestroy(TSParentProxyEle *ele)
-{
- if (ele) {
- TSPdSsFormatDestroy(ele->parent_info);
- if (ele->proxy_list) {
- TSDomainListDestroy(ele->proxy_list);
- }
- ats_free(ele);
- }
-
- return;
-}
-
-/*-------------------------------------------------------------
- * TSVolumeEle
- *-------------------------------------------------------------*/
-tsapi TSVolumeEle *
-TSVolumeEleCreate()
-{
- TSVolumeEle *ele = (TSVolumeEle *)ats_malloc(sizeof(TSVolumeEle));
-
- ele->cfg_ele.type = TS_VOLUME;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->volume_num = 0;
- ele->scheme = TS_VOLUME_UNDEFINED;
- ele->volume_size = 0;
- ele->size_format = TS_SIZE_FMT_UNDEFINED;
-
- return ele;
-}
-
-tsapi void
-TSVolumeEleDestroy(TSVolumeEle *ele)
-{
- ats_free(ele);
- return;
-}
-
-/*-------------------------------------------------------------
- * TSPluginEle
- *-------------------------------------------------------------*/
-tsapi TSPluginEle *
-TSPluginEleCreate()
-{
- TSPluginEle *ele = (TSPluginEle *)ats_malloc(sizeof(TSPluginEle));
-
- ele->cfg_ele.type = TS_PLUGIN;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->name = nullptr;
- ele->args = TS_INVALID_LIST;
-
- return ele;
-}
-
-tsapi void
-TSPluginEleDestroy(TSPluginEle *ele)
-{
- if (ele) {
- ats_free(ele->name);
- if (ele->args) {
- TSStringListDestroy(ele->args);
- }
- ats_free(ele);
- }
- return;
-}
-
-/*-------------------------------------------------------------
- * TSRemapEle
- *-------------------------------------------------------------*/
-TSRemapEle *
-TSRemapEleCreate(TSRuleTypeT type)
-{
- TSRemapEle *ele;
-
- if (type != TS_REMAP_MAP && type != TS_REMAP_REVERSE_MAP && type != TS_REMAP_REDIRECT && type != TS_REMAP_REDIRECT_TEMP &&
- type != TS_TYPE_UNDEFINED) {
- return nullptr;
- }
-
- ele = (TSRemapEle *)ats_malloc(sizeof(TSRemapEle));
- ele->cfg_ele.type = type;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->map = true;
- ele->from_scheme = TS_SCHEME_UNDEFINED;
- ele->from_host = nullptr;
- ele->from_port = TS_INVALID_PORT;
- ele->from_path_prefix = nullptr;
- ele->to_scheme = TS_SCHEME_UNDEFINED;
- ele->to_host = nullptr;
- ele->to_port = TS_INVALID_PORT;
- ele->to_path_prefix = nullptr;
-
- return ele;
-}
-
-void
-TSRemapEleDestroy(TSRemapEle *ele)
-{
- if (ele) {
- ats_free(ele->from_host);
- ats_free(ele->from_path_prefix);
- ats_free(ele->to_host);
- ats_free(ele->to_path_prefix);
- ats_free(ele);
- }
-}
-
-/*-------------------------------------------------------------
- * TSSocksEle
- *-------------------------------------------------------------*/
-TSSocksEle *
-TSSocksEleCreate(TSRuleTypeT type)
-{
- TSSocksEle *ele = (TSSocksEle *)ats_malloc(sizeof(TSSocksEle));
-
- ele->cfg_ele.type = type;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->ip_addrs = TS_INVALID_LIST;
- ele->dest_ip_addr = TS_INVALID_IP_ADDR;
- ele->socks_servers = TS_INVALID_LIST;
- ele->rr = TS_RR_NONE;
- ele->username = nullptr;
- ele->password = nullptr;
-
- return ele;
-}
-
-void
-TSSocksEleDestroy(TSSocksEle *ele)
-{
- if (ele) {
- if (ele->ip_addrs) {
- TSIpAddrListDestroy(ele->ip_addrs);
- }
- if (ele->dest_ip_addr) {
- TSIpAddrEleDestroy(ele->dest_ip_addr);
- }
- if (ele->socks_servers) {
- TSDomainListDestroy(ele->socks_servers);
- }
- ats_free(ele->username);
- ats_free(ele->password);
- ats_free(ele);
- }
-}
-
-/*-------------------------------------------------------------
- * TSSplitDnsEle
- *-------------------------------------------------------------*/
-TSSplitDnsEle *
-TSSplitDnsEleCreate()
-{
- TSSplitDnsEle *ele = (TSSplitDnsEle *)ats_malloc(sizeof(TSSplitDnsEle));
-
- ele->cfg_ele.type = TS_SPLIT_DNS;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->pd_type = TS_PD_UNDEFINED;
- ele->pd_val = nullptr;
- ele->dns_servers_addrs = TS_INVALID_LIST;
- ele->def_domain = nullptr;
- ele->search_list = TS_INVALID_LIST;
-
- return ele;
-}
-
-void
-TSSplitDnsEleDestroy(TSSplitDnsEle *ele)
-{
- if (ele) {
- ats_free(ele->pd_val);
- if (ele->dns_servers_addrs) {
- TSDomainListDestroy(ele->dns_servers_addrs);
- }
- ats_free(ele->def_domain);
- if (ele->search_list) {
- TSDomainListDestroy(ele->search_list);
- }
- ats_free(ele);
- }
- return;
-}
-
-/*-------------------------------------------------------------
- * TSStorageEle
- *-------------------------------------------------------------*/
-TSStorageEle *
-TSStorageEleCreate()
-{
- TSStorageEle *ele = (TSStorageEle *)ats_malloc(sizeof(TSStorageEle));
-
- ele->cfg_ele.type = TS_STORAGE;
- ele->cfg_ele.error = TS_ERR_OKAY;
- ele->pathname = nullptr;
- ele->size = -1;
-
- return ele;
-}
-
-void
-TSStorageEleDestroy(TSStorageEle *ele)
-{
- if (ele) {
- ats_free(ele->pathname);
- ats_free(ele);
- }
- return;
-}
-
/***************************************************************************
* API Core
***************************************************************************/
diff --git a/mgmt/api/include/mgmtapi.h b/mgmt/api/include/mgmtapi.h
index 6dbea26..7f1be29 100644
--- a/mgmt/api/include/mgmtapi.h
+++ b/mgmt/api/include/mgmtapi.h
@@ -118,9 +118,6 @@ typedef char *TSIpAddr;
typedef void *TSHandle;
typedef TSHandle TSList;
-typedef TSHandle TSIpAddrList; /* contains TSIpAddrEle *'s */
-typedef TSHandle TSPortList; /* conatins TSPortEle *'s */
-typedef TSHandle TSDomainList; /* contains TSDomain *'s */
typedef TSHandle TSStringList; /* contains char* 's */
typedef TSHandle TSIntList; /* contains int* 's */
@@ -173,95 +170,7 @@ typedef enum {
TS_REC_UNDEFINED,
} TSRecordT;
-typedef enum {
- TS_IP_SINGLE, /* single ip address */
- TS_IP_RANGE, /* range ip address, eg. 1.1.1.1-2.2.2.2 */
- TS_IP_UNDEFINED
-} TSIpAddrT;
-
-typedef enum {
- TS_CON_TCP, /* TCP connection */
- TS_CON_UDP, /* UDP connection */
- TS_CON_UNDEFINED
-} TSConnectT;
-
-typedef enum /* primary destination types */
-{ TS_PD_DOMAIN, /* domain name */
- TS_PD_HOST, /* hostname */
- TS_PD_IP, /* ip address */
- TS_PD_URL_REGEX, /* regular expression in url */
- TS_PD_URL, /* regular expression in url */
- TS_PD_UNDEFINED } TSPrimeDestT;
-
-typedef enum /* header information types */
-{ TS_HDR_DATE,
- TS_HDR_HOST,
- TS_HDR_COOKIE,
- TS_HDR_CLIENT_IP,
- TS_HDR_UNDEFINED } TSHdrT;
-
-/* TODO: This should be removed */
-typedef enum /* access privileges to news articles cached by Traffic Server */
-{ TS_IP_ALLOW_ALLOW,
- TS_IP_ALLOW_DENY,
- TS_IP_ALLOW_UNDEFINED } TSIpAllowT;
-
-typedef enum /* multicast time to live options */
-{ TS_MC_TTL_SINGLE_SUBNET, /* forward multicast datagrams to single subnet */
- TS_MC_TTL_MULT_SUBNET, /* deliver multicast to more than one subnet */
- TS_MC_TTL_UNDEFINED } TSMcTtlT;
-
-typedef enum /* methods of specifying groups of clients */
-{ TS_CLIENT_GRP_IP, /* ip range */
- TS_CLIENT_GRP_DOMAIN, /* domain */
- TS_CLIENT_GRP_HOSTNAME, /* hostname */
- TS_CLIENT_GRP_UNDEFINED } TSClientGroupT;
-
-typedef enum {
- TS_RR_TRUE, /* go through parent cache list in round robin */
- TS_RR_STRICT, /* Traffic Server machines serve requests striclty in turn */
- TS_RR_FALSE, /* no round robin selection */
- TS_RR_NONE, /* no round-robin action tag specified */
- TS_RR_UNDEFINED
-} TSRrT;
-
-typedef enum /* a request URL method; used in Secondary Specifiers */
-{ TS_METHOD_NONE,
- TS_METHOD_GET,
- TS_METHOD_POST,
- TS_METHOD_PUT,
- TS_METHOD_TRACE,
- TS_METHOD_PUSH,
- TS_METHOD_UNDEFINED } TSMethodT;
-
-typedef enum /* possible URL schemes */
-{ TS_SCHEME_NONE,
- TS_SCHEME_HTTP,
- TS_SCHEME_HTTPS,
- TS_SCHEME_UNDEFINED } TSSchemeT;
-
-typedef enum /* possible schemes to divide volume by */
-{ TS_VOLUME_HTTP,
- TS_VOLUME_UNDEFINED } TSVolumeSchemeT;
-
-/* specifies how size is specified */
-typedef enum {
- TS_SIZE_FMT_PERCENT, /* as a percentage */
- TS_SIZE_FMT_ABSOLUTE, /* as an absolute value */
- TS_SIZE_FMT_UNDEFINED,
-} TSSizeFormatT;
-
-typedef enum {
- TS_HTTP_CONGEST_PER_IP,
- TS_HTTP_CONGEST_PER_HOST,
- TS_HTTP_CONGEST_UNDEFINED,
-} TSCongestionSchemeT;
-
-typedef enum {
- TS_PROTOCOL_DNS,
- TS_PROTOCOL_UNDEFINED,
-} TSProtocolT;
-
+/* ToDo: This should be moved over to the core, into the GenericParser.h */
typedef enum {
TS_FNAME_CACHE_OBJ, /* cache.config */
TS_FNAME_CONGESTION, /* congestion.config */
@@ -280,39 +189,6 @@ typedef enum {
TS_FNAME_UNDEFINED
} TSFileNameT;
-/* Each rule type within a file has its own enumeration.
- * Need this enumeration because it's possible there are different Ele's used
- * for rule types within the same file
- */
-typedef enum {
- TS_CACHE_NEVER, /* cache.config */
- TS_CACHE_IGNORE_NO_CACHE,
- TS_CACHE_IGNORE_CLIENT_NO_CACHE,
- TS_CACHE_IGNORE_SERVER_NO_CACHE,
- TS_CACHE_PIN_IN_CACHE,
- TS_CACHE_REVALIDATE,
- TS_CACHE_TTL_IN_CACHE,
- TS_CACHE_AUTH_CONTENT,
- TS_CONGESTION, /* congestion.config */
- TS_HOSTING, /* hosting.config */
- TS_IP_ALLOW, /* ip_allow.config */
- TS_PP_PARENT, /* parent.config */
- TS_PP_GO_DIRECT,
- TS_VOLUME, /* volume.config */
- TS_PLUGIN, /* plugin.config */
- TS_REMAP_MAP, /* remap.config */
- TS_REMAP_REVERSE_MAP,
- TS_REMAP_REDIRECT,
- TS_REMAP_REDIRECT_TEMP,
- TS_SOCKS_BYPASS, /* socks.config */
- TS_SOCKS_AUTH,
- TS_SOCKS_MULTIPLE,
- TS_SPLIT_DNS, /* splitdns.config */
- TS_STORAGE, /* storage.config */
- TS_TYPE_UNDEFINED,
- TS_TYPE_COMMENT /* for internal use only */
-} TSRuleTypeT;
-
/* These are initialization options for the Init() function. */
typedef enum {
TS_MGMT_OPT_DEFAULTS = 0,
@@ -329,17 +205,7 @@ typedef enum {
* Structures
***************************************************************************/
-/*--- general -------------------------------------------------------------*/
-
-typedef struct {
- int d; /* days */
- int h; /* hours */
- int m; /* minutes */
- int s; /* seconds */
-} TSHmsTime;
-
/*--- records -------------------------------------------------------------*/
-
typedef union { /* record value */
TSInt int_val;
TSCounter counter_val;
@@ -404,202 +270,9 @@ typedef struct {
/*unsigned long timestamp; */ /* only applies to active events */
} TSActiveEvent;
-/*--- abstract file operations --------------------------------------------*/
-
-typedef struct {
- TSIpAddrT type; /* single ip or an ip-range */
- TSIpAddr ip_a; /* first ip */
- int cidr_a; /* CIDR value, 0 if not defined */
- int port_a; /* port, 0 if not defined */
- TSIpAddr ip_b; /* second ip (if ip-range) */
- int cidr_b; /* CIDR value, 0 if not defined */
- int port_b; /* port, 0 if not defined */
-} TSIpAddrEle;
-
-typedef struct {
- int port_a; /* first port */
- int port_b; /* second port (0 if not a port range) */
-} TSPortEle;
-
-typedef struct {
- char *domain_val; /* a server name can be specified by name or IP address */
- /* used for www.host.com:8080 or 11.22.33.44:8000 */
- int port; /* (optional) */
-} TSDomain;
-
-/* there are a variety of secondary specifiers that can be used in a rule; more than
- * one secondary specifier can be used per rule, but a secondary specifier can only
- * be used once per rule (eg. time, src_ip, prefix, suffix, port, method, scheme)
- */
-typedef struct {
- uint32_t active; /* valid field: TS_SSPEC_xxx */
- struct { /* time range */
- int hour_a;
- int min_a;
- int hour_b;
- int min_b;
- } time;
- TSIpAddr src_ip; /* client/source ip */
- char *prefix; /* prefix in path part of URL */
- char *suffix; /* suffix in the URL */
- TSPortEle *port; /* requested URL port */
- TSMethodT method; /* get, post, put, trace */
- TSSchemeT scheme; /* HTTP */
-} TSSspec; /* Sspec = Secondary Specifier */
-
-typedef struct {
- TSPrimeDestT pd_type; /* primary destination type: TS_PD_xxx */
- char *pd_val; /* primary destination value; refers to the requested domain name,
- host name, ip address, or regular expression to
- be found in a URL */
- TSSspec sec_spec; /* secondary specifier */
-} TSPdSsFormat; /* PdSs = Primary Destination Secondary Specifier */
-
-/* Generic Ele struct which is used as first member in all other Ele structs.
- * The TSCfgContext operations deal with TSCfgEle* type, so must typecast
- * all Ele's to an TSCfgEle*
- */
-typedef struct {
- TSRuleTypeT type;
- TSMgmtError error;
-} TSCfgEle;
-
-/* cache.config */
-typedef struct {
- TSCfgEle cfg_ele;
- TSPdSsFormat cache_info; /* general PdSs information */
- TSHmsTime time_period; /* only valid if cache_act == TS_CACHE_PIN_IN_CACHE */
-} TSCacheEle;
-
-/* congestion.config */
-typedef struct {
- TSCfgEle cfg_ele;
- TSPrimeDestT pd_type;
- char *pd_val;
- char *prefix; /* optional */
- int port; /* optional */
- TSCongestionSchemeT scheme; /* per_ip or per_host */
- int max_connection_failures;
- int fail_window;
- int proxy_retry_interval;
- int client_wait_interval;
- int wait_interval_alpha;
- int live_os_conn_timeout;
- int live_os_conn_retries;
- int dead_os_conn_timeout;
- int dead_os_conn_retries;
- int max_connection;
- char *error_page_uri;
-} TSCongestionEle;
-
-/* hosting.config */
-typedef struct {
- TSCfgEle cfg_ele;
- TSPrimeDestT pd_type;
- char *pd_val; /* domain or hostname */
- TSIntList volumes; /* must be a list of ints */
-} TSHostingEle;
-
-/* ip_allow.config */
-typedef struct {
- TSCfgEle cfg_ele;
- TSIpAddrEle *src_ip_addr; /* source ip address (single or range) */
- TSIpAllowT action;
-} TSIpAllowEle;
-
-/* parent.config */
-typedef struct {
- TSCfgEle cfg_ele;
- TSPdSsFormat parent_info; /* general PdSs information */
- TSRrT rr; /* possible values are TS_RRT_TRUE (go through proxy
- parent list in round robin),TS_RRT_STRICT (server
- requests striclty in turn), or TS_RRT_FALSE (no
- round robin selection) */
- TSDomainList proxy_list; /* ordered list of parent proxies */
- bool direct; /* indicate if go directly to origin server, default = false and does
- not bypass parent heirarchies */
-} TSParentProxyEle; /* exactly one of rr or parent_proxy_act must be defined */
-
-/* volume.config */
-typedef struct {
- TSCfgEle cfg_ele;
- int volume_num; /* must be in range 1 - 255 */
- TSVolumeSchemeT scheme; /* http */
- int volume_size; /* >= 128 MB, multiple of 128 */
- TSSizeFormatT size_format; /* percentage or absolute */
-} TSVolumeEle;
-
-/* plugin.config */
-typedef struct {
- TSCfgEle cfg_ele;
- char *name; /* name of plugin */
- TSStringList args; /* list of arguments */
-} TSPluginEle;
-
-/* remap.config */
-typedef struct {
- TSCfgEle cfg_ele;
- bool map; /* if true: map, if false: remap */
- TSSchemeT from_scheme; /* http, https, <scheme>://<host>:<port>/<path_prefix> */
- char *from_host; /* from host */
- int from_port; /* from port (can be 0) */
- char *from_path_prefix; /* from path_prefix (can be NULL) */
- TSSchemeT to_scheme;
- char *to_host; /* to host */
- int to_port; /* to port (can be 0) */
- char *to_path_prefix; /* to path_prefix (can be NULL) */
-} TSRemapEle;
-
-/* socks.config */
-/* TSqa10915: supports two rules types - the first rule type specifies the
- IP addresses of origin servers that TS should bypass SOCKS and access
- directly (this is when ip_addrs is used); the second rule
- type specifies which SOCKS servers to use for the addresses specified
- in dest_ip_addr; so this means that either ip_addrs is specified OR
- dest_ip_addr/socks_servers/rr are */
-typedef struct {
- TSCfgEle cfg_ele;
- TSIpAddrList ip_addrs; /* list of ip addresses to bypass SOCKS server (TS_SOCKS_BYPASS) */
- TSIpAddrEle *dest_ip_addr; /* ip address(es) that will use the socks server
- specified in parent_list (TS_SOCKS_MULTIPLE rule) */
- TSDomainList socks_servers; /* ordered list of SOCKS servers (TS_SOCKS_MULTIPLE rule) */
- TSRrT rr; /* possible values are TS_RRT_TRUE (go through proxy
- parent list in round robin),TS_RRT_STRICT (server
- requests striclty in turn), or TS_RRT_FALSE (no
- round robin selection) (TS_SOCKS_MULTIPLE rule) */
- char *username; /* used for TS_SOCKS_AUTH rule */
- char *password; /* used for TS_SOCKS_AUTH rule */
-} TSSocksEle;
-
-/* splitdns.config */
-typedef struct {
- TSCfgEle cfg_ele;
- TSPrimeDestT pd_type; /* TS_PD_DOMAIN, TS_PD_HOST, TS_PD_URL_REGEX only */
- char *pd_val; /* primary destination value */
- TSDomainList dns_servers_addrs; /* list of dns servers */
- char *def_domain; /* (optional) default domain name (can be NULL) */
- TSDomainList search_list; /* (optinal) domain search list (can be INVALID) */
-} TSSplitDnsEle;
-
-/* storage.config */
-typedef struct {
- TSCfgEle cfg_ele;
- char *pathname; /* the name of a disk partition, directory, or file */
- int size; /* size of the named pathname (in bytes); optional if raw disk partitions */
-} TSStorageEle;
-
-/* rmserver.cfg */
-typedef struct {
- TSCfgEle cfg_ele;
- char *Vname;
- char *str_val;
- int int_val;
-} TSRmServerEle;
-
/***************************************************************************
* Function Types
***************************************************************************/
-
typedef void (*TSEventSignalFunc)(char *name, char *msg, int pri, void *data);
typedef void (*TSDisconnectFunc)(void *data);
@@ -630,23 +303,6 @@ tsapi bool TSListIsEmpty(TSList l);
tsapi int TSListLen(TSList l); /* returns -1 if list is invalid */
tsapi bool TSListIsValid(TSList l);
-/*--- TSIpAddrList operations --------------------------------------------*/
-tsapi TSIpAddrList TSIpAddrListCreate();
-tsapi void TSIpAddrListDestroy(TSIpAddrList ip_addrl);
-tsapi TSMgmtError TSIpAddrListEnqueue(TSIpAddrList ip_addrl, TSIpAddrEle *ip_addr);
-tsapi TSIpAddrEle *TSIpAddrListDequeue(TSIpAddrList ip_addrl);
-tsapi int TSIpAddrListLen(TSIpAddrList ip_addrl);
-tsapi bool TSIpAddrListIsEmpty(TSIpAddrList ip_addrl);
-tsapi int TSIpAddrListLen(TSIpAddrList ip_addrl);
-
-/*--- TSPortList operations ----------------------------------------------*/
-tsapi TSPortList TSPortListCreate();
-tsapi void TSPortListDestroy(TSPortList portl);
-tsapi TSMgmtError TSPortListEnqueue(TSPortList portl, TSPortEle *port);
-tsapi TSPortEle *TSPortListDequeue(TSPortList portl);
-tsapi bool TSPortListIsEmpty(TSPortList portl);
-tsapi int TSPortListLen(TSPortList portl);
-
/*--- TSStringList operations --------------------------------------------*/
tsapi TSStringList TSStringListCreate();
tsapi void TSStringListDestroy(TSStringList strl);
@@ -665,71 +321,10 @@ tsapi bool TSIntListIsEmpty(TSIntList intl);
tsapi int TSIntListLen(TSIntList intl);
tsapi bool TSIntListIsValid(TSIntList intl, int min, int max);
-/*--- TSDomainList operations --------------------------------------------*/
-tsapi TSDomainList TSDomainListCreate();
-tsapi void TSDomainListDestroy(TSDomainList domainl);
-tsapi TSMgmtError TSDomainListEnqueue(TSDomainList domainl, TSDomain *domain);
-tsapi TSDomain *TSDomainListDequeue(TSDomainList domainl);
-tsapi bool TSDomainListIsEmpty(TSDomainList domainl);
-tsapi int TSDomainListLen(TSDomainList domainl);
-tsapi bool TSDomainListIsValid(TSDomainList domainl);
-
-/*--- allocate/deallocate operations -------------------------------------*/
-/* NOTE:
- * 1) Default values for TSxxEleCreate functions:
- * - for all lists, default value is TS_INVALID_LIST. NO memory is
- * allocated for an Ele's list type member. The user must
- * explicity call the TSxxListCreate() function to initialize it.
- * - for char*'s and TSIpAddr the default is NULL (or TS_INVALID_IP_ADDR
- * for TSIpAddr's); user must assign allocated memory to initialize any
- * string or TSIpAddr members of an TSxxxEle
- *
- * 2) An Ele corresponds to a rule type in a file; this is why each Ele has an
- * TSRuleType to identify which type of rule it corresponds to.
- * For config files which only have one rule type, we can easily set the
- * rule type of the Ele in the EleCreate function since there's only one possible
- * option. However, note that for those config files with more than one rule
- * type, we cannot set the rule type in the EleCreate function since
- * we don't know which rule type the Ele corresponds to yet. Thus, the user must
- * specify the TSRuleTypeT when he/she creates the Ele.
- */
-
tsapi TSMgmtEvent *TSEventCreate();
tsapi void TSEventDestroy(TSMgmtEvent *event);
tsapi TSRecordEle *TSRecordEleCreate();
tsapi void TSRecordEleDestroy(TSRecordEle *ele);
-tsapi TSIpAddrEle *TSIpAddrEleCreate();
-tsapi void TSIpAddrEleDestroy(TSIpAddrEle *ele);
-tsapi TSPortEle *TSPortEleCreate();
-tsapi void TSPortEleDestroy(TSPortEle *ele);
-tsapi TSDomain *TSDomainCreate();
-tsapi void TSDomainDestroy(TSDomain *ele);
-tsapi TSSspec *TSSspecCreate();
-tsapi void TSSspecDestroy(TSSspec *ele);
-tsapi TSPdSsFormat *TSPdSsFormatCreate();
-tsapi void TSPdSsFormatDestroy(TSPdSsFormat &ele);
-tsapi TSCacheEle *TSCacheEleCreate(TSRuleTypeT type);
-tsapi void TSCacheEleDestroy(TSCacheEle *ele);
-tsapi TSCongestionEle *TSCongestionEleCreate();
-tsapi void TSCongestionEleDestroy(TSCongestionEle *ele);
-tsapi TSHostingEle *TSHostingEleCreate();
-tsapi void TSHostingEleDestroy(TSHostingEle *ele);
-tsapi TSIpAllowEle *TSIpAllowEleCreate();
-tsapi void TSIpAllowEleDestroy(TSIpAllowEle *ele);
-tsapi TSParentProxyEle *TSParentProxyEleCreate(TSRuleTypeT type);
-tsapi void TSParentProxyEleDestroy(TSParentProxyEle *ele);
-tsapi TSVolumeEle *TSVolumeEleCreate();
-tsapi void TSVolumeEleDestroy(TSVolumeEle *ele);
-tsapi TSPluginEle *TSPluginEleCreate();
-tsapi void TSPluginEleDestroy(TSPluginEle *ele);
-tsapi TSRemapEle *TSRemapEleCreate(TSRuleTypeT type);
-tsapi void TSRemapEleDestroy(TSRemapEle *ele);
-tsapi TSSocksEle *TSSocksEleCreate(TSRuleTypeT type);
-tsapi void TSSocksEleDestroy(TSSocksEle *ele);
-tsapi TSSplitDnsEle *TSSplitDnsEleCreate();
-tsapi void TSSplitDnsEleDestroy(TSSplitDnsEle *ele);
-tsapi TSStorageEle *TSStorageEleCreate();
-tsapi void TSStorageEleDestroy(TSStorageEle *ele);
/***************************************************************************
* API Core
--
To stop receiving notification emails like this one, please contact
"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>.