⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpl_tree.h

📁 用来作为linux中SIP SERVER,完成VOIP网络电话中服务器的功能
💻 H
字号:
/* * $Id: CPL_tree.h,v 1.12 2004/08/24 08:58:25 janakj Exp $ * * Copyright (C) 2001-2003 FhG Fokus * * This file is part of ser, a free SIP server. * * ser is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version * * For a license to use the ser software under conditions * other than those described here, or to purchase support for this * software, please contact iptel.org by e-mail at the following addresses: *    info@iptel.org * * ser is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */#ifndef _CPL_TREE_DEFINITION_H#define _CPL_TREE_DEFINITION_H#define              CPL_NODE   1#define         INCOMING_NODE   2#define         OUTGOING_NODE   3#define        ANCILLARY_NODE   4#define        SUBACTION_NODE   5#define   ADDRESS_SWITCH_NODE   6#define          ADDRESS_NODE   7#define             BUSY_NODE   8#define          DEFAULT_NODE   9#define          FAILURE_NODE  10#define              LOG_NODE  11#define           LOOKUP_NODE  12#define         LOCATION_NODE  13#define         LANGUAGE_NODE  14#define  LANGUAGE_SWITCH_NODE  15#define             MAIL_NODE  16#define         NOTFOUND_NODE  17#define         NOANSWER_NODE  18#define            PROXY_NODE  19#define         PRIORITY_NODE  20#define  PRIORITY_SWITCH_NODE  21#define           REJECT_NODE  22#define         REDIRECT_NODE  23#define      REDIRECTION_NODE  24#define  REMOVE_LOCATION_NODE  25#define              SUB_NODE  26#define          SUCCESS_NODE  27#define           STRING_NODE  28#define    STRING_SWITCH_NODE  29#define             TIME_NODE  30#define      TIME_SWITCH_NODE  31#define        OTHERWISE_NODE  32#define      NOT_PRESENT_NODE  33/* attributes and values fro ADDRESS-SWITCH node */#define  FIELD_ATTR                  0       /*shared with STRING_SWITCH*/#define  SUBFIELD_ATTR               1#define  ORIGIN_VAL                  0#define  DESTINATION_VAL             1#define  ORIGINAL_DESTINATION_VAL    2#define  ADDRESS_TYPE_VAL            0#define  USER_VAL                    1#define  HOST_VAL                    2#define  PORT_VAL                    3#define  TEL_VAL                     4#define  DISPLAY_VAL                 5/* attributes and values for ADDRESS node */#define  IS_ATTR                     0    /*shared with STRING*/#define  CONTAINS_ATTR               1    /*shared with STRING*/#define  SUBDOMAIN_OF_ATTR           2/* attributes and values for STRING-SWITCH node */#define  SUBJECT_VAL                 0#define  ORGANIZATION_VAL            1#define  USER_AGENT_VAL              2#define  DISPALY_VAL                 3/* attributes and values for LANGUAGE node */#define  MATCHES_TAG_ATTR            0#define  MATCHES_SUBTAG_ATTR         1/* attributes and values for TIME-SWITCH node */#define  TZID_ATTR                   0#define  TZURL_ATTR                  1/* attributes and values for TIME node */#define  DTSTART_ATTR                0#define  DTEND_ATTR                  1#define  DURATION_ATTR               2#define  FREQ_ATTR                   3#define  INTERVAL_ATTR               4#define  UNTIL_ATTR                  5#define  COUNT_ATTR                  6#define  BYSECOND_ATTR               7#define  BYMINUTE_ATTR               8#define  BYHOUR_ATTR                 9#define  BYDAY_ATTR                 10#define  BYMONTHDAY_ATTR            11#define  BYYEARDAY_ATTR             12#define  BYWEEKNO_ATTR              13#define  BYMONTH_ATTR               14#define  WKST_ATTR                  15#define  BYSETPOS_ATTR              16/* attributes and values for PRIORITY node */#define  LESS_ATTR                   0#define  GREATER_ATTR                1#define  EQUAL_ATTR                  2#define  PRIOSTR_ATTR                3#define  EMERGENCY_VAL               0#define  EMERGENCY_STR               "emergency"#define  EMERGENCY_STR_LEN           (sizeof(EMERGENCY_STR)-1)#define  URGENT_VAL                  1#define  URGENT_STR                  "urgent"#define  URGENT_STR_LEN              (sizeof(URGENT_STR)-1)#define  NORMAL_VAL                  2#define  NORMAL_STR                  "normal"#define  NORMAL_STR_LEN              (sizeof(NORMAL_STR)-1)#define  NON_URGENT_VAL              3#define  NON_URGENT_STR              "non-urgent"#define  NON_URGENT_STR_LEN          (sizeof(NON_URGENT_STR)-1)#define  UNKNOWN_PRIO_VAL            4/* attributes and values for LOCATION node */#define  URL_ATTR                    0#define  PRIORITY_ATTR               1#define  CLEAR_ATTR                  2    /*shared with LOOKUP node*/#define  NO_VAL                      0    /*shared with LOOKUP node*/#define  YES_VAL                     1    /*shared with LOOKUP node*//* attributes and values for LOOKUP node */#define  SOURCE_ATTR                 0#define  TIMEOUT_ATTR                1    /*shared with PROXY node*/#define  SOURCE_REG_STR              "registration"#define  SOURCE_REG_STR_LEN          (sizeof("registration")-1)/* attributes and values for REMOVE_LOCATION node */#define  LOCATION_ATTR               0#define  PARAM_ATTR                  1#define  VALUE_ATTR                  2/* attributes and values for PROXY node */#define  RECURSE_ATTR                2#define  ORDERING_ATTR               3#define  PARALLEL_VAL                0#define  SEQUENTIAL_VAL              1#define  FIRSTONLY_VAL               2/* attributes and values for REDIRECT node */#define  PERMANENT_ATTR              0/* attributes and values for REJECT node */#define  STATUS_ATTR                 0#define  REASON_ATTR                 1#define  BUSY_VAL                    486#define  BUSY_STR                    "busy"#define  BUSY_STR_LEN                (sizeof(BUSY_STR)-1)#define  NOTFOUND_VAL                404#define  NOTFOUND_STR                "notfound"#define  NOTFOUND_STR_LEN            (sizeof(NOTFOUND_STR)-1)#define  REJECT_VAL                  603#define  REJECT_STR                  "reject"#define  REJECT_STR_LEN              (sizeof(REJECT_STR)-1)#define  ERROR_VAL                   500#define  ERROR_STR                   "error"#define  ERROR_STR_LEN               (sizeof(ERROR_STR)-1)/* attributes and values for LOG node */#define  NAME_ATTR                   0#define  MAX_NAME_SIZE               32#define  COMMENT_ATTR                1#define  MAX_COMMENT_SIZE            128/* attributes and values for EMAIL node */#define  TO_ATTR                     0#define  SUBJECT_ATTR                1#define  SUBJECT_EMAILHDR_STR        "subject"#define  SUBJECT_EMAILHDR_LEN        (sizeof(SUBJECT_EMAILHDR_STR)-1)#define  BODY_ATTR                   2#define  BODY_EMAILHDR_STR           "body"#define  BODY_EMAILHDR_LEN           (sizeof(BODY_EMAILHDR_STR)-1)#define  URL_MAILTO_STR              "mailto:"#define  URL_MAILTO_LEN              (sizeof(URL_MAILTO_STR)-1)/* attributes and values for SUB node */#define  REF_ATTR                    0/* node = | type(1) | nr_kids(1) | nr_attrs(1) | unused(1) | *        | x*kids_offset(2) | y*attrs(2*n) | */#define      NODE_TYPE(_p)            ( *((unsigned char*)(_p)) )#define      NR_OF_KIDS(_p)           ( *((unsigned char* )((_p)+1)) )#define      NR_OF_ATTR(_p)           ( *((unsigned char* )((_p)+1+1)) )#define      KID_OFFSET_PTR(_p,_n)    ( (unsigned short*)((_p)+4+2*(_n)) )#define      ATTR_PTR(_p)             ( (_p)+4+2*NR_OF_KIDS(_p) )#define      SIMPLE_NODE_SIZE(_p)     ( 4+2*NR_OF_KIDS(_p) )#define      GET_NODE_SIZE(_n)        ( 4+2*(_n) )#define      BASIC_ATTR_SIZE          4#define      SET_KID_OFFSET(_p,_n,_o) *KID_OFFSET_PTR(_p,_n)=htons(_o)#define      KID_OFFSET(_p,_n)        ntohs(*KID_OFFSET_PTR(_p,_n))#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -