?? footprint.c
字號:
/* $Id: footprint.c 974 2007-02-19 01:13:53Z bennylp $ */
/*
* Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>
*
* This program 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.
*
* This program 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
*/
/**
* The purpose of this file is to show the typical footprint of
* the application when various PJSIP/PJMEDIA components are used.
*
* This file will not be build as samples, but instead it is build
* by get-footprint.py Python script in pjsip-apps/build directory.
*/
#include <pjsip_ua.h>
#include <pjsip_simple.h>
#include <pjsip.h>
#include <pjmedia.h>
#include <pjmedia-codec.h>
#include <pjlib-util.h>
#include <pjlib.h>
#include <stdlib.h>
/* All flags: */
#if 0
#define HAS_PJLIB
#define HAS_PJLIB_STUN
#define HAS_PJLIB_GETOPT
#define HAS_PJLIB_XML
#define HAS_PJLIB_SCANNER
#define HAS_PJLIB_DNS
#define HAS_PJLIB_RESOLVER
#define HAS_PJSIP_CORE_MSG_ELEM
#define HAS_PJSIP_CORE
#define HAS_PJSIP_CORE_MSG_UTIL
#define HAS_PJSIP_UDP_TRANSPORT
#define HAS_PJSIP_TCP_TRANSPORT
#define HAS_PJSIP_TRANSACTION
#define HAS_PJSIP_UA_LAYER
#define HAS_PJMEDIA_SDP
#define HAS_PJMEDIA_SDP_NEGOTIATOR
#define HAS_PJSIP_AUTH_CLIENT
#define HAS_PJSIP_INV_SESSION
#define HAS_PJSIP_REGC
#define HAS_PJSIP_EVENT_FRAMEWORK
#define HAS_PJSIP_CALL_TRANSFER
#define HAS_PJSIP_PRESENCE
#define HAS_PJSIP_IS_COMPOSING
#define HAS_PJMEDIA
#define HAS_PJMEDIA_SND_DEV
#define HAS_PJMEDIA_EC
#define HAS_PJMEDIA_SND_PORT
#define HAS_PJMEDIA_RESAMPLE
#define HAS_PJMEDIA_SILENCE_DET
#define HAS_PJMEDIA_PLC
#define HAS_PJMEDIA_CONFERENCE
#define HAS_PJMEDIA_MASTER_PORT
#define HAS_PJMEDIA_RTP
#define HAS_PJMEDIA_RTCP
#define HAS_PJMEDIA_JBUF
#define HAS_PJMEDIA_STREAM
#define HAS_PJMEDIA_TONEGEN
#define HAS_PJMEDIA_UDP_TRANSPORT
#define HAS_PJMEDIA_FILE_PLAYER
#define HAS_PJMEDIA_FILE_CAPTURE
#define HAS_PJMEDIA_MEM_PLAYER
#define HAS_PJMEDIA_MEM_CAPTURE
#define HAS_PJMEDIA_G711_CODEC
#define HAS_PJMEDIA_GSM_CODEC
#define HAS_PJMEDIA_SPEEX_CODEC
#define HAS_PJMEDIA_ILBC_CODEC
#endif
int dummy_function()
{
pj_caching_pool cp;
sprintf(NULL, "%d", 0);
rand();
#ifdef HAS_PJLIB
pj_init();
pj_caching_pool_init(&cp, NULL, 0);
pj_array_erase(NULL, 0, 0, 0);
pj_create_unique_string(NULL, NULL);
pj_hash_create(NULL, 0);
pj_hash_get(NULL, NULL, 0, NULL);
pj_hash_set(NULL, NULL, NULL, 0, 0, NULL);
pj_ioqueue_create(NULL, 0, NULL);
pj_ioqueue_register_sock(NULL, NULL, 0, NULL, NULL, NULL);
pj_pool_alloc(NULL, 0);
pj_timer_heap_create(NULL, 0, NULL);
#endif
#ifdef HAS_PJLIB_STUN
pj_stun_get_mapped_addr(&cp.factory, 0, NULL, NULL, 80, NULL, 80, NULL);
#endif
#ifdef HAS_PJLIB_GETOPT
pj_getopt_long(0, NULL, NULL, NULL, NULL);
#endif
#ifdef HAS_PJLIB_XML
pj_xml_parse(NULL, NULL, 100);
pj_xml_print(NULL, NULL, 10, PJ_FALSE);
pj_xml_clone(NULL, NULL);
pj_xml_node_new(NULL, NULL);
pj_xml_attr_new(NULL, NULL, NULL);
pj_xml_add_node(NULL, NULL);
pj_xml_add_attr(NULL, NULL);
pj_xml_find_node(NULL, NULL);
pj_xml_find_next_node(NULL, NULL, NULL);
pj_xml_find_attr(NULL, NULL, NULL);
pj_xml_find(NULL, NULL, NULL, NULL);
#endif
#ifdef HAS_PJLIB_SCANNER
pj_cis_buf_init(NULL);
pj_cis_init(NULL, NULL);
pj_cis_dup(NULL, NULL);
pj_cis_add_alpha(NULL);
pj_cis_add_str(NULL, NULL);
pj_scan_init(NULL, NULL, 0, 0, NULL);
pj_scan_fini(NULL);
pj_scan_peek(NULL, NULL, NULL);
pj_scan_peek_n(NULL, 0, NULL);
pj_scan_peek_until(NULL, NULL, NULL);
pj_scan_get(NULL, NULL, NULL);
pj_scan_get_unescape(NULL, NULL, NULL);
pj_scan_get_quote(NULL, 0, 0, NULL);
pj_scan_get_n(NULL, 0, NULL);
pj_scan_get_char(NULL);
pj_scan_get_until(NULL, NULL, NULL);
pj_scan_strcmp(NULL, NULL, 0);
pj_scan_stricmp(NULL, NULL, 0);
pj_scan_stricmp_alnum(NULL, NULL, 0);
pj_scan_get_newline(NULL);
pj_scan_restore_state(NULL, NULL);
#endif
#ifdef HAS_PJLIB_DNS
pj_dns_make_query(NULL, NULL, 0, 0, NULL);
pj_dns_parse_packet(NULL, NULL, 0, NULL);
pj_dns_packet_dup(NULL, NULL, NULL);
#endif
#ifdef HAS_PJLIB_RESOLVER
pj_dns_resolver_create(NULL, NULL, 0, NULL, NULL, NULL);
pj_dns_resolver_set_ns(NULL, 0, NULL, NULL);
pj_dns_resolver_handle_events(NULL, NULL);
pj_dns_resolver_destroy(NULL, 0);
pj_dns_resolver_start_query(NULL, NULL, 0, 0, NULL, NULL, NULL);
pj_dns_resolver_cancel_query(NULL, 0);
pj_dns_resolver_add_entry(NULL, NULL, 0);
#endif
#ifdef HAS_PJSIP_CORE_MSG_ELEM
/* Parameter container */
pjsip_param_find(NULL, NULL);
pjsip_param_print_on(NULL, NULL, 0, NULL, NULL, 0);
/* SIP URI */
pjsip_sip_uri_create(NULL, 0);
pjsip_name_addr_create(NULL);
/* TEL URI */
pjsip_tel_uri_create(NULL);
/* Message and headers */
pjsip_msg_create(NULL, PJSIP_REQUEST_MSG);
pjsip_msg_print(NULL, NULL, 0);
pjsip_accept_hdr_create(NULL);
pjsip_allow_hdr_create(NULL);
pjsip_cid_hdr_create(NULL);
pjsip_clen_hdr_create(NULL);
pjsip_cseq_hdr_create(NULL);
pjsip_contact_hdr_create(NULL);
pjsip_ctype_hdr_create(NULL);
pjsip_expires_hdr_create(NULL, 0);
pjsip_from_hdr_create(NULL);
pjsip_max_fwd_hdr_create(NULL, 0);
pjsip_min_expires_hdr_create(NULL, 0);
pjsip_rr_hdr_create(NULL);
pjsip_require_hdr_create(NULL);
pjsip_retry_after_hdr_create(NULL, 0);
pjsip_supported_hdr_create(NULL);
pjsip_unsupported_hdr_create(NULL);
pjsip_via_hdr_create(NULL);
pjsip_warning_hdr_create(NULL, 0, NULL, NULL);
pjsip_parse_uri(NULL, NULL, 0, 0);
pjsip_parse_msg(NULL, NULL, 0, NULL);
pjsip_parse_rdata(NULL, 0, NULL);
pjsip_find_msg(NULL, 0, 0, NULL);
#endif
#ifdef HAS_PJSIP_CORE
pjsip_endpt_create(NULL, NULL, NULL);
pjsip_tpmgr_create(NULL, NULL, NULL, NULL, NULL);
pjsip_tpmgr_destroy(NULL);
pjsip_transport_send(NULL, NULL, NULL, 0, NULL, NULL);
#endif
#ifdef HAS_PJSIP_CORE_MSG_UTIL
pjsip_endpt_create_request(NULL, NULL, NULL, NULL, NULL, NULL, NULL,
-1, NULL, NULL);
pjsip_endpt_create_request_from_hdr(NULL, NULL, NULL, NULL, NULL, NULL,
NULL, -1, NULL, NULL);
pjsip_endpt_create_response(NULL, NULL, -1, NULL, NULL);
pjsip_endpt_create_ack(NULL, NULL, NULL, NULL);
pjsip_endpt_create_cancel(NULL, NULL, NULL);
pjsip_get_request_addr(NULL, NULL);
pjsip_endpt_send_request_stateless(NULL, NULL, NULL, NULL);
pjsip_get_response_addr(NULL, NULL, NULL);
pjsip_endpt_send_response(NULL, NULL, NULL, NULL, NULL);
pjsip_endpt_respond_stateless(NULL, NULL, -1, NULL, NULL, NULL);
#endif
#ifdef HAS_PJSIP_UDP_TRANSPORT
pjsip_udp_transport_start(NULL, NULL, NULL, 1, NULL);
#endif
#ifdef HAS_PJSIP_TCP_TRANSPORT
pjsip_tcp_transport_start(NULL, NULL, 1, NULL);
#endif
#ifdef HAS_PJSIP_TRANSACTION
pjsip_tsx_layer_init_module(NULL);
pjsip_tsx_layer_destroy();
pjsip_tsx_create_uac(NULL, NULL, NULL);
pjsip_tsx_create_uas(NULL, NULL, NULL);
pjsip_tsx_recv_msg(NULL, NULL);
pjsip_tsx_send_msg(NULL, NULL);
pjsip_tsx_terminate(NULL, 200);
pjsip_endpt_send_request(NULL, NULL, -1, NULL, NULL);
pjsip_endpt_respond(NULL, NULL, NULL, -1, NULL, NULL, NULL, NULL);
#endif
#ifdef HAS_PJMEDIA_SDP
pjmedia_sdp_parse(NULL, NULL, 1024, NULL);
pjmedia_sdp_print(NULL, NULL, 1024);
pjmedia_sdp_validate(NULL);
pjmedia_sdp_session_clone(NULL, NULL);
pjmedia_sdp_session_cmp(NULL, NULL, 0);
pjmedia_sdp_attr_to_rtpmap(NULL, NULL, NULL);
pjmedia_sdp_attr_get_fmtp(NULL, NULL);
pjmedia_sdp_attr_get_rtcp(NULL, NULL);
pjmedia_sdp_conn_clone(NULL, NULL);
pjmedia_sdp_media_clone(NULL, NULL);
pjmedia_sdp_media_find_attr(NULL, NULL, NULL);
#endif
#ifdef HAS_PJMEDIA_SDP_NEGOTIATOR
pjmedia_sdp_neg_create_w_local_offer(NULL, NULL, NULL);
pjmedia_sdp_neg_create_w_remote_offer(NULL, NULL, NULL, NULL);
pjmedia_sdp_neg_get_state(NULL);
pjmedia_sdp_neg_negotiate(NULL, NULL, PJ_FALSE);
#endif
#ifdef HAS_PJSIP_UA_LAYER
pjsip_ua_init_module(NULL, NULL);
pjsip_ua_destroy();
pjsip_dlg_create_uac(NULL, NULL, NULL, NULL, NULL, NULL);
pjsip_dlg_create_uas(NULL, NULL, NULL, NULL);
pjsip_dlg_terminate(NULL);
pjsip_dlg_set_route_set(NULL, NULL);
pjsip_dlg_create_request(NULL, NULL, -1, NULL);
pjsip_dlg_send_request(NULL, NULL, -1, NULL);
pjsip_dlg_create_response(NULL, NULL, -1, NULL, NULL);
pjsip_dlg_modify_response(NULL, NULL, -1, NULL);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -