├── .gitignore
└── SimpleSipPhone
├── SimpleSipPhone.xcodeproj
├── project.pbxproj
└── project.xcworkspace
│ └── contents.xcworkspacedata
└── SimpleSipPhone
├── AppDelegate.h
├── AppDelegate.m
├── Base.lproj
├── LaunchScreen.xib
└── Main.storyboard
├── DialViewController.h
├── DialViewController.m
├── Images.xcassets
└── AppIcon.appiconset
│ └── Contents.json
├── IncomingCallViewController.h
├── IncomingCallViewController.m
├── Info.plist
├── LoginViewController.h
├── LoginViewController.m
├── PJSIP
├── includes
│ ├── pjlib-util
│ │ ├── pjlib-util.h
│ │ └── pjlib-util
│ │ │ ├── base64.h
│ │ │ ├── cli.h
│ │ │ ├── cli_console.h
│ │ │ ├── cli_imp.h
│ │ │ ├── cli_telnet.h
│ │ │ ├── config.h
│ │ │ ├── crc32.h
│ │ │ ├── dns.h
│ │ │ ├── dns_server.h
│ │ │ ├── errno.h
│ │ │ ├── getopt.h
│ │ │ ├── hmac_md5.h
│ │ │ ├── hmac_sha1.h
│ │ │ ├── http_client.h
│ │ │ ├── json.h
│ │ │ ├── md5.h
│ │ │ ├── pcap.h
│ │ │ ├── resolver.h
│ │ │ ├── scanner.h
│ │ │ ├── scanner_cis_bitwise.h
│ │ │ ├── scanner_cis_uint.h
│ │ │ ├── sha1.h
│ │ │ ├── srv_resolver.h
│ │ │ ├── string.h
│ │ │ ├── stun_simple.h
│ │ │ ├── types.h
│ │ │ └── xml.h
│ ├── pjlib
│ │ ├── pj++
│ │ │ ├── file.hpp
│ │ │ ├── hash.hpp
│ │ │ ├── list.hpp
│ │ │ ├── lock.hpp
│ │ │ ├── os.hpp
│ │ │ ├── pool.hpp
│ │ │ ├── proactor.hpp
│ │ │ ├── scanner.hpp
│ │ │ ├── sock.hpp
│ │ │ ├── string.hpp
│ │ │ ├── timer.hpp
│ │ │ ├── tree.hpp
│ │ │ └── types.hpp
│ │ ├── pj
│ │ │ ├── activesock.h
│ │ │ ├── addr_resolv.h
│ │ │ ├── array.h
│ │ │ ├── assert.h
│ │ │ ├── compat
│ │ │ │ ├── assert.h
│ │ │ │ ├── cc_armcc.h
│ │ │ │ ├── cc_codew.h
│ │ │ │ ├── cc_gcc.h
│ │ │ │ ├── cc_gcce.h
│ │ │ │ ├── cc_msvc.h
│ │ │ │ ├── cc_mwcc.h
│ │ │ │ ├── ctype.h
│ │ │ │ ├── errno.h
│ │ │ │ ├── high_precision.h
│ │ │ │ ├── m_alpha.h
│ │ │ │ ├── m_armv4.h
│ │ │ │ ├── m_auto.h
│ │ │ │ ├── m_auto.h.in
│ │ │ │ ├── m_i386.h
│ │ │ │ ├── m_m68k.h
│ │ │ │ ├── m_powerpc.h
│ │ │ │ ├── m_sparc.h
│ │ │ │ ├── m_x86_64.h
│ │ │ │ ├── malloc.h
│ │ │ │ ├── os_auto.h
│ │ │ │ ├── os_auto.h.in
│ │ │ │ ├── os_darwinos.h
│ │ │ │ ├── os_linux.h
│ │ │ │ ├── os_linux_kernel.h
│ │ │ │ ├── os_palmos.h
│ │ │ │ ├── os_rtems.h
│ │ │ │ ├── os_sunos.h
│ │ │ │ ├── os_symbian.h
│ │ │ │ ├── os_win32.h
│ │ │ │ ├── os_win32_wince.h
│ │ │ │ ├── rand.h
│ │ │ │ ├── setjmp.h
│ │ │ │ ├── size_t.h
│ │ │ │ ├── socket.h
│ │ │ │ ├── stdarg.h
│ │ │ │ ├── stdfileio.h
│ │ │ │ ├── string.h
│ │ │ │ └── time.h
│ │ │ ├── config.h
│ │ │ ├── config_site.h
│ │ │ ├── config_site_sample.h
│ │ │ ├── ctype.h
│ │ │ ├── doxygen.h
│ │ │ ├── errno.h
│ │ │ ├── except.h
│ │ │ ├── fifobuf.h
│ │ │ ├── file_access.h
│ │ │ ├── file_io.h
│ │ │ ├── guid.h
│ │ │ ├── hash.h
│ │ │ ├── ioqueue.h
│ │ │ ├── ip_helper.h
│ │ │ ├── list.h
│ │ │ ├── list_i.h
│ │ │ ├── lock.h
│ │ │ ├── log.h
│ │ │ ├── math.h
│ │ │ ├── os.h
│ │ │ ├── pool.h
│ │ │ ├── pool_alt.h
│ │ │ ├── pool_buf.h
│ │ │ ├── pool_i.h
│ │ │ ├── rand.h
│ │ │ ├── rbtree.h
│ │ │ ├── sock.h
│ │ │ ├── sock_qos.h
│ │ │ ├── sock_select.h
│ │ │ ├── ssl_sock.h
│ │ │ ├── string.h
│ │ │ ├── string_i.h
│ │ │ ├── timer.h
│ │ │ ├── types.h
│ │ │ └── unicode.h
│ │ ├── pjlib++.hpp
│ │ └── pjlib.h
│ ├── pjmedia
│ │ ├── pjmedia-audiodev
│ │ │ ├── audiodev.h
│ │ │ ├── audiodev_imp.h
│ │ │ ├── audiotest.h
│ │ │ ├── config.h
│ │ │ └── errno.h
│ │ ├── pjmedia-codec.h
│ │ ├── pjmedia-codec
│ │ │ ├── amr_helper.h
│ │ │ ├── amr_sdp_match.h
│ │ │ ├── audio_codecs.h
│ │ │ ├── config.h
│ │ │ ├── config_auto.h
│ │ │ ├── config_auto.h.in
│ │ │ ├── ffmpeg_vid_codecs.h
│ │ │ ├── g722.h
│ │ │ ├── g7221.h
│ │ │ ├── g7221_sdp_match.h
│ │ │ ├── gsm.h
│ │ │ ├── h263_packetizer.h
│ │ │ ├── h264_packetizer.h
│ │ │ ├── ilbc.h
│ │ │ ├── ipp_codecs.h
│ │ │ ├── l16.h
│ │ │ ├── opencore_amr.h
│ │ │ ├── openh264.h
│ │ │ ├── passthrough.h
│ │ │ ├── silk.h
│ │ │ ├── speex.h
│ │ │ └── types.h
│ │ ├── pjmedia-videodev
│ │ │ ├── avi_dev.h
│ │ │ ├── config.h
│ │ │ ├── errno.h
│ │ │ ├── opengl_dev.h
│ │ │ ├── videodev.h
│ │ │ └── videodev_imp.h
│ │ ├── pjmedia.h
│ │ ├── pjmedia
│ │ │ ├── alaw_ulaw.h
│ │ │ ├── avi.h
│ │ │ ├── avi_stream.h
│ │ │ ├── bidirectional.h
│ │ │ ├── circbuf.h
│ │ │ ├── clock.h
│ │ │ ├── codec.h
│ │ │ ├── conference.h
│ │ │ ├── config.h
│ │ │ ├── config_auto.h
│ │ │ ├── config_auto.h.in
│ │ │ ├── converter.h
│ │ │ ├── delaybuf.h
│ │ │ ├── doxygen.h
│ │ │ ├── echo.h
│ │ │ ├── echo_port.h
│ │ │ ├── endpoint.h
│ │ │ ├── errno.h
│ │ │ ├── event.h
│ │ │ ├── format.h
│ │ │ ├── frame.h
│ │ │ ├── g711.h
│ │ │ ├── jbuf.h
│ │ │ ├── master_port.h
│ │ │ ├── mem_port.h
│ │ │ ├── null_port.h
│ │ │ ├── plc.h
│ │ │ ├── port.h
│ │ │ ├── resample.h
│ │ │ ├── rtcp.h
│ │ │ ├── rtcp_xr.h
│ │ │ ├── rtp.h
│ │ │ ├── sdp.h
│ │ │ ├── sdp_neg.h
│ │ │ ├── session.h
│ │ │ ├── signatures.h
│ │ │ ├── silencedet.h
│ │ │ ├── sound.h
│ │ │ ├── sound_port.h
│ │ │ ├── splitcomb.h
│ │ │ ├── stereo.h
│ │ │ ├── stream.h
│ │ │ ├── stream_common.h
│ │ │ ├── symbian_sound_aps.h
│ │ │ ├── tonegen.h
│ │ │ ├── transport.h
│ │ │ ├── transport_adapter_sample.h
│ │ │ ├── transport_ice.h
│ │ │ ├── transport_loop.h
│ │ │ ├── transport_srtp.h
│ │ │ ├── transport_udp.h
│ │ │ ├── types.h
│ │ │ ├── vid_codec.h
│ │ │ ├── vid_codec_util.h
│ │ │ ├── vid_port.h
│ │ │ ├── vid_stream.h
│ │ │ ├── vid_tee.h
│ │ │ ├── wav_playlist.h
│ │ │ ├── wav_port.h
│ │ │ ├── wave.h
│ │ │ └── wsola.h
│ │ ├── pjmedia_audiodev.h
│ │ └── pjmedia_videodev.h
│ ├── pjnath
│ │ ├── pjnath.h
│ │ └── pjnath
│ │ │ ├── config.h
│ │ │ ├── errno.h
│ │ │ ├── ice_session.h
│ │ │ ├── ice_strans.h
│ │ │ ├── nat_detect.h
│ │ │ ├── stun_auth.h
│ │ │ ├── stun_config.h
│ │ │ ├── stun_msg.h
│ │ │ ├── stun_session.h
│ │ │ ├── stun_sock.h
│ │ │ ├── stun_transaction.h
│ │ │ ├── turn_session.h
│ │ │ ├── turn_sock.h
│ │ │ └── types.h
│ └── pjsip
│ │ ├── pjsip-simple
│ │ ├── errno.h
│ │ ├── evsub.h
│ │ ├── evsub_msg.h
│ │ ├── iscomposing.h
│ │ ├── mwi.h
│ │ ├── pidf.h
│ │ ├── presence.h
│ │ ├── publish.h
│ │ ├── rpid.h
│ │ ├── types.h
│ │ └── xpidf.h
│ │ ├── pjsip-ua
│ │ ├── sip_100rel.h
│ │ ├── sip_inv.h
│ │ ├── sip_regc.h
│ │ ├── sip_replaces.h
│ │ ├── sip_timer.h
│ │ └── sip_xfer.h
│ │ ├── pjsip.h
│ │ ├── pjsip
│ │ ├── print_util.h
│ │ ├── sip_auth.h
│ │ ├── sip_auth_aka.h
│ │ ├── sip_auth_msg.h
│ │ ├── sip_auth_parser.h
│ │ ├── sip_autoconf.h
│ │ ├── sip_autoconf.h.in
│ │ ├── sip_config.h
│ │ ├── sip_dialog.h
│ │ ├── sip_endpoint.h
│ │ ├── sip_errno.h
│ │ ├── sip_event.h
│ │ ├── sip_module.h
│ │ ├── sip_msg.h
│ │ ├── sip_multipart.h
│ │ ├── sip_parser.h
│ │ ├── sip_private.h
│ │ ├── sip_resolve.h
│ │ ├── sip_tel_uri.h
│ │ ├── sip_transaction.h
│ │ ├── sip_transport.h
│ │ ├── sip_transport_loop.h
│ │ ├── sip_transport_tcp.h
│ │ ├── sip_transport_tls.h
│ │ ├── sip_transport_udp.h
│ │ ├── sip_types.h
│ │ ├── sip_ua_layer.h
│ │ ├── sip_uri.h
│ │ └── sip_util.h
│ │ ├── pjsip_auth.h
│ │ ├── pjsip_simple.h
│ │ ├── pjsip_ua.h
│ │ ├── pjsua-lib
│ │ ├── pjsua.h
│ │ └── pjsua_internal.h
│ │ ├── pjsua.h
│ │ ├── pjsua2.hpp
│ │ └── pjsua2
│ │ ├── account.hpp
│ │ ├── call.hpp
│ │ ├── config.hpp
│ │ ├── doxygen.hpp
│ │ ├── endpoint.hpp
│ │ ├── json.hpp
│ │ ├── media.hpp
│ │ ├── persistent.hpp
│ │ ├── presence.hpp
│ │ ├── siptypes.hpp
│ │ └── types.hpp
└── libs
│ ├── pjlib-util
│ └── libpjlib-util-arm-apple-darwin9.a
│ ├── pjlib
│ └── libpj-arm-apple-darwin9.a
│ ├── pjmedia
│ ├── libpjmedia-arm-apple-darwin9.a
│ ├── libpjmedia-audiodev-arm-apple-darwin9.a
│ ├── libpjmedia-codec-arm-apple-darwin9.a
│ ├── libpjmedia-videodev-arm-apple-darwin9.a
│ └── libpjsdp-arm-apple-darwin9.a
│ ├── pjnath
│ └── libpjnath-arm-apple-darwin9.a
│ ├── pjsip
│ ├── libpjsip-arm-apple-darwin9.a
│ ├── libpjsip-simple-arm-apple-darwin9.a
│ ├── libpjsip-ua-arm-apple-darwin9.a
│ └── libpjsua-arm-apple-darwin9.a
│ └── third_party
│ ├── libcrypto.a
│ ├── libg7221codec-arm-apple-darwin9.a
│ ├── libgsmcodec-arm-apple-darwin9.a
│ ├── libilbccodec-arm-apple-darwin9.a
│ ├── libopencore-amrnb.a
│ ├── libopencore-amrwb.a
│ ├── libresample-arm-apple-darwin9.a
│ ├── libspeex-arm-apple-darwin9.a
│ ├── libsrtp-arm-apple-darwin9.a
│ ├── libssl.a
│ └── libvo-amrwbenc.a
└── main.m
/.gitignore:
--------------------------------------------------------------------------------
1 | # OS X
2 | .DS_Store
3 |
4 | # Xcode
5 | build/
6 | *.pbxuser
7 | !default.pbxuser
8 | *.mode1v3
9 | !default.mode1v3
10 | *.mode2v3
11 | !default.mode2v3
12 | *.perspectivev3
13 | !default.perspectivev3
14 | xcuserdata
15 | *.xccheckout
16 | profile
17 | *.moved-aside
18 | DerivedData
19 | *.hmap
20 | *.ipa
21 |
22 |
23 | # AppCode
24 | .idea/
25 |
26 | xcodebuild_output
27 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // SimpleSipPhone
4 | //
5 | // Created by MK on 15/5/21.
6 | // Copyright (c) 2015年 Makee. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/DialViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // DialViewController.h
3 | // SimpleSipPhone
4 | //
5 | // Created by MK on 15/5/23.
6 | // Copyright (c) 2015年 Makee. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface DialViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/DialViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // DialViewController.m
3 | // SimpleSipPhone
4 | //
5 | // Created by MK on 15/5/23.
6 | // Copyright (c) 2015年 Makee. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "DialViewController.h"
11 |
12 | @interface DialViewController () {
13 | pjsua_call_id _call_id;
14 | }
15 |
16 | @property (weak, nonatomic) IBOutlet UITextField *phoneNumberFiled;
17 | @property (weak, nonatomic) IBOutlet UIButton *actionButton;
18 |
19 | @end
20 |
21 | @implementation DialViewController
22 |
23 | - (void)viewDidLoad {
24 | [super viewDidLoad];
25 |
26 | [[NSNotificationCenter defaultCenter] addObserver:self
27 | selector:@selector(handleCallStatusChanged:)
28 | name:@"SIPCallStatusChangedNotification"
29 | object:nil];
30 | }
31 |
32 | - (void)dealloc {
33 | [[NSNotificationCenter defaultCenter] removeObserver:self];
34 | }
35 |
36 | - (void)handleCallStatusChanged:(NSNotification *)notification {
37 | pjsua_call_id call_id = [notification.userInfo[@"call_id"] intValue];
38 | pjsip_inv_state state = [notification.userInfo[@"state"] intValue];
39 |
40 | if(call_id != _call_id) return;
41 |
42 | if (state == PJSIP_INV_STATE_DISCONNECTED) {
43 | [self.actionButton setTitle:@"呼叫" forState:UIControlStateNormal];
44 | [self.actionButton setEnabled:YES];
45 | } else if(state == PJSIP_INV_STATE_CONNECTING){
46 | NSLog(@"正在连接...");
47 | } else if(state == PJSIP_INV_STATE_CONFIRMED) {
48 | [self.actionButton setTitle:@"挂断" forState:UIControlStateNormal];
49 | [self.actionButton setEnabled:YES];
50 | }
51 | }
52 |
53 | - (IBAction)actionButtonTouched:(UIButton *)sender {
54 | if ([[sender titleForState:UIControlStateNormal] isEqualToString:@"呼叫"]) {
55 | [self __processMakeCall];
56 | } else {
57 | [self __processHangup];
58 | }
59 | [sender setEnabled:NO];
60 | }
61 |
62 | - (void)__processMakeCall {
63 | pjsua_acc_id acct_id = (pjsua_acc_id)[[NSUserDefaults standardUserDefaults] integerForKey:@"login_account_id"];
64 | NSString *server = [[NSUserDefaults standardUserDefaults] stringForKey:@"server_uri"];
65 | NSString *targetUri = [NSString stringWithFormat:@"sip:%@@%@", self.phoneNumberFiled.text , server];
66 |
67 | pj_status_t status;
68 | pj_str_t dest_uri = pj_str((char *)targetUri.UTF8String);
69 |
70 | status = pjsua_call_make_call(acct_id, &dest_uri, 0, NULL, NULL, &_call_id);
71 |
72 | if (status != PJ_SUCCESS) {
73 | char errMessage[PJ_ERR_MSG_SIZE];
74 | pj_strerror(status, errMessage, sizeof(errMessage));
75 | NSLog(@"外拨错误, 错误信息:%d(%s) !", status, errMessage);
76 | }
77 | }
78 |
79 | - (void)__processHangup {
80 | pj_status_t status = pjsua_call_hangup(_call_id, 0, NULL, NULL);
81 |
82 | if (status != PJ_SUCCESS) {
83 | const pj_str_t *statusText = pjsip_get_status_text(status);
84 | NSLog(@"挂断错误, 错误信息:%d(%s) !", status, statusText->ptr);
85 | }
86 | }
87 |
88 |
89 |
90 |
91 |
92 | @end
93 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "size" : "29x29",
6 | "scale" : "2x"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "size" : "29x29",
11 | "scale" : "3x"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "size" : "40x40",
16 | "scale" : "2x"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "size" : "40x40",
21 | "scale" : "3x"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "size" : "60x60",
26 | "scale" : "2x"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "size" : "60x60",
31 | "scale" : "3x"
32 | }
33 | ],
34 | "info" : {
35 | "version" : 1,
36 | "author" : "xcode"
37 | }
38 | }
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/IncomingCallViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // IncomingCallViewController.h
3 | // SimpleSipPhone
4 | //
5 | // Created by MK on 15/5/23.
6 | // Copyright (c) 2015年 Makee. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface IncomingCallViewController : UIViewController
12 |
13 | @property (nonatomic, copy) NSString *phoneNumber;
14 | @property (nonatomic, assign) NSInteger callId;
15 |
16 | @end
17 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/IncomingCallViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // IncomingCallViewController.m
3 | // SimpleSipPhone
4 | //
5 | // Created by MK on 15/5/23.
6 | // Copyright (c) 2015年 Makee. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "IncomingCallViewController.h"
11 |
12 | @interface IncomingCallViewController ()
13 |
14 | @property (weak, nonatomic) IBOutlet UILabel *phoneNumberLabel;
15 |
16 | @end
17 |
18 | @implementation IncomingCallViewController
19 |
20 | - (void)viewDidLoad {
21 | [super viewDidLoad];
22 |
23 | self.phoneNumberLabel.text = self.phoneNumber;
24 |
25 | [[NSNotificationCenter defaultCenter] addObserver:self
26 | selector:@selector(handleCallStatusChanged:)
27 | name:@"SIPCallStatusChangedNotification"
28 | object:nil];
29 | }
30 |
31 | - (void)dealloc {
32 | [[NSNotificationCenter defaultCenter] removeObserver:self];
33 | }
34 |
35 | - (void)handleCallStatusChanged:(NSNotification *)notification {
36 | pjsua_call_id call_id = [notification.userInfo[@"call_id"] intValue];
37 | pjsip_inv_state state = [notification.userInfo[@"state"] intValue];
38 |
39 | if(call_id != self.callId) return;
40 |
41 | if (state == PJSIP_INV_STATE_DISCONNECTED) {
42 | [self dismissViewControllerAnimated:YES completion:nil];
43 | } else if(state == PJSIP_INV_STATE_CONNECTING){
44 | NSLog(@"连接中...");
45 | } else if(state == PJSIP_INV_STATE_CONFIRMED) {
46 | NSLog(@"接听成功!");
47 | }
48 | }
49 |
50 | - (IBAction)answerButtonTouched:(id)sender {
51 | pjsua_call_answer((pjsua_call_id)self.callId, 200, NULL, NULL);
52 | }
53 |
54 | - (IBAction)hangupButtonTouched:(id)sender {
55 | pjsua_call_hangup((pjsua_call_id)self.callId, 0, NULL, NULL);
56 | }
57 |
58 | @end
59 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | com.prinsun.$(PRODUCT_NAME:rfc1034identifier)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIMainStoryboardFile
28 | Main
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/LoginViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // LoginViewController.h
3 | // SimpleSipPhone
4 | //
5 | // Created by MK on 15/5/23.
6 | // Copyright (c) 2015年 Makee. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface LoginViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/LoginViewController.m:
--------------------------------------------------------------------------------
1 | //
2 | // LoginViewController.m
3 | // SimpleSipPhone
4 | //
5 | // Created by MK on 15/5/23.
6 | // Copyright (c) 2015年 Makee. All rights reserved.
7 | //
8 |
9 | #import
10 | #import "LoginViewController.h"
11 |
12 | @interface LoginViewController ()
13 | @property (weak, nonatomic) IBOutlet UITextField *serverField;
14 | @property (weak, nonatomic) IBOutlet UITextField *usernameField;
15 | @property (weak, nonatomic) IBOutlet UITextField *passwordField;
16 |
17 | @end
18 |
19 | @implementation LoginViewController
20 |
21 | - (void)viewDidLoad {
22 | [super viewDidLoad];
23 |
24 | [[NSNotificationCenter defaultCenter] addObserver:self
25 | selector:@selector(__handleRegisterStatus:)
26 | name:@"SIPRegisterStatusNotification"
27 | object:nil];
28 |
29 | }
30 |
31 | - (void)dealloc {
32 | [[NSNotificationCenter defaultCenter] removeObserver:self];
33 | }
34 |
35 | - (void)__handleRegisterStatus:(NSNotification *)notification {
36 | pjsua_acc_id acc_id = [notification.userInfo[@"acc_id"] intValue];
37 | pjsip_status_code status = [notification.userInfo[@"status"] intValue];
38 | NSString *statusText = notification.userInfo[@"status_text"];
39 |
40 | if (status != PJSIP_SC_OK) {
41 | NSLog(@"登录失败, 错误信息: %d(%@)", status, statusText);
42 | return;
43 | }
44 |
45 | [[NSUserDefaults standardUserDefaults] setInteger:acc_id forKey:@"login_account_id"];
46 | [[NSUserDefaults standardUserDefaults] setObject:self.serverField.text forKey:@"server_uri"];
47 | [[NSUserDefaults standardUserDefaults] synchronize];
48 |
49 | [self __switchToDialViewController];
50 | }
51 |
52 | - (void)__switchToDialViewController {
53 | UIViewController *dialViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DialViewController"];
54 |
55 | CATransition *transition = [[CATransition alloc] init];
56 |
57 | transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];
58 | transition.type = kCATransitionFade;
59 | transition.duration = 0.5;
60 | transition.removedOnCompletion = YES;
61 |
62 | UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
63 | [keyWindow.layer addAnimation:transition forKey:@"change_view_controller"];
64 |
65 | keyWindow.rootViewController = dialViewController;
66 | }
67 |
68 | - (IBAction)loginButtonTouched:(id)sender {
69 |
70 | NSString *server = self.serverField.text;
71 | NSString *username = self.usernameField.text;
72 | NSString *password = self.passwordField.text;
73 |
74 | pjsua_acc_id acc_id;
75 | pjsua_acc_config cfg;
76 |
77 | pjsua_acc_config_default(&cfg);
78 | cfg.id = pj_str((char *)[NSString stringWithFormat:@"sip:%@@%@", username, server].UTF8String);
79 | cfg.reg_uri = pj_str((char *)[NSString stringWithFormat:@"sip:%@", server].UTF8String);
80 | cfg.reg_retry_interval = 0;
81 | cfg.cred_count = 1;
82 | cfg.cred_info[0].realm = pj_str("*");
83 | cfg.cred_info[0].username = pj_str((char *)username.UTF8String);
84 | cfg.cred_info[0].data_type = PJSIP_CRED_DATA_PLAIN_PASSWD;
85 | cfg.cred_info[0].data = pj_str((char *)password.UTF8String);
86 |
87 | pj_status_t status = pjsua_acc_add(&cfg, PJ_TRUE, &acc_id);
88 |
89 | if (status != PJ_SUCCESS) {
90 | NSString *errorMessage = [NSString stringWithFormat:@"登录失败, 返回错误号:%d!", status];
91 | NSLog(@"register error: %@", errorMessage);
92 | }
93 | }
94 |
95 |
96 | @end
97 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util.h:
--------------------------------------------------------------------------------
1 | /* $Id: pjlib-util.h 4704 2014-01-16 05:30:46Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_H__
21 | #define __PJLIB_UTIL_H__
22 |
23 | /**
24 | * @file pjlib-util.h
25 | * @brief pjlib-util.h
26 | */
27 |
28 | /* Base */
29 | #include
30 | #include
31 |
32 | /* Getopt */
33 | #include
34 |
35 | /* Crypto */
36 | #include
37 | #include
38 | #include
39 | #include
40 | #include
41 | #include
42 |
43 | /* DNS and resolver */
44 | #include
45 | #include
46 | #include
47 |
48 | /* Simple DNS server */
49 | #include
50 |
51 | /* Text scanner and utilities */
52 | #include
53 | #include
54 |
55 | /* XML */
56 | #include
57 |
58 | /* JSON */
59 | #include
60 |
61 | /* Old STUN */
62 | #include
63 |
64 | /* PCAP */
65 | #include
66 |
67 | /* HTTP */
68 | #include
69 |
70 | /** CLI **/
71 | #include
72 | #include
73 | #include
74 |
75 | #endif /* __PJLIB_UTIL_H__ */
76 |
77 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/base64.h:
--------------------------------------------------------------------------------
1 | /* $Id: base64.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_BASE64_H__
21 | #define __PJLIB_UTIL_BASE64_H__
22 |
23 | /**
24 | * @file base64.h
25 | * @brief Base64 encoding and decoding
26 | */
27 |
28 | #include
29 |
30 | PJ_BEGIN_DECL
31 |
32 | /**
33 | * @defgroup PJLIB_UTIL_BASE64 Base64 Encoding/Decoding
34 | * @ingroup PJLIB_UTIL_ENCRYPTION
35 | * @{
36 | * This module implements base64 encoding and decoding.
37 | */
38 |
39 | /**
40 | * Helper macro to calculate the approximate length required for base256 to
41 | * base64 conversion.
42 | */
43 | #define PJ_BASE256_TO_BASE64_LEN(len) (len * 4 / 3 + 3)
44 |
45 | /**
46 | * Helper macro to calculate the approximage length required for base64 to
47 | * base256 conversion.
48 | */
49 | #define PJ_BASE64_TO_BASE256_LEN(len) (len * 3 / 4)
50 |
51 |
52 | /**
53 | * Encode a buffer into base64 encoding.
54 | *
55 | * @param input The input buffer.
56 | * @param in_len Size of the input buffer.
57 | * @param output Output buffer. Caller must allocate this buffer with
58 | * the appropriate size.
59 | * @param out_len On entry, it specifies the length of the output buffer.
60 | * Upon return, this will be filled with the actual
61 | * length of the output buffer.
62 | *
63 | * @return PJ_SUCCESS on success.
64 | */
65 | PJ_DECL(pj_status_t) pj_base64_encode(const pj_uint8_t *input, int in_len,
66 | char *output, int *out_len);
67 |
68 |
69 | /**
70 | * Decode base64 string.
71 | *
72 | * @param input Input string.
73 | * @param out Buffer to store the output. Caller must allocate
74 | * this buffer with the appropriate size.
75 | * @param out_len On entry, it specifies the length of the output buffer.
76 | * Upon return, this will be filled with the actual
77 | * length of the output.
78 | */
79 | PJ_DECL(pj_status_t) pj_base64_decode(const pj_str_t *input,
80 | pj_uint8_t *out, int *out_len);
81 |
82 |
83 |
84 | /**
85 | * @}
86 | */
87 |
88 | PJ_END_DECL
89 |
90 |
91 | #endif /* __PJLIB_UTIL_BASE64_H__ */
92 |
93 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/crc32.h:
--------------------------------------------------------------------------------
1 | /* $Id: crc32.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_CRC32_H__
21 | #define __PJLIB_UTIL_CRC32_H__
22 |
23 | /**
24 | * @file crc32.h
25 | * @brief CRC32 implementation
26 | */
27 |
28 | #include
29 |
30 | PJ_BEGIN_DECL
31 |
32 | /**
33 | * @defgroup PJLIB_UTIL_CRC32 CRC32 (Cyclic Redundancy Check)
34 | * @ingroup PJLIB_UTIL_ENCRYPTION
35 | * @{
36 | * This implements CRC32 algorithm. See ITU-T V.42 for the formal
37 | * specification.
38 | */
39 |
40 | /** CRC32 context. */
41 | typedef struct pj_crc32_context
42 | {
43 | pj_uint32_t crc_state; /**< Current state. */
44 | } pj_crc32_context;
45 |
46 |
47 | /**
48 | * Initialize CRC32 context.
49 | *
50 | * @param ctx CRC32 context.
51 | */
52 | PJ_DECL(void) pj_crc32_init(pj_crc32_context *ctx);
53 |
54 | /**
55 | * Feed data incrementally to the CRC32 algorithm.
56 | *
57 | * @param ctx CRC32 context.
58 | * @param data Input data.
59 | * @param nbytes Length of the input data.
60 | *
61 | * @return The current CRC32 value.
62 | */
63 | PJ_DECL(pj_uint32_t) pj_crc32_update(pj_crc32_context *ctx,
64 | const pj_uint8_t *data,
65 | pj_size_t nbytes);
66 |
67 | /**
68 | * Finalize CRC32 calculation and retrieve the CRC32 value.
69 | *
70 | * @param ctx CRC32 context.
71 | *
72 | * @return The current CRC value.
73 | */
74 | PJ_DECL(pj_uint32_t) pj_crc32_final(pj_crc32_context *ctx);
75 |
76 | /**
77 | * Perform one-off CRC32 calculation to the specified data.
78 | *
79 | * @param data Input data.
80 | * @param nbytes Length of input data.
81 | *
82 | * @return CRC value of the data.
83 | */
84 | PJ_DECL(pj_uint32_t) pj_crc32_calc(const pj_uint8_t *data,
85 | pj_size_t nbytes);
86 |
87 |
88 | /**
89 | * @}
90 | */
91 |
92 | PJ_END_DECL
93 |
94 |
95 | #endif /* __PJLIB_UTIL_CRC32_H__ */
96 |
97 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/hmac_md5.h:
--------------------------------------------------------------------------------
1 | /* $Id: hmac_md5.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_HMAC_MD5_H__
21 | #define __PJLIB_UTIL_HMAC_MD5_H__
22 |
23 | /**
24 | * @file hmac_md5.h
25 | * @brief HMAC MD5 Message Authentication
26 | */
27 |
28 | /**
29 | * @defgroup PJLIB_UTIL_ENCRYPTION Encryption Algorithms
30 | */
31 |
32 | #include
33 | #include
34 |
35 | PJ_BEGIN_DECL
36 |
37 | /**
38 | * @defgroup PJLIB_UTIL_HMAC_MD5 HMAC MD5 Message Authentication
39 | * @ingroup PJLIB_UTIL_ENCRYPTION
40 | * @{
41 | *
42 | * This module contains the implementation of HMAC: Keyed-Hashing
43 | * for Message Authentication, as described in RFC 2104
44 | */
45 |
46 | /**
47 | * The HMAC-MD5 context used in the incremental HMAC calculation.
48 | */
49 | typedef struct pj_hmac_md5_context
50 | {
51 | pj_md5_context context; /**< MD5 context */
52 | pj_uint8_t k_opad[64]; /**< opad xor-ed with key */
53 | } pj_hmac_md5_context;
54 |
55 |
56 | /**
57 | * Calculate HMAC MD5 digest for the specified input and key.
58 | *
59 | * @param input Pointer to the input stream.
60 | * @param input_len Length of input stream in bytes.
61 | * @param key Pointer to the authentication key.
62 | * @param key_len Length of the authentication key.
63 | * @param digest Buffer to be filled with HMAC MD5 digest.
64 | */
65 | PJ_DECL(void) pj_hmac_md5(const pj_uint8_t *input, unsigned input_len,
66 | const pj_uint8_t *key, unsigned key_len,
67 | pj_uint8_t digest[16]);
68 |
69 |
70 | /**
71 | * Initiate HMAC-MD5 context for incremental hashing.
72 | *
73 | * @param hctx HMAC-MD5 context.
74 | * @param key Pointer to the authentication key.
75 | * @param key_len Length of the authentication key.
76 | */
77 | PJ_DECL(void) pj_hmac_md5_init(pj_hmac_md5_context *hctx,
78 | const pj_uint8_t *key, unsigned key_len);
79 |
80 | /**
81 | * Append string to the message.
82 | *
83 | * @param hctx HMAC-MD5 context.
84 | * @param input Pointer to the input stream.
85 | * @param input_len Length of input stream in bytes.
86 | */
87 | PJ_DECL(void) pj_hmac_md5_update(pj_hmac_md5_context *hctx,
88 | const pj_uint8_t *input,
89 | unsigned input_len);
90 |
91 | /**
92 | * Finish the message and return the digest.
93 | *
94 | * @param hctx HMAC-MD5 context.
95 | * @param digest Buffer to be filled with HMAC MD5 digest.
96 | */
97 | PJ_DECL(void) pj_hmac_md5_final(pj_hmac_md5_context *hctx,
98 | pj_uint8_t digest[16]);
99 |
100 | /**
101 | * @}
102 | */
103 |
104 | PJ_END_DECL
105 |
106 |
107 | #endif /* __PJLIB_UTIL_HMAC_MD5_H__ */
108 |
109 |
110 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/hmac_sha1.h:
--------------------------------------------------------------------------------
1 | /* $Id: hmac_sha1.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_HMAC_SHA1_H__
21 | #define __PJLIB_UTIL_HMAC_SHA1_H__
22 |
23 | /**
24 | * @file hmac_sha1.h
25 | * @brief HMAC SHA1 Message Authentication
26 | */
27 |
28 | #include
29 | #include
30 |
31 | PJ_BEGIN_DECL
32 |
33 | /**
34 | * @defgroup PJLIB_UTIL_HMAC_SHA1 HMAC SHA1 Message Authentication
35 | * @ingroup PJLIB_UTIL_ENCRYPTION
36 | * @{
37 | *
38 | * This module contains the implementation of HMAC: Keyed-Hashing
39 | * for Message Authentication, as described in RFC 2104.
40 | */
41 |
42 | /**
43 | * The HMAC-SHA1 context used in the incremental HMAC calculation.
44 | */
45 | typedef struct pj_hmac_sha1_context
46 | {
47 | pj_sha1_context context; /**< SHA1 context */
48 | pj_uint8_t k_opad[64]; /**< opad xor-ed with key */
49 | } pj_hmac_sha1_context;
50 |
51 |
52 | /**
53 | * Calculate HMAC-SHA1 digest for the specified input and key with this
54 | * single function call.
55 | *
56 | * @param input Pointer to the input stream.
57 | * @param input_len Length of input stream in bytes.
58 | * @param key Pointer to the authentication key.
59 | * @param key_len Length of the authentication key.
60 | * @param digest Buffer to be filled with HMAC SHA1 digest.
61 | */
62 | PJ_DECL(void) pj_hmac_sha1(const pj_uint8_t *input, unsigned input_len,
63 | const pj_uint8_t *key, unsigned key_len,
64 | pj_uint8_t digest[20]);
65 |
66 |
67 | /**
68 | * Initiate HMAC-SHA1 context for incremental hashing.
69 | *
70 | * @param hctx HMAC-SHA1 context.
71 | * @param key Pointer to the authentication key.
72 | * @param key_len Length of the authentication key.
73 | */
74 | PJ_DECL(void) pj_hmac_sha1_init(pj_hmac_sha1_context *hctx,
75 | const pj_uint8_t *key, unsigned key_len);
76 |
77 | /**
78 | * Append string to the message.
79 | *
80 | * @param hctx HMAC-SHA1 context.
81 | * @param input Pointer to the input stream.
82 | * @param input_len Length of input stream in bytes.
83 | */
84 | PJ_DECL(void) pj_hmac_sha1_update(pj_hmac_sha1_context *hctx,
85 | const pj_uint8_t *input,
86 | unsigned input_len);
87 |
88 | /**
89 | * Finish the message and return the digest.
90 | *
91 | * @param hctx HMAC-SHA1 context.
92 | * @param digest Buffer to be filled with HMAC SHA1 digest.
93 | */
94 | PJ_DECL(void) pj_hmac_sha1_final(pj_hmac_sha1_context *hctx,
95 | pj_uint8_t digest[20]);
96 |
97 |
98 | /**
99 | * @}
100 | */
101 |
102 | PJ_END_DECL
103 |
104 |
105 | #endif /* __PJLIB_UTIL_HMAC_SHA1_H__ */
106 |
107 |
108 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/md5.h:
--------------------------------------------------------------------------------
1 | /* $Id: md5.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_MD5_H__
21 | #define __PJLIB_UTIL_MD5_H__
22 |
23 | /**
24 | * @file md5.h
25 | * @brief MD5 Functions
26 | */
27 |
28 | #include
29 |
30 | PJ_BEGIN_DECL
31 |
32 | /**
33 | * @defgroup PJLIB_UTIL_MD5 MD5
34 | * @ingroup PJLIB_UTIL_ENCRYPTION
35 | * @{
36 | */
37 |
38 |
39 | /** MD5 context. */
40 | typedef struct pj_md5_context
41 | {
42 | pj_uint32_t buf[4]; /**< buf */
43 | pj_uint32_t bits[2]; /**< bits */
44 | pj_uint8_t in[64]; /**< in */
45 | } pj_md5_context;
46 |
47 | /** Initialize the algorithm.
48 | * @param pms MD5 context.
49 | */
50 | PJ_DECL(void) pj_md5_init(pj_md5_context *pms);
51 |
52 | /** Append a string to the message.
53 | * @param pms MD5 context.
54 | * @param data Data.
55 | * @param nbytes Length of data.
56 | */
57 | PJ_DECL(void) pj_md5_update( pj_md5_context *pms,
58 | const pj_uint8_t *data, unsigned nbytes);
59 |
60 | /** Finish the message and return the digest.
61 | * @param pms MD5 context.
62 | * @param digest 16 byte digest.
63 | */
64 | PJ_DECL(void) pj_md5_final(pj_md5_context *pms, pj_uint8_t digest[16]);
65 |
66 |
67 | /**
68 | * @}
69 | */
70 |
71 | PJ_END_DECL
72 |
73 |
74 | #endif /* __PJLIB_UTIL_MD5_H__ */
75 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/scanner_cis_bitwise.h:
--------------------------------------------------------------------------------
1 | /* $Id: scanner_cis_bitwise.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_SCANNER_CIS_BIT_H__
21 | #define __PJLIB_UTIL_SCANNER_CIS_BIT_H__
22 |
23 | #include
24 |
25 | PJ_BEGIN_DECL
26 |
27 | /**
28 | * This describes the type of individual character specification in
29 | * #pj_cis_buf_t. Basicly the number of bits here
30 | */
31 | #ifndef PJ_CIS_ELEM_TYPE
32 | # define PJ_CIS_ELEM_TYPE pj_uint32_t
33 | #endif
34 |
35 | /**
36 | * This describes the type of individual character specification in
37 | * #pj_cis_buf_t.
38 | */
39 | typedef PJ_CIS_ELEM_TYPE pj_cis_elem_t;
40 |
41 | /**
42 | * Maximum number of input specification in a buffer.
43 | * Effectively this means the number of bits in pj_cis_elem_t.
44 | */
45 | #define PJ_CIS_MAX_INDEX (sizeof(pj_cis_elem_t) << 3)
46 |
47 | /**
48 | * The scanner input specification buffer.
49 | */
50 | typedef struct pj_cis_buf_t
51 | {
52 | pj_cis_elem_t cis_buf[256]; /**< Must be 256 (not 128)! */
53 | pj_cis_elem_t use_mask; /**< To keep used indexes. */
54 | } pj_cis_buf_t;
55 |
56 | /**
57 | * Character input specification.
58 | */
59 | typedef struct pj_cis_t
60 | {
61 | pj_cis_elem_t *cis_buf; /**< Pointer to buffer. */
62 | int cis_id; /**< Id. */
63 | } pj_cis_t;
64 |
65 |
66 | /**
67 | * Set the membership of the specified character.
68 | * Note that this is a macro, and arguments may be evaluated more than once.
69 | *
70 | * @param cis Pointer to character input specification.
71 | * @param c The character.
72 | */
73 | #define PJ_CIS_SET(cis,c) ((cis)->cis_buf[(int)(c)] |= (1 << (cis)->cis_id))
74 |
75 | /**
76 | * Remove the membership of the specified character.
77 | * Note that this is a macro, and arguments may be evaluated more than once.
78 | *
79 | * @param cis Pointer to character input specification.
80 | * @param c The character to be removed from the membership.
81 | */
82 | #define PJ_CIS_CLR(cis,c) ((cis)->cis_buf[(int)c] &= ~(1 << (cis)->cis_id))
83 |
84 | /**
85 | * Check the membership of the specified character.
86 | * Note that this is a macro, and arguments may be evaluated more than once.
87 | *
88 | * @param cis Pointer to character input specification.
89 | * @param c The character.
90 | */
91 | #define PJ_CIS_ISSET(cis,c) ((cis)->cis_buf[(int)c] & (1 << (cis)->cis_id))
92 |
93 |
94 |
95 | PJ_END_DECL
96 |
97 | #endif /* __PJLIB_UTIL_SCANNER_CIS_BIT_H__ */
98 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/scanner_cis_uint.h:
--------------------------------------------------------------------------------
1 | /* $Id: scanner_cis_uint.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_SCANNER_CIS_BIT_H__
21 | #define __PJLIB_UTIL_SCANNER_CIS_BIT_H__
22 |
23 | #include
24 |
25 | PJ_BEGIN_DECL
26 |
27 | /**
28 | * This describes the type of individual character specification in
29 | * #pj_cis_buf_t. Basicly the number of bits here
30 | */
31 | #ifndef PJ_CIS_ELEM_TYPE
32 | # define PJ_CIS_ELEM_TYPE int
33 | #endif
34 |
35 | /**
36 | * This describes the type of individual character specification in
37 | * #pj_cis_buf_t.
38 | */
39 | typedef PJ_CIS_ELEM_TYPE pj_cis_elem_t;
40 |
41 | /** pj_cis_buf_t is not used when uint back-end is used. */
42 | typedef int pj_cis_buf_t;
43 |
44 | /**
45 | * Character input specification.
46 | */
47 | typedef struct pj_cis_t
48 | {
49 | PJ_CIS_ELEM_TYPE cis_buf[256]; /**< Internal buffer. */
50 | } pj_cis_t;
51 |
52 |
53 | /**
54 | * Set the membership of the specified character.
55 | * Note that this is a macro, and arguments may be evaluated more than once.
56 | *
57 | * @param cis Pointer to character input specification.
58 | * @param c The character.
59 | */
60 | #define PJ_CIS_SET(cis,c) ((cis)->cis_buf[(int)(c)] = 1)
61 |
62 | /**
63 | * Remove the membership of the specified character.
64 | * Note that this is a macro, and arguments may be evaluated more than once.
65 | *
66 | * @param cis Pointer to character input specification.
67 | * @param c The character to be removed from the membership.
68 | */
69 | #define PJ_CIS_CLR(cis,c) ((cis)->cis_buf[(int)c] = 0)
70 |
71 | /**
72 | * Check the membership of the specified character.
73 | * Note that this is a macro, and arguments may be evaluated more than once.
74 | *
75 | * @param cis Pointer to character input specification.
76 | * @param c The character.
77 | */
78 | #define PJ_CIS_ISSET(cis,c) ((cis)->cis_buf[(int)c])
79 |
80 |
81 |
82 | PJ_END_DECL
83 |
84 | #endif /* __PJLIB_UTIL_SCANNER_CIS_BIT_H__ */
85 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/sha1.h:
--------------------------------------------------------------------------------
1 | /* $Id: sha1.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_SHA1_H__
21 | #define __PJLIB_UTIL_SHA1_H__
22 |
23 | /**
24 | * @file sha1.h
25 | * @brief SHA1 encryption implementation
26 | */
27 |
28 | #include
29 |
30 | PJ_BEGIN_DECL
31 |
32 | /**
33 | * @defgroup PJLIB_UTIL_SHA1 SHA1
34 | * @ingroup PJLIB_UTIL_ENCRYPTION
35 | * @{
36 | */
37 |
38 | /** SHA1 context */
39 | typedef struct pj_sha1_context
40 | {
41 | pj_uint32_t state[5]; /**< State */
42 | pj_uint32_t count[2]; /**< Count */
43 | pj_uint8_t buffer[64]; /**< Buffer */
44 | } pj_sha1_context;
45 |
46 | /** SHA1 digest size is 20 bytes */
47 | #define PJ_SHA1_DIGEST_SIZE 20
48 |
49 |
50 | /** Initialize the algorithm.
51 | * @param ctx SHA1 context.
52 | */
53 | PJ_DECL(void) pj_sha1_init(pj_sha1_context *ctx);
54 |
55 | /** Append a stream to the message.
56 | * @param ctx SHA1 context.
57 | * @param data Data.
58 | * @param nbytes Length of data.
59 | */
60 | PJ_DECL(void) pj_sha1_update(pj_sha1_context *ctx,
61 | const pj_uint8_t *data,
62 | const pj_size_t nbytes);
63 |
64 | /** Finish the message and return the digest.
65 | * @param ctx SHA1 context.
66 | * @param digest 16 byte digest.
67 | */
68 | PJ_DECL(void) pj_sha1_final(pj_sha1_context *ctx,
69 | pj_uint8_t digest[PJ_SHA1_DIGEST_SIZE]);
70 |
71 |
72 | /**
73 | * @}
74 | */
75 |
76 | PJ_END_DECL
77 |
78 |
79 | #endif /* __PJLIB_UTIL_SHA1_H__ */
80 |
81 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/string.h:
--------------------------------------------------------------------------------
1 | /* $Id: string.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_STRING_H__
21 | #define __PJLIB_UTIL_STRING_H__
22 |
23 | /**
24 | * @file string.h
25 | * @brief More string functions.
26 | */
27 |
28 | #include
29 | #include
30 |
31 | /**
32 | * @defgroup PJLIB_UTIL_STRING String Escaping Utilities
33 | * @ingroup PJLIB_TEXT
34 | * @{
35 | */
36 |
37 | PJ_BEGIN_DECL
38 |
39 | /**
40 | * Unescape string. If source string does not contain any escaped
41 | * characters, the function would simply return the original string.
42 | * Otherwise a new string will be allocated.
43 | *
44 | * @param pool Pool to allocate the string.
45 | * @param src Source string to unescape.
46 | *
47 | * @return String with no escaped characters.
48 | */
49 | PJ_DECL(pj_str_t) pj_str_unescape( pj_pool_t *pool, const pj_str_t *src);
50 |
51 | /**
52 | * Unescape string to destination.
53 | *
54 | * @param dst Target string.
55 | * @param src Source string.
56 | *
57 | * @return Target string.
58 | */
59 | PJ_DECL(pj_str_t*) pj_strcpy_unescape(pj_str_t *dst, const pj_str_t *src);
60 |
61 | /**
62 | * Copy string to destination while escaping reserved characters, up to
63 | * the specified maximum length.
64 | *
65 | * @param dst Target string.
66 | * @param src Source string.
67 | * @param max Maximum length to copy to target string.
68 | * @param unres Unreserved characters, which are allowed to appear
69 | * unescaped.
70 | *
71 | * @return The target string if all characters have been copied
72 | * successfully, or NULL if there's not enough buffer to
73 | * escape the strings.
74 | */
75 | PJ_DECL(pj_str_t*) pj_strncpy_escape(pj_str_t *dst, const pj_str_t *src,
76 | pj_ssize_t max, const pj_cis_t *unres);
77 |
78 |
79 | /**
80 | * Copy string to destination while escaping reserved characters, up to
81 | * the specified maximum length.
82 | *
83 | * @param dst Target string.
84 | * @param src Source string.
85 | * @param max Maximum length to copy to target string.
86 | * @param unres Unreserved characters, which are allowed to appear
87 | * unescaped.
88 | *
89 | * @return The length of the destination, or -1 if there's not
90 | * enough buffer.
91 | */
92 | PJ_DECL(pj_ssize_t) pj_strncpy2_escape(char *dst, const pj_str_t *src,
93 | pj_ssize_t max, const pj_cis_t *unres);
94 |
95 | PJ_END_DECL
96 |
97 |
98 | /**
99 | * @}
100 | */
101 |
102 | #endif /* __PJLIB_UTIL_STRING_H__ */
103 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib-util/pjlib-util/types.h:
--------------------------------------------------------------------------------
1 | /* $Id: types.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIB_UTIL_TYPES_H__
21 | #define __PJLIB_UTIL_TYPES_H__
22 |
23 | /**
24 | * @file types.h
25 | * @brief PJLIB-UTIL types.
26 | */
27 |
28 | #include
29 | #include
30 |
31 | /**
32 | * @defgroup PJLIB_UTIL_BASE Base
33 | * @{
34 | */
35 |
36 | PJ_BEGIN_DECL
37 |
38 | /**
39 | * Initialize PJLIB UTIL (defined in errno.c)
40 | *
41 | * @return PJ_SUCCESS on success.
42 | */
43 | PJ_DECL(pj_status_t) pjlib_util_init(void);
44 |
45 |
46 |
47 | PJ_END_DECL
48 |
49 |
50 | /**
51 | * @}
52 | */
53 |
54 | /**
55 | * @defgroup PJLIB_TEXT Text and String Manipulation
56 | */
57 |
58 | /**
59 | * @defgroup PJ_PROTOCOLS Protocols
60 | */
61 |
62 | /**
63 | * @defgroup PJ_FILE_FMT File Formats
64 | */
65 |
66 | /**
67 | * @mainpage PJLIB-UTIL
68 | *
69 | * \n
70 | * \n
71 | * \n
72 | * This is the documentation of PJLIB-UTIL, an auxiliary library providing
73 | * adjunct functions to PJLIB.
74 | *
75 | * Please go to the Table of Contents page
76 | * for list of modules.
77 | *
78 | *
79 | * \n
80 | * \n
81 | * \n
82 | * \n
83 | * \n
84 | * \n
85 | * \n
86 | * \n
87 | * \n
88 | * \n
89 | * \n
90 | * \n
91 | * \n
92 | */
93 |
94 | #endif /* __PJLIB_UTIL_TYPES_H__ */
95 |
96 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/array.h:
--------------------------------------------------------------------------------
1 | /* $Id: array.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_ARRAY_H__
21 | #define __PJ_ARRAY_H__
22 |
23 | /**
24 | * @file array.h
25 | * @brief PJLIB Array helper.
26 | */
27 | #include
28 |
29 | PJ_BEGIN_DECL
30 |
31 | /**
32 | * @defgroup PJ_ARRAY Array helper.
33 | * @ingroup PJ_DS
34 | * @{
35 | *
36 | * This module provides helper to manipulate array of elements of any size.
37 | * It provides most used array operations such as insert, erase, and search.
38 | */
39 |
40 | /**
41 | * Insert value to the array at the given position, and rearrange the
42 | * remaining nodes after the position.
43 | *
44 | * @param array the array.
45 | * @param elem_size the size of the individual element.
46 | * @param count the CURRENT number of elements in the array.
47 | * @param pos the position where the new element is put.
48 | * @param value the value to copy to the new element.
49 | */
50 | PJ_DECL(void) pj_array_insert( void *array,
51 | unsigned elem_size,
52 | unsigned count,
53 | unsigned pos,
54 | const void *value);
55 |
56 | /**
57 | * Erase a value from the array at given position, and rearrange the remaining
58 | * elements post the erased element.
59 | *
60 | * @param array the array.
61 | * @param elem_size the size of the individual element.
62 | * @param count the current number of elements in the array.
63 | * @param pos the index/position to delete.
64 | */
65 | PJ_DECL(void) pj_array_erase( void *array,
66 | unsigned elem_size,
67 | unsigned count,
68 | unsigned pos);
69 |
70 | /**
71 | * Search the first value in the array according to matching function.
72 | *
73 | * @param array the array.
74 | * @param elem_size the individual size of the element.
75 | * @param count the number of elements.
76 | * @param matching the matching function, which MUST return PJ_SUCCESS if
77 | * the specified element match.
78 | * @param result the pointer to the value found.
79 | *
80 | * @return PJ_SUCCESS if value is found, otherwise the error code.
81 | */
82 | PJ_DECL(pj_status_t) pj_array_find( const void *array,
83 | unsigned elem_size,
84 | unsigned count,
85 | pj_status_t (*matching)(const void *value),
86 | void **result);
87 |
88 | /**
89 | * @}
90 | */
91 |
92 | PJ_END_DECL
93 |
94 |
95 | #endif /* __PJ_ARRAY_H__ */
96 |
97 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/assert.h:
--------------------------------------------------------------------------------
1 | /* $Id: assert.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_ASSERT_H__
21 | #define __PJ_ASSERT_H__
22 |
23 | /**
24 | * @file assert.h
25 | * @brief Assertion macro pj_assert().
26 | */
27 |
28 | #include
29 | #include
30 |
31 | /**
32 | * @defgroup pj_assert Assertion Macro
33 | * @ingroup PJ_MISC
34 | * @{
35 | *
36 | * Assertion and other helper macros for sanity checking.
37 | */
38 |
39 | /**
40 | * @hideinitializer
41 | * Check during debug build that an expression is true. If the expression
42 | * computes to false during run-time, then the program will stop at the
43 | * offending statements.
44 | * For release build, this macro will not do anything.
45 | *
46 | * @param expr The expression to be evaluated.
47 | */
48 | #ifndef pj_assert
49 | # define pj_assert(expr) assert(expr)
50 | #endif
51 |
52 |
53 | /**
54 | * @hideinitializer
55 | * If #PJ_ENABLE_EXTRA_CHECK is declared and the value is non-zero, then
56 | * #PJ_ASSERT_RETURN macro will evaluate the expression in @a expr during
57 | * run-time. If the expression yields false, assertion will be triggered
58 | * and the current function will return with the specified return value.
59 | *
60 | * If #PJ_ENABLE_EXTRA_CHECK is not declared or is zero, then no run-time
61 | * checking will be performed. The macro simply evaluates to pj_assert(expr).
62 | */
63 | #if defined(PJ_ENABLE_EXTRA_CHECK) && PJ_ENABLE_EXTRA_CHECK != 0
64 | # define PJ_ASSERT_RETURN(expr,retval) \
65 | do { \
66 | if (!(expr)) { pj_assert(expr); return retval; } \
67 | } while (0)
68 | #else
69 | # define PJ_ASSERT_RETURN(expr,retval) pj_assert(expr)
70 | #endif
71 |
72 | /**
73 | * @hideinitializer
74 | * If #PJ_ENABLE_EXTRA_CHECK is declared and non-zero, then
75 | * #PJ_ASSERT_ON_FAIL macro will evaluate the expression in @a expr during
76 | * run-time. If the expression yields false, assertion will be triggered
77 | * and @a exec_on_fail will be executed.
78 | *
79 | * If #PJ_ENABLE_EXTRA_CHECK is not declared or is zero, then no run-time
80 | * checking will be performed. The macro simply evaluates to pj_assert(expr).
81 | */
82 | #if defined(PJ_ENABLE_EXTRA_CHECK) && PJ_ENABLE_EXTRA_CHECK != 0
83 | # define PJ_ASSERT_ON_FAIL(expr,exec_on_fail) \
84 | do { \
85 | pj_assert(expr); \
86 | if (!(expr)) exec_on_fail; \
87 | } while (0)
88 | #else
89 | # define PJ_ASSERT_ON_FAIL(expr,exec_on_fail) pj_assert(expr)
90 | #endif
91 |
92 | /** @} */
93 |
94 | #endif /* __PJ_ASSERT_H__ */
95 |
96 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/assert.h:
--------------------------------------------------------------------------------
1 | /* $Id: assert.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_ASSERT_H__
21 | #define __PJ_COMPAT_ASSERT_H__
22 |
23 | /**
24 | * @file assert.h
25 | * @brief Provides assert() macro.
26 | */
27 |
28 | #if defined(PJ_HAS_ASSERT_H) && PJ_HAS_ASSERT_H != 0
29 | # include
30 |
31 | #elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0
32 | # define assert(expr) do { \
33 | if (!(expr)) \
34 | printk("!!ASSERTION FAILED: [%s:%d] \"" #expr "\"\n",\
35 | __FILE__, __LINE__); \
36 | } while (0)
37 |
38 | #else
39 | # warning "assert() is not implemented"
40 | # define assert(expr)
41 | #endif
42 |
43 | #endif /* __PJ_COMPAT_ASSERT_H__ */
44 |
45 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/cc_armcc.h:
--------------------------------------------------------------------------------
1 | /* $Id: cc_armcc.h 4624 2013-10-21 06:37:30Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_CC_ARMCC_H__
21 | #define __PJ_COMPAT_CC_ARMCC_H__
22 |
23 | /**
24 | * @file cc_armcc.h
25 | * @brief Describes ARMCC compiler specifics.
26 | */
27 |
28 | #ifndef __ARMCC__
29 | # error "This file is only for armcc!"
30 | #endif
31 |
32 | #define PJ_CC_NAME "armcc"
33 | #define PJ_CC_VER_1 (__ARMCC_VERSION/100000)
34 | #define PJ_CC_VER_2 ((__ARMCC_VERSION%100000)/10000)
35 | #define PJ_CC_VER_3 (__ARMCC_VERSION%10000)
36 |
37 | #ifdef __cplusplus
38 | # define PJ_INLINE_SPECIFIER inline
39 | #else
40 | # define PJ_INLINE_SPECIFIER static __inline
41 | #endif
42 |
43 | #define PJ_THREAD_FUNC
44 | #define PJ_NORETURN
45 | #define PJ_ATTR_NORETURN __attribute__ ((noreturn))
46 | #define PJ_ATTR_MAY_ALIAS __attribute__ ((__may_alias__))
47 |
48 | #define PJ_HAS_INT64 1
49 |
50 | typedef long long pj_int64_t;
51 | typedef unsigned long long pj_uint64_t;
52 |
53 | #define PJ_INT64_FMT "L"
54 |
55 | #define PJ_UNREACHED(x)
56 |
57 | #endif /* __PJ_COMPAT_CC_ARMCC_H__ */
58 |
59 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/cc_codew.h:
--------------------------------------------------------------------------------
1 | /* $Id: cc_codew.h 4624 2013-10-21 06:37:30Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_CC_CODEW_H__
21 | #define __PJ_COMPAT_CC_CODEW_H__
22 |
23 | /**
24 | * @file cc_codew.h
25 | * @brief Describes MetroWerks Code Warrior compiler specifics.
26 | */
27 |
28 | #ifndef __MWERKS__
29 | # error "This file is only for Code Warrior!"
30 | #endif
31 |
32 | #define PJ_CC_NAME "codewarrior"
33 | #define PJ_CC_VER_1 ((__MWERKS__ & 0xF000) >> 12)
34 | #define PJ_CC_VER_2 ((__MWERKS__ & 0x0F00) >> 8)
35 | #define PJ_CC_VER_3 ((__MWERKS__ & 0xFF))
36 |
37 |
38 | #define PJ_INLINE_SPECIFIER static inline
39 | #define PJ_THREAD_FUNC
40 | #define PJ_NORETURN
41 | #define PJ_ATTR_NORETURN
42 | #define PJ_ATTR_MAY_ALIAS
43 |
44 | #define PJ_HAS_INT64 1
45 |
46 | typedef long long pj_int64_t;
47 | typedef unsigned long long pj_uint64_t;
48 |
49 | #define PJ_INT64(val) val##LL
50 | #define PJ_UINT64(val) val##LLU
51 | #define PJ_INT64_FMT "L"
52 |
53 | #define PJ_UNREACHED(x)
54 |
55 | #endif /* __PJ_COMPAT_CC_CODEW_H__ */
56 |
57 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/cc_gcc.h:
--------------------------------------------------------------------------------
1 | /* $Id: cc_gcc.h 4704 2014-01-16 05:30:46Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_CC_GCC_H__
21 | #define __PJ_COMPAT_CC_GCC_H__
22 |
23 | /**
24 | * @file cc_gcc.h
25 | * @brief Describes GCC compiler specifics.
26 | */
27 |
28 | #ifndef __GNUC__
29 | # error "This file is only for gcc!"
30 | #endif
31 |
32 | #define PJ_CC_NAME "gcc"
33 | #define PJ_CC_VER_1 __GNUC__
34 | #define PJ_CC_VER_2 __GNUC_MINOR__
35 |
36 | /* __GNUC_PATCHLEVEL__ doesn't exist in gcc-2.9x.x */
37 | #ifdef __GNUC_PATCHLEVEL__
38 | # define PJ_CC_VER_3 __GNUC_PATCHLEVEL__
39 | #else
40 | # define PJ_CC_VER_3 0
41 | #endif
42 |
43 |
44 |
45 | #define PJ_THREAD_FUNC
46 | #define PJ_NORETURN
47 |
48 | #define PJ_HAS_INT64 1
49 |
50 | #ifdef __STRICT_ANSI__
51 | #include
52 | typedef int64_t pj_int64_t;
53 | typedef uint64_t pj_uint64_t;
54 | #define PJ_INLINE_SPECIFIER static __inline
55 | #define PJ_ATTR_NORETURN
56 | #define PJ_ATTR_MAY_ALIAS
57 | #else
58 | typedef long long pj_int64_t;
59 | typedef unsigned long long pj_uint64_t;
60 | #define PJ_INLINE_SPECIFIER static inline
61 | #define PJ_ATTR_NORETURN __attribute__ ((noreturn))
62 | #define PJ_ATTR_MAY_ALIAS __attribute__((__may_alias__))
63 | #endif
64 |
65 | #define PJ_INT64(val) val##LL
66 | #define PJ_UINT64(val) val##ULL
67 | #define PJ_INT64_FMT "L"
68 |
69 |
70 | #ifdef __GLIBC__
71 | # define PJ_HAS_BZERO 1
72 | #endif
73 |
74 | #define PJ_UNREACHED(x)
75 |
76 | #define PJ_ALIGN_DATA(declaration, alignment) declaration __attribute__((aligned (alignment)))
77 |
78 |
79 | #endif /* __PJ_COMPAT_CC_GCC_H__ */
80 |
81 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/cc_gcce.h:
--------------------------------------------------------------------------------
1 | /* $Id: cc_gcce.h 4624 2013-10-21 06:37:30Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_CC_GCCE_H__
21 | #define __PJ_COMPAT_CC_GCCE_H__
22 |
23 | /**
24 | * @file cc_gcce.h
25 | * @brief Describes GCCE compiler specifics.
26 | */
27 |
28 | #ifndef __GCCE__
29 | # error "This file is only for gcce!"
30 | #endif
31 |
32 | #define PJ_CC_NAME "gcce"
33 | #define PJ_CC_VER_1 __GCCE__
34 | #define PJ_CC_VER_2 __GCCE_MINOR__
35 | #define PJ_CC_VER_3 __GCCE_PATCHLEVEL__
36 |
37 |
38 | #define PJ_INLINE_SPECIFIER static inline
39 | #define PJ_THREAD_FUNC
40 | #define PJ_NORETURN
41 | #define PJ_ATTR_NORETURN __attribute__ ((noreturn))
42 | #define PJ_ATTR_MAY_ALIAS __attribute__ ((__may_alias__))
43 |
44 | #define PJ_HAS_INT64 1
45 |
46 | typedef long long pj_int64_t;
47 | typedef unsigned long long pj_uint64_t;
48 |
49 | #define PJ_INT64(val) val##LL
50 | #define PJ_UINT64(val) val##LLU
51 | #define PJ_INT64_FMT "L"
52 |
53 |
54 | #endif /* __PJ_COMPAT_CC_GCCE_H__ */
55 |
56 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/cc_msvc.h:
--------------------------------------------------------------------------------
1 | /* $Id: cc_msvc.h 4624 2013-10-21 06:37:30Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_CC_MSVC_H__
21 | #define __PJ_COMPAT_CC_MSVC_H__
22 |
23 | /**
24 | * @file cc_msvc.h
25 | * @brief Describes Microsoft Visual C compiler specifics.
26 | */
27 |
28 | #ifndef _MSC_VER
29 | # error "This header file is only for Visual C compiler!"
30 | #endif
31 |
32 | #define PJ_CC_NAME "msvc"
33 | #define PJ_CC_VER_1 (_MSC_VER/100)
34 | #define PJ_CC_VER_2 (_MSC_VER%100)
35 | #define PJ_CC_VER_3 0
36 |
37 | /* Disable CRT deprecation warnings. */
38 | #if PJ_CC_VER_1 >= 8 && !defined(_CRT_SECURE_NO_DEPRECATE)
39 | # define _CRT_SECURE_NO_DEPRECATE
40 | #endif
41 | #if PJ_CC_VER_1 >= 8 && !defined(_CRT_SECURE_NO_WARNINGS)
42 | # define _CRT_SECURE_NO_WARNINGS
43 | /* The above doesn't seem to work, at least on VS2005, so lets use
44 | * this construct as well.
45 | */
46 | # pragma warning(disable: 4996)
47 | #endif
48 |
49 | #pragma warning(disable: 4127) // conditional expression is constant
50 | #pragma warning(disable: 4611) // not wise to mix setjmp with C++
51 | #pragma warning(disable: 4514) // unref. inline function has been removed
52 | #ifdef NDEBUG
53 | # pragma warning(disable: 4702) // unreachable code
54 | # pragma warning(disable: 4710) // function is not inlined.
55 | # pragma warning(disable: 4711) // function selected for auto inline expansion
56 | #endif
57 |
58 | #ifdef __cplusplus
59 | # define PJ_INLINE_SPECIFIER inline
60 | #else
61 | # define PJ_INLINE_SPECIFIER static __inline
62 | #endif
63 |
64 | #define PJ_EXPORT_DECL_SPECIFIER __declspec(dllexport)
65 | #define PJ_EXPORT_DEF_SPECIFIER __declspec(dllexport)
66 | #define PJ_IMPORT_DECL_SPECIFIER __declspec(dllimport)
67 |
68 | #define PJ_THREAD_FUNC
69 | #define PJ_NORETURN __declspec(noreturn)
70 | #define PJ_ATTR_NORETURN
71 | #define PJ_ATTR_MAY_ALIAS
72 |
73 | #define PJ_HAS_INT64 1
74 |
75 | typedef __int64 pj_int64_t;
76 | typedef unsigned __int64 pj_uint64_t;
77 |
78 | #define PJ_INT64(val) val##i64
79 | #define PJ_UINT64(val) val##ui64
80 | #define PJ_INT64_FMT "I64"
81 |
82 | #define PJ_UNREACHED(x)
83 |
84 | #define PJ_ALIGN_DATA(declaration, alignment) __declspec(align(alignment)) declaration
85 |
86 |
87 | #endif /* __PJ_COMPAT_CC_MSVC_H__ */
88 |
89 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/cc_mwcc.h:
--------------------------------------------------------------------------------
1 | /* $Id: cc_mwcc.h 4624 2013-10-21 06:37:30Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_CC_MWCC_H__
21 | #define __PJ_COMPAT_CC_MWCC_H__
22 |
23 | /**
24 | * @file cc_mwcc.h
25 | * @brief Describes MWCC compiler specifics.
26 | */
27 |
28 | #ifndef __CW32__
29 | # error "This file is only for mwcc!"
30 | #endif
31 |
32 | #define PJ_CC_NAME "mwcc32sym"
33 | #define PJ_CC_VER_1 1
34 | #define PJ_CC_VER_2 0
35 | #define PJ_CC_VER_3 0
36 |
37 |
38 | #define PJ_INLINE_SPECIFIER static inline
39 | #define PJ_THREAD_FUNC
40 | #define PJ_NORETURN
41 | #define PJ_ATTR_NORETURN __attribute__ ((noreturn))
42 | #define PJ_ATTR_MAY_ALIAS
43 |
44 | #define PJ_HAS_INT64 1
45 |
46 | typedef long long pj_int64_t;
47 | typedef unsigned long long pj_uint64_t;
48 |
49 | #define PJ_INT64(val) val##LL
50 | #define PJ_UINT64(val) val##LLU
51 | #define PJ_INT64_FMT "L"
52 |
53 | #define PJ_UNREACHED(x)
54 |
55 | #endif /* __PJ_COMPAT_CC_MWCC_H__ */
56 |
57 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/ctype.h:
--------------------------------------------------------------------------------
1 | /* $Id: ctype.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_CTYPE_H__
21 | #define __PJ_COMPAT_CTYPE_H__
22 |
23 | /**
24 | * @file ctype.h
25 | * @brief Provides ctype function family.
26 | */
27 |
28 | #if defined(PJ_HAS_CTYPE_H) && PJ_HAS_CTYPE_H != 0
29 | # include
30 | #else
31 | # define isalnum(c) (isalpha(c) || isdigit(c))
32 | # define isalpha(c) (islower(c) || isupper(c))
33 | # define isascii(c) (((unsigned char)(c))<=0x7f)
34 | # define isdigit(c) ((c)>='0' && (c)<='9')
35 | # define isspace(c) ((c)==' ' || (c)=='\t' ||\
36 | (c)=='\n' || (c)=='\r' || (c)=='\v')
37 | # define islower(c) ((c)>='a' && (c)<='z')
38 | # define isupper(c) ((c)>='A' && (c)<='Z')
39 | # define isxdigit(c) (isdigit(c) || (tolower(c)>='a'&&tolower(c)<='f'))
40 | # define tolower(c) (((c) >= 'A' && (c) <= 'Z') ? (c)+('a'-'A') : (c))
41 | # define toupper(c) (((c) >= 'a' && (c) <= 'z') ? (c)-('a'-'A') : (c))
42 | #endif
43 |
44 | #ifndef isblank
45 | # define isblank(c) (c==' ' || c=='\t')
46 | #endif
47 |
48 |
49 | #endif /* __PJ_COMPAT_CTYPE_H__ */
50 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/errno.h:
--------------------------------------------------------------------------------
1 | /* $Id: errno.h 4537 2013-06-19 06:47:43Z riza $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_ERRNO_H__
21 | #define __PJ_COMPAT_ERRNO_H__
22 |
23 | #if defined(PJ_WIN32) && PJ_WIN32 != 0 || \
24 | defined(PJ_WIN32_WINCE) && PJ_WIN32_WINCE != 0 || \
25 | defined(PJ_WIN64) && PJ_WIN64 != 0
26 |
27 | typedef unsigned long pj_os_err_type;
28 | # define pj_get_native_os_error() GetLastError()
29 | # define pj_get_native_netos_error() WSAGetLastError()
30 |
31 | #elif defined(PJ_HAS_ERRNO_VAR) && PJ_HAS_ERRNO_VAR!= 0
32 |
33 | typedef int pj_os_err_type;
34 | # define pj_get_native_os_error() (errno)
35 | # define pj_get_native_netos_error() (errno)
36 |
37 | #else
38 |
39 | # error "Please define how to get errno for this platform here!"
40 |
41 | #endif
42 |
43 |
44 | #endif /* __PJ_COMPAT_ERRNO_H__ */
45 |
46 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/high_precision.h:
--------------------------------------------------------------------------------
1 | /* $Id: high_precision.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_HIGH_PRECISION_H__
21 | #define __PJ_COMPAT_HIGH_PRECISION_H__
22 |
23 |
24 | #if defined(PJ_HAS_FLOATING_POINT) && PJ_HAS_FLOATING_POINT != 0
25 | /*
26 | * The first choice for high precision math is to use double.
27 | */
28 | # include
29 | typedef double pj_highprec_t;
30 |
31 | # define PJ_HIGHPREC_VALUE_IS_ZERO(a) (a==0)
32 | # define pj_highprec_mod(a,b) (a=fmod(a,b))
33 |
34 | #elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0
35 |
36 | # include
37 |
38 | typedef pj_int64_t pj_highprec_t;
39 |
40 | # define pj_highprec_div(a1,a2) do_div(a1,a2)
41 | # define pj_highprec_mod(a1,a2) (a1=do_mod(a1, a2))
42 |
43 | PJ_INLINE(pj_int64_t) do_mod( pj_int64_t a1, pj_int64_t a2)
44 | {
45 | return do_div(a1,a2);
46 | }
47 |
48 |
49 | #elif defined(PJ_HAS_INT64) && PJ_HAS_INT64 != 0
50 | /*
51 | * Next choice is to use 64-bit arithmatics.
52 | */
53 | typedef pj_int64_t pj_highprec_t;
54 |
55 | #else
56 | # warning "High precision math is not available"
57 |
58 | /*
59 | * Last, fallback to 32-bit arithmetics.
60 | */
61 | typedef pj_int32_t pj_highprec_t;
62 |
63 | #endif
64 |
65 | /**
66 | * @def pj_highprec_mul
67 | * pj_highprec_mul(a1, a2) - High Precision Multiplication
68 | * Multiply a1 and a2, and store the result in a1.
69 | */
70 | #ifndef pj_highprec_mul
71 | # define pj_highprec_mul(a1,a2) (a1 = a1 * a2)
72 | #endif
73 |
74 | /**
75 | * @def pj_highprec_div
76 | * pj_highprec_div(a1, a2) - High Precision Division
77 | * Divide a2 from a1, and store the result in a1.
78 | */
79 | #ifndef pj_highprec_div
80 | # define pj_highprec_div(a1,a2) (a1 = a1 / a2)
81 | #endif
82 |
83 | /**
84 | * @def pj_highprec_mod
85 | * pj_highprec_mod(a1, a2) - High Precision Modulus
86 | * Get the modulus a2 from a1, and store the result in a1.
87 | */
88 | #ifndef pj_highprec_mod
89 | # define pj_highprec_mod(a1,a2) (a1 = a1 % a2)
90 | #endif
91 |
92 |
93 | /**
94 | * @def PJ_HIGHPREC_VALUE_IS_ZERO(a)
95 | * Test if the specified high precision value is zero.
96 | */
97 | #ifndef PJ_HIGHPREC_VALUE_IS_ZERO
98 | # define PJ_HIGHPREC_VALUE_IS_ZERO(a) (a==0)
99 | #endif
100 |
101 |
102 | #endif /* __PJ_COMPAT_HIGH_PRECISION_H__ */
103 |
104 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_alpha.h:
--------------------------------------------------------------------------------
1 | /* $Id: m_alpha.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_ALPHA_H__
21 | #define __PJ_COMPAT_M_ALPHA_H__
22 |
23 | /**
24 | * @file m_alpha.h
25 | * @brief Describes Alpha processor family specifics.
26 | */
27 |
28 | #define PJ_M_NAME "alpha"
29 |
30 | #define PJ_HAS_PENTIUM 0
31 | #define PJ_IS_LITTLE_ENDIAN 1
32 | #define PJ_IS_BIG_ENDIAN 0
33 |
34 |
35 | #endif /* __PJ_COMPAT_M_ALPHA_H__ */
36 |
37 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_armv4.h:
--------------------------------------------------------------------------------
1 | /* $Id: m_armv4.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_ARMV4_H__
21 | #define __PJ_COMPAT_M_ARMV4_H__
22 |
23 | /**
24 | * @file m_armv4.h
25 | * @brief Describes ARM family processor specifics.
26 | */
27 |
28 | /*
29 | * This file covers PJ_M_ARMV4 etc.
30 | */
31 |
32 | #define PJ_M_NAME "armv4"
33 |
34 | #define PJ_HAS_PENTIUM 0
35 | #define PJ_IS_LITTLE_ENDIAN 1
36 | #define PJ_IS_BIG_ENDIAN 0
37 |
38 |
39 | #endif /* __PJ_COMPAT_M_ARMV4_H__ */
40 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_auto.h:
--------------------------------------------------------------------------------
1 | /* pjlib/include/pj/compat/m_auto.h. Generated from m_auto.h.in by configure. */
2 | /* $Id: m_auto.h.in 3295 2010-08-25 12:51:29Z bennylp $ */
3 | /*
4 | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
5 | * Copyright (C) 2003-2008 Benny Prijono
6 | *
7 | * This program is free software; you can redistribute it and/or modify
8 | * it under the terms of the GNU General Public License as published by
9 | * the Free Software Foundation; either version 2 of the License, or
10 | * (at your option) any later version.
11 | *
12 | * This program is distributed in the hope that it will be useful,
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | * GNU General Public License for more details.
16 | *
17 | * You should have received a copy of the GNU General Public License
18 | * along with this program; if not, write to the Free Software
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 | */
21 | #ifndef __PJ_COMPAT_M_AUTO_H__
22 | #define __PJ_COMPAT_M_AUTO_H__
23 |
24 | /**
25 | * @file m_auto.h
26 | * @brief Automatically generated process definition file.
27 | */
28 |
29 | /* Machine name, filled in by autoconf script */
30 | #define PJ_M_NAME "arm"
31 |
32 | /* Endianness. It's reported on pjsip list on 09/02/13 that autoconf
33 | * endianness detection failed for universal build, so special case
34 | * for it here. Thanks Ruud Klaver for the fix.
35 | */
36 | #ifdef PJ_DARWINOS
37 | # ifdef __BIG_ENDIAN__
38 | # define WORDS_BIGENDIAN 1
39 | # endif
40 | #else
41 | /* Endianness, as detected by autoconf */
42 | /* # undef WORDS_BIGENDIAN */
43 | #endif
44 |
45 | #ifdef WORDS_BIGENDIAN
46 | # define PJ_IS_LITTLE_ENDIAN 0
47 | # define PJ_IS_BIG_ENDIAN 1
48 | #else
49 | # define PJ_IS_LITTLE_ENDIAN 1
50 | # define PJ_IS_BIG_ENDIAN 0
51 | #endif
52 |
53 |
54 | /* Specify if floating point is present/desired */
55 | #define PJ_HAS_FLOATING_POINT 1
56 |
57 | /* Deprecated */
58 | #define PJ_HAS_PENTIUM 0
59 |
60 | #endif /* __PJ_COMPAT_M_AUTO_H__ */
61 |
62 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_auto.h.in:
--------------------------------------------------------------------------------
1 | /* $Id: m_auto.h.in 3295 2010-08-25 12:51:29Z bennylp $ */
2 | /*
3 | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_AUTO_H__
21 | #define __PJ_COMPAT_M_AUTO_H__
22 |
23 | /**
24 | * @file m_auto.h
25 | * @brief Automatically generated process definition file.
26 | */
27 |
28 | /* Machine name, filled in by autoconf script */
29 | #undef PJ_M_NAME
30 |
31 | /* Endianness. It's reported on pjsip list on 09/02/13 that autoconf
32 | * endianness detection failed for universal build, so special case
33 | * for it here. Thanks Ruud Klaver for the fix.
34 | */
35 | #ifdef PJ_DARWINOS
36 | # ifdef __BIG_ENDIAN__
37 | # define WORDS_BIGENDIAN 1
38 | # endif
39 | #else
40 | /* Endianness, as detected by autoconf */
41 | # undef WORDS_BIGENDIAN
42 | #endif
43 |
44 | #ifdef WORDS_BIGENDIAN
45 | # define PJ_IS_LITTLE_ENDIAN 0
46 | # define PJ_IS_BIG_ENDIAN 1
47 | #else
48 | # define PJ_IS_LITTLE_ENDIAN 1
49 | # define PJ_IS_BIG_ENDIAN 0
50 | #endif
51 |
52 |
53 | /* Specify if floating point is present/desired */
54 | #undef PJ_HAS_FLOATING_POINT
55 |
56 | /* Deprecated */
57 | #define PJ_HAS_PENTIUM 0
58 |
59 | #endif /* __PJ_COMPAT_M_AUTO_H__ */
60 |
61 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_i386.h:
--------------------------------------------------------------------------------
1 | /* $Id: m_i386.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_i386_H__
21 | #define __PJ_COMPAT_M_i386_H__
22 |
23 | /**
24 | * @file m_i386.h
25 | * @brief Describes Intel i386 family processor specifics.
26 | */
27 |
28 | #define PJ_M_NAME "i386"
29 |
30 | #define PJ_HAS_PENTIUM 1
31 | #define PJ_IS_LITTLE_ENDIAN 1
32 | #define PJ_IS_BIG_ENDIAN 0
33 |
34 |
35 | #endif /* __PJ_COMPAT_M_i386_H__ */
36 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_m68k.h:
--------------------------------------------------------------------------------
1 | /* $Id: m_m68k.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_M68K_H__
21 | #define __PJ_COMPAT_M_M68K_H__
22 |
23 | /**
24 | * @file m_m68k.h
25 | * @brief Describes Motorola m68k family processor specifics.
26 | */
27 |
28 | #define PJ_M_NAME "m68k"
29 |
30 | #define PJ_HAS_PENTIUM 0
31 | #define PJ_IS_LITTLE_ENDIAN 1
32 | #define PJ_IS_BIG_ENDIAN 0
33 |
34 |
35 | #endif /* __PJ_COMPAT_M_M68K_H__ */
36 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_powerpc.h:
--------------------------------------------------------------------------------
1 | /* $Id: m_powerpc.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_POWERPC_H__
21 | #define __PJ_COMPAT_M_POWERPC_H__
22 |
23 | /**
24 | * @file m_ppc.h
25 | * @brief Describes PowerPC family processor specifics.
26 | */
27 |
28 | #define PJ_M_NAME "powerpc"
29 |
30 | #define PJ_HAS_PENTIUM 0
31 | #define PJ_IS_LITTLE_ENDIAN 0
32 | #define PJ_IS_BIG_ENDIAN 1
33 |
34 |
35 | #endif /* __PJ_COMPAT_M_POWERPC_H__ */
36 |
37 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_sparc.h:
--------------------------------------------------------------------------------
1 | /* $Id: m_sparc.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_SPARC_H__
21 | #define __PJ_COMPAT_M_SPARC_H__
22 |
23 | /**
24 | * @file m_sparc.h
25 | * @brief Describes SPARC family processor specifics.
26 | */
27 |
28 | #define PJ_M_NAME "sparc"
29 |
30 | #define PJ_HAS_PENTIUM 0
31 | #define PJ_IS_LITTLE_ENDIAN 0
32 | #define PJ_IS_BIG_ENDIAN 1
33 |
34 |
35 | #endif /* __PJ_COMPAT_M_SPARC_H__ */
36 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/m_x86_64.h:
--------------------------------------------------------------------------------
1 | /* $Id: m_x86_64.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_M_x86_64_H__
21 | #define __PJ_COMPAT_M_x86_64_H__
22 |
23 | /**
24 | * @file m_i386.h
25 | * @brief Describes 64bit x86 Intel/AMD family processor specifics.
26 | */
27 |
28 | #define PJ_M_NAME "x86_64"
29 |
30 | #define PJ_HAS_PENTIUM 1
31 | #define PJ_IS_LITTLE_ENDIAN 1
32 | #define PJ_IS_BIG_ENDIAN 0
33 |
34 |
35 | #endif /* __PJ_COMPAT_M_x86_64_H__ */
36 |
37 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/malloc.h:
--------------------------------------------------------------------------------
1 | /* $Id: malloc.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_MALLOC_H__
21 | #define __PJ_COMPAT_MALLOC_H__
22 |
23 | /**
24 | * @file malloc.h
25 | * @brief Provides malloc() and free() functions.
26 | */
27 |
28 | #if defined(PJ_HAS_MALLOC_H) && PJ_HAS_MALLOC_H != 0
29 | # include
30 | #elif defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H != 0
31 | # include
32 | #endif
33 |
34 | #endif /* __PJ_COMPAT_MALLOC_H__ */
35 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/rand.h:
--------------------------------------------------------------------------------
1 | /* $Id: rand.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_RAND_H__
21 | #define __PJ_COMPAT_RAND_H__
22 |
23 | /**
24 | * @file rand.h
25 | * @brief Provides platform_rand() and platform_srand() functions.
26 | */
27 |
28 | #if defined(PJ_HAS_STDLIB_H) && PJ_HAS_STDLIB_H != 0
29 | /*
30 | * Use stdlib based rand() and srand().
31 | */
32 | # include
33 | # define platform_srand srand
34 | # if defined(RAND_MAX) && RAND_MAX <= 0xFFFF
35 | /*
36 | * When rand() is only 16 bit strong, double the strength
37 | * by calling it twice!
38 | */
39 | PJ_INLINE(int) platform_rand(void)
40 | {
41 | return ((rand() & 0xFFFF) << 16) | (rand() & 0xFFFF);
42 | }
43 | # else
44 | # define platform_rand rand
45 | # endif
46 |
47 | #elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0
48 | /*
49 | * Linux kernel mode random number generator.
50 | */
51 | # include
52 | # define platform_srand(seed)
53 |
54 | PJ_INLINE(int) platform_rand(void)
55 | {
56 | int value;
57 | get_random_bytes((void*)&value, sizeof(value));
58 | return value;
59 | }
60 |
61 | #else
62 | # warning "platform_rand() is not implemented"
63 | # define platform_rand() 1
64 | # define platform_srand(seed)
65 |
66 | #endif
67 |
68 |
69 | #endif /* __PJ_COMPAT_RAND_H__ */
70 |
71 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/setjmp.h:
--------------------------------------------------------------------------------
1 | /* $Id: setjmp.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_SETJMP_H__
21 | #define __PJ_COMPAT_SETJMP_H__
22 |
23 | /**
24 | * @file setjmp.h
25 | * @brief Provides setjmp.h functionality.
26 | */
27 |
28 | #if defined(PJ_HAS_SETJMP_H) && PJ_HAS_SETJMP_H != 0
29 | # include
30 | typedef jmp_buf pj_jmp_buf;
31 | # ifndef pj_setjmp
32 | # define pj_setjmp(buf) setjmp(buf)
33 | # endif
34 | # ifndef pj_longjmp
35 | # define pj_longjmp(buf,d) longjmp(buf,d)
36 | # endif
37 |
38 | #elif defined(PJ_LINUX_KERNEL) && PJ_LINUX_KERNEL != 0 && \
39 | defined(PJ_M_I386) && PJ_M_I386 != 0
40 |
41 | /*
42 | * These are taken from uClibc.
43 | * Copyright (C) 2000-2003 Erik Andersen
44 | */
45 | # if defined __USE_MISC || defined _ASM
46 | # define JB_BX 0
47 | # define JB_SI 1
48 | # define JB_DI 2
49 | # define JB_BP 3
50 | # define JB_SP 4
51 | # define JB_PC 5
52 | # define JB_SIZE 24
53 | # endif
54 |
55 | # ifndef _ASM
56 | typedef int __jmp_buf[6];
57 |
58 | /* A `sigset_t' has a bit for each signal. */
59 | # define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
60 | typedef struct __sigset_t_tag
61 | {
62 | unsigned long int __val[_SIGSET_NWORDS];
63 | } __sigset_t;
64 |
65 | /* Calling environment, plus possibly a saved signal mask. */
66 | typedef struct __jmp_buf_tag /* C++ doesn't like tagless structs. */
67 | {
68 | /* NOTE: The machine-dependent definitions of `__sigsetjmp'
69 | assume that a `jmp_buf' begins with a `__jmp_buf' and that
70 | `__mask_was_saved' follows it. Do not move these members
71 | or add others before it. */
72 | __jmp_buf __jmpbuf; /* Calling environment. */
73 | int __mask_was_saved; /* Saved the signal mask? */
74 | // we never saved the mask.
75 | __sigset_t __saved_mask; /* Saved signal mask. */
76 | } jmp_buf[1];
77 |
78 | typedef jmp_buf sigjmp_buf;
79 | typedef jmp_buf pj_jmp_buf;
80 |
81 | PJ_DECL(int) pj_setjmp(pj_jmp_buf env);
82 | PJ_DECL(void) pj_longjmp(pj_jmp_buf env, int val) __attribute__((noreturn));
83 |
84 | # endif /* _ASM */
85 |
86 | #elif defined(PJ_SYMBIAN) && PJ_SYMBIAN!=0
87 | /* Symbian framework don't use setjmp/longjmp */
88 |
89 | #else
90 | # warning "setjmp()/longjmp() is not implemented"
91 | typedef int pj_jmp_buf[1];
92 | # define pj_setjmp(buf) 0
93 | # define pj_longjmp(buf,d) 0
94 | #endif
95 |
96 |
97 | #endif /* __PJ_COMPAT_SETJMP_H__ */
98 |
99 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/size_t.h:
--------------------------------------------------------------------------------
1 | /* $Id: size_t.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_SIZE_T_H__
21 | #define __PJ_COMPAT_SIZE_T_H__
22 |
23 | /**
24 | * @file size_t.h
25 | * @brief Provides size_t type.
26 | */
27 | #if PJ_HAS_STDDEF_H
28 | # include
29 | #endif
30 |
31 | #endif /* __PJ_COMPAT_SIZE_T_H__ */
32 |
33 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/stdarg.h:
--------------------------------------------------------------------------------
1 | /* $Id: stdarg.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_STDARG_H__
21 | #define __PJ_COMPAT_STDARG_H__
22 |
23 | /**
24 | * @file stdarg.h
25 | * @brief Provides stdarg functionality.
26 | */
27 |
28 | #if defined(PJ_HAS_STDARG_H) && PJ_HAS_STDARG_H != 0
29 | # include
30 | #endif
31 |
32 | #endif /* __PJ_COMPAT_STDARG_H__ */
33 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/stdfileio.h:
--------------------------------------------------------------------------------
1 | /* $Id: stdfileio.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_STDFILEIO_H__
21 | #define __PJ_COMPAT_STDFILEIO_H__
22 |
23 | /**
24 | * @file stdfileio.h
25 | * @brief Compatibility for ANSI file I/O like fputs, fflush, etc.
26 | */
27 |
28 | #if defined(PJ_HAS_STDIO_H) && PJ_HAS_STDIO_H != 0
29 | # include
30 | #endif
31 |
32 | #endif /* __PJ_COMPAT_STDFILEIO_H__ */
33 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/compat/time.h:
--------------------------------------------------------------------------------
1 | /* $Id: time.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_COMPAT_TIME_H__
21 | #define __PJ_COMPAT_TIME_H__
22 |
23 | /**
24 | * @file time.h
25 | * @brief Provides ftime() and localtime() etc functions.
26 | */
27 |
28 | #if defined(PJ_HAS_TIME_H) && PJ_HAS_TIME_H != 0
29 | # include
30 | #endif
31 |
32 | #if defined(PJ_HAS_SYS_TIME_H) && PJ_HAS_SYS_TIME_H != 0
33 | # include
34 | #endif
35 |
36 | #if defined(PJ_HAS_SYS_TIMEB_H) && PJ_HAS_SYS_TIMEB_H != 0
37 | # include
38 | #endif
39 |
40 |
41 | #endif /* __PJ_COMPAT_TIME_H__ */
42 |
43 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/config_site.h:
--------------------------------------------------------------------------------
1 | #define PJ_CONFIG_IPHONE 1
2 | #include
3 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/fifobuf.h:
--------------------------------------------------------------------------------
1 | /* $Id: fifobuf.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_FIFOBUF_H__
21 | #define __PJ_FIFOBUF_H__
22 |
23 | #include
24 |
25 | PJ_BEGIN_DECL
26 |
27 | typedef struct pj_fifobuf_t pj_fifobuf_t;
28 | struct pj_fifobuf_t
29 | {
30 | char *first, *last;
31 | char *ubegin, *uend;
32 | int full;
33 | };
34 |
35 | PJ_DECL(void) pj_fifobuf_init (pj_fifobuf_t *fb, void *buffer, unsigned size);
36 | PJ_DECL(unsigned) pj_fifobuf_max_size (pj_fifobuf_t *fb);
37 | PJ_DECL(void*) pj_fifobuf_alloc (pj_fifobuf_t *fb, unsigned size);
38 | PJ_DECL(pj_status_t) pj_fifobuf_unalloc (pj_fifobuf_t *fb, void *buf);
39 | PJ_DECL(pj_status_t) pj_fifobuf_free (pj_fifobuf_t *fb, void *buf);
40 |
41 | PJ_END_DECL
42 |
43 | #endif /* __PJ_FIFOBUF_H__ */
44 |
45 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/ip_helper.h:
--------------------------------------------------------------------------------
1 | /* $Id: ip_helper.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_IP_ROUTE_H__
21 | #define __PJ_IP_ROUTE_H__
22 |
23 | /**
24 | * @file ip_helper.h
25 | * @brief IP helper API
26 | */
27 |
28 | #include
29 |
30 | PJ_BEGIN_DECL
31 |
32 | /**
33 | * @defgroup pj_ip_helper IP Interface and Routing Helper
34 | * @ingroup PJ_IO
35 | * @{
36 | *
37 | * This module provides functions to query local host's IP interface and
38 | * routing table.
39 | */
40 |
41 | /**
42 | * This structure describes IP routing entry.
43 | */
44 | typedef union pj_ip_route_entry
45 | {
46 | /** IP routing entry for IP version 4 routing */
47 | struct
48 | {
49 | pj_in_addr if_addr; /**< Local interface IP address. */
50 | pj_in_addr dst_addr; /**< Destination IP address. */
51 | pj_in_addr mask; /**< Destination mask. */
52 | } ipv4;
53 | } pj_ip_route_entry;
54 |
55 |
56 | /**
57 | * Enumerate the local IP interfaces currently active in the host.
58 | *
59 | * @param af Family of the address to be retrieved. Application
60 | * may specify pj_AF_UNSPEC() to retrieve all addresses,
61 | * or pj_AF_INET() or pj_AF_INET6() to retrieve interfaces
62 | * with specific address family.
63 | * @param count On input, specify the number of entries. On output,
64 | * it will be filled with the actual number of entries.
65 | * @param ifs Array of socket addresses, which address part will
66 | * be filled with the interface address. The address
67 | * family part will be initialized with the address
68 | * family of the IP address.
69 | *
70 | * @return PJ_SUCCESS on success, or the appropriate error code.
71 | */
72 | PJ_DECL(pj_status_t) pj_enum_ip_interface(int af,
73 | unsigned *count,
74 | pj_sockaddr ifs[]);
75 |
76 |
77 | /**
78 | * Enumerate the IP routing table for this host.
79 | *
80 | * @param count On input, specify the number of routes entries. On output,
81 | * it will be filled with the actual number of route entries.
82 | * @param routes Array of IP routing entries.
83 | *
84 | * @return PJ_SUCCESS on success, or the appropriate error code.
85 | */
86 | PJ_DECL(pj_status_t) pj_enum_ip_route(unsigned *count,
87 | pj_ip_route_entry routes[]);
88 |
89 |
90 |
91 | /** @} */
92 |
93 | PJ_END_DECL
94 |
95 |
96 | #endif /* __PJ_IP_ROUTE_H__ */
97 |
98 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/pool_buf.h:
--------------------------------------------------------------------------------
1 | /* $Id: pool_buf.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __POOL_STACK_H__
21 | #define __POOL_STACK_H__
22 |
23 | #include
24 |
25 | /**
26 | * @defgroup PJ_POOL_BUFFER Stack/Buffer Based Memory Pool Allocator
27 | * @ingroup PJ_POOL_GROUP
28 | * @brief Stack/buffer based pool.
29 | *
30 | * This section describes an implementation of memory pool which uses
31 | * memory allocated from the stack. Application creates this pool
32 | * by specifying a buffer (which can be allocated from static memory or
33 | * stack variable), and then use normal pool API to access/use the pool.
34 | *
35 | * If the buffer specified during pool creation is a buffer located in the
36 | * stack, the pool will be invalidated (or implicitly destroyed) when the
37 | * execution leaves the enclosing block containing the buffer. Note
38 | * that application must make sure that any objects allocated from this
39 | * pool (such as mutexes) have been destroyed before the pool gets
40 | * invalidated.
41 | *
42 | * Sample usage:
43 | *
44 | * \code
45 | #include
46 |
47 | static void test()
48 | {
49 | char buffer[500];
50 | pj_pool_t *pool;
51 | void *p;
52 |
53 | pool = pj_pool_create_on_buf("thepool", buffer, sizeof(buffer));
54 |
55 | // Use the pool as usual
56 | p = pj_pool_alloc(pool, ...);
57 | ...
58 |
59 | // No need to release the pool
60 | }
61 |
62 | int main()
63 | {
64 | pj_init();
65 | test();
66 | return 0;
67 | }
68 |
69 | \endcode
70 | *
71 | * @{
72 | */
73 |
74 | PJ_BEGIN_DECL
75 |
76 | /**
77 | * Create the pool using the specified buffer as the pool's memory.
78 | * Subsequent allocations made from the pool will use the memory from
79 | * this buffer.
80 | *
81 | * If the buffer specified in the parameter is a buffer located in the
82 | * stack, the pool will be invalid (or implicitly destroyed) when the
83 | * execution leaves the enclosing block containing the buffer. Note
84 | * that application must make sure that any objects allocated from this
85 | * pool (such as mutexes) have been destroyed before the pool gets
86 | * invalidated.
87 | *
88 | * @param name Optional pool name.
89 | * @param buf Buffer to be used by the pool.
90 | * @param size The size of the buffer.
91 | *
92 | * @return The memory pool instance.
93 | */
94 | PJ_DECL(pj_pool_t*) pj_pool_create_on_buf(const char *name,
95 | void *buf,
96 | pj_size_t size);
97 |
98 | PJ_END_DECL
99 |
100 | /**
101 | * @}
102 | */
103 |
104 | #endif /* __POOL_STACK_H__ */
105 |
106 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/pool_i.h:
--------------------------------------------------------------------------------
1 | /* $Id: pool_i.h 4298 2012-11-22 05:00:01Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 |
21 |
22 | #include
23 |
24 |
25 | PJ_IDEF(pj_size_t) pj_pool_get_capacity( pj_pool_t *pool )
26 | {
27 | return pool->capacity;
28 | }
29 |
30 | PJ_IDEF(pj_size_t) pj_pool_get_used_size( pj_pool_t *pool )
31 | {
32 | pj_pool_block *b = pool->block_list.next;
33 | pj_size_t used_size = sizeof(pj_pool_t);
34 | while (b != &pool->block_list) {
35 | used_size += (b->cur - b->buf) + sizeof(pj_pool_block);
36 | b = b->next;
37 | }
38 | return used_size;
39 | }
40 |
41 | PJ_IDEF(void*) pj_pool_alloc_from_block( pj_pool_block *block, pj_size_t size )
42 | {
43 | /* The operation below is valid for size==0.
44 | * When size==0, the function will return the pointer to the pool
45 | * memory address, but no memory will be allocated.
46 | */
47 | if (size & (PJ_POOL_ALIGNMENT-1)) {
48 | size = (size + PJ_POOL_ALIGNMENT) & ~(PJ_POOL_ALIGNMENT-1);
49 | }
50 | if ((pj_size_t)(block->end - block->cur) >= size) {
51 | void *ptr = block->cur;
52 | block->cur += size;
53 | return ptr;
54 | }
55 | return NULL;
56 | }
57 |
58 | PJ_IDEF(void*) pj_pool_alloc( pj_pool_t *pool, pj_size_t size)
59 | {
60 | void *ptr = pj_pool_alloc_from_block(pool->block_list.next, size);
61 | if (!ptr)
62 | ptr = pj_pool_allocate_find(pool, size);
63 | return ptr;
64 | }
65 |
66 |
67 | PJ_IDEF(void*) pj_pool_calloc( pj_pool_t *pool, pj_size_t count, pj_size_t size)
68 | {
69 | void *buf = pj_pool_alloc( pool, size*count);
70 | if (buf)
71 | pj_bzero(buf, size * count);
72 | return buf;
73 | }
74 |
75 | PJ_IDEF(const char *) pj_pool_getobjname( const pj_pool_t *pool )
76 | {
77 | return pool->obj_name;
78 | }
79 |
80 | PJ_IDEF(pj_pool_t*) pj_pool_create( pj_pool_factory *f,
81 | const char *name,
82 | pj_size_t initial_size,
83 | pj_size_t increment_size,
84 | pj_pool_callback *callback)
85 | {
86 | return (*f->create_pool)(f, name, initial_size, increment_size, callback);
87 | }
88 |
89 | PJ_IDEF(void) pj_pool_release( pj_pool_t *pool )
90 | {
91 | if (pool->factory->release_pool)
92 | (*pool->factory->release_pool)(pool->factory, pool);
93 | }
94 |
95 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pj/rand.h:
--------------------------------------------------------------------------------
1 | /* $Id: rand.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJ_RAND_H__
21 | #define __PJ_RAND_H__
22 |
23 | /**
24 | * @file rand.h
25 | * @brief Random Number Generator.
26 | */
27 |
28 | #include
29 |
30 | PJ_BEGIN_DECL
31 |
32 |
33 | /**
34 | * @defgroup PJ_RAND Random Number Generator
35 | * @ingroup PJ_MISC
36 | * @{
37 | * This module contains functions for generating random numbers.
38 | * This abstraction is needed not only because not all platforms have
39 | * \a rand() and \a srand(), but also on some platforms \a rand()
40 | * only has 16-bit randomness, which is not good enough.
41 | */
42 |
43 | /**
44 | * Put in seed to random number generator.
45 | *
46 | * @param seed Seed value.
47 | */
48 | PJ_DECL(void) pj_srand(unsigned int seed);
49 |
50 |
51 | /**
52 | * Generate random integer with 32bit randomness.
53 | *
54 | * @return a random integer.
55 | */
56 | PJ_DECL(int) pj_rand(void);
57 |
58 |
59 | /** @} */
60 |
61 |
62 | PJ_END_DECL
63 |
64 |
65 | #endif /* __PJ_RAND_H__ */
66 |
67 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pjlib++.hpp:
--------------------------------------------------------------------------------
1 | /* $Id: pjlib++.hpp 2394 2008-12-23 17:27:53Z bennylp $ */
2 | /*
3 | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJLIBPP_H__
21 | #define __PJLIBPP_H__
22 |
23 | #include
24 | #include
25 | #include
26 | #include
27 | #include
28 | #include
29 | #include
30 | #include
31 | #include
32 | #include
33 | #include
34 |
35 | #endif /* __PJLIBPP_H__ */
36 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjlib/pjlib.h:
--------------------------------------------------------------------------------
1 | /* $Id: pjlib.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 |
21 | #ifndef __PJLIB_H__
22 | #define __PJLIB_H__
23 |
24 | /**
25 | * @file pjlib.h
26 | * @brief Include all PJLIB header files.
27 | */
28 |
29 | #include
30 | #include
31 | #include
32 | #include
33 | #include
34 | #include
35 | #include
36 | #include
37 | #include
38 | #include
39 | #include
40 | #include
41 | #include
42 | #include
43 | #include
44 | #include
45 | #include
46 | #include
47 | #include
48 | #include
49 | #include
50 | #include
51 | #include
52 | #include
53 | #include
54 | #include
55 | #include
56 | #include
57 | #include
58 | #include
59 |
60 | #include
61 |
62 | #endif /* __PJLIB_H__ */
63 |
64 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-audiodev/audiotest.h:
--------------------------------------------------------------------------------
1 | /* $Id: audiotest.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_AUDIODEV_AUDIOTEST_H__
21 | #define __PJMEDIA_AUDIODEV_AUDIOTEST_H__
22 |
23 | /**
24 | * @file audiotest.h
25 | * @brief Audio test utility.
26 | */
27 | #include
28 |
29 |
30 | PJ_BEGIN_DECL
31 |
32 | /**
33 | * @defgroup s30_audio_test_utility Audio tests utility.
34 | * @ingroup audio_device_api
35 | * @brief Audio test utility.
36 | * @{
37 | */
38 |
39 | /**
40 | * Statistic for each direction.
41 | */
42 | typedef struct pjmedia_aud_test_stat
43 | {
44 | /**
45 | * Number of frames processed during the test.
46 | */
47 | unsigned frame_cnt;
48 |
49 | /**
50 | * Minimum inter-frame arrival time, in milliseconds
51 | */
52 | unsigned min_interval;
53 |
54 | /**
55 | * Maximum inter-frame arrival time, in milliseconds
56 | */
57 | unsigned max_interval;
58 |
59 | /**
60 | * Average inter-frame arrival time, in milliseconds
61 | */
62 | unsigned avg_interval;
63 |
64 | /**
65 | * Standard deviation of inter-frame arrival time, in milliseconds
66 | */
67 | unsigned dev_interval;
68 |
69 | /**
70 | * Maximum number of frame burst
71 | */
72 | unsigned max_burst;
73 |
74 | } pjmedia_aud_test_stat;
75 |
76 |
77 | /**
78 | * Test results.
79 | */
80 | typedef struct pjmedia_aud_test_results
81 | {
82 | /**
83 | * Recording statistic.
84 | */
85 | pjmedia_aud_test_stat rec;
86 |
87 | /**
88 | * Playback statistic.
89 | */
90 | pjmedia_aud_test_stat play;
91 |
92 | /**
93 | * Clock drifts per second, in samples. Positive number indicates rec
94 | * device is running faster than playback device.
95 | */
96 | pj_int32_t rec_drift_per_sec;
97 |
98 | } pjmedia_aud_test_results;
99 |
100 |
101 | /**
102 | * Perform audio device testing.
103 | */
104 | PJ_DECL(pj_status_t) pjmedia_aud_test(const pjmedia_aud_param *param,
105 | pjmedia_aud_test_results *result);
106 |
107 | /**
108 | * @}
109 | */
110 |
111 | PJ_END_DECL
112 |
113 |
114 | #endif /* __PJMEDIA_AUDIODEV_AUDIOTEST_H__ */
115 |
116 |
117 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec.h:
--------------------------------------------------------------------------------
1 | /* $Id: pjmedia-codec.h 4815 2014-04-10 10:01:07Z bennylp $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODEC_PJMEDIA_CODEC_H__
21 | #define __PJMEDIA_CODEC_PJMEDIA_CODEC_H__
22 |
23 | /**
24 | * @file pjmedia-codec.h
25 | * @brief Include all codecs API in PJMEDIA-CODEC
26 | */
27 |
28 | #include
29 | #include
30 | #include
31 | #include
32 | #include
33 | #include
34 | #include
35 | #include
36 | #include
37 | #include
38 | #include
39 | #include
40 | #include
41 |
42 |
43 | #endif /* __PJMEDIA_CODEC_PJMEDIA_CODEC_H__ */
44 |
45 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/amr_sdp_match.h:
--------------------------------------------------------------------------------
1 | /* $Id: amr_sdp_match.h 3911 2011-12-15 06:45:23Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODEC_AMR_SDP_MATCH_H__
21 | #define __PJMEDIA_CODEC_AMR_SDP_MATCH_H__
22 |
23 |
24 | /**
25 | * @file g7221_sdp_match.h
26 | * @brief Special SDP format match for AMR-NB and AMR-WB.
27 | */
28 |
29 | #include
30 |
31 | PJ_BEGIN_DECL
32 |
33 |
34 | /* Match AMR-NB and AMR-WB format in the SDP media offer and answer. This
35 | * function will match some AMR settings in the SDP format parameters, i.e:
36 | * octet-align, crc, robust-sorting, interleaving. Note that, for answerer,
37 | * if octet-align mode needs to be adaptable to offerer setting, application
38 | * should set #PJMEDIA_SDP_NEG_FMT_MATCH_ALLOW_MODIFY_ANSWER in the option.
39 | *
40 | * @param pool The memory pool.
41 | * @param offer The SDP media offer.
42 | * @param o_fmt_idx Index of the AMR format in the SDP media offer.
43 | * @param answer The SDP media answer.
44 | * @param a_fmt_idx Index of the AMR format in the SDP media answer.
45 | * @param option The format matching option, see
46 | * #pjmedia_sdp_neg_fmt_match_flag.
47 | *
48 | * @return PJ_SUCCESS when the formats in offer and answer match.
49 | */
50 | PJ_DECL(pj_status_t) pjmedia_codec_amr_match_sdp( pj_pool_t *pool,
51 | pjmedia_sdp_media *offer,
52 | unsigned o_fmt_idx,
53 | pjmedia_sdp_media *answer,
54 | unsigned a_fmt_idx,
55 | unsigned option);
56 |
57 |
58 | PJ_END_DECL
59 |
60 |
61 | #endif /* __PJMEDIA_CODEC_AMR_SDP_MATCH_H__ */
62 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/audio_codecs.h:
--------------------------------------------------------------------------------
1 | /* $Id: audio_codecs.h 3666 2011-07-19 08:40:20Z nanang $ */
2 | /*
3 | * Copyright (C) 2011-2011 Teluu Inc. (http://www.teluu.com)
4 | *
5 | * This program is free software; you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation; either version 2 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program; if not, write to the Free Software
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | */
19 | #ifndef __PJMEDIA_CODEC_ALL_CODECS_H__
20 | #define __PJMEDIA_CODEC_ALL_CODECS_H__
21 |
22 | /**
23 | * @file pjmedia-codec/all_codecs.h
24 | * @brief Helper function to register all codecs
25 | */
26 | #include
27 | #include
28 |
29 |
30 | PJ_BEGIN_DECL
31 |
32 | /**
33 | * @defgroup PJMEDIA_CODEC_REGISTER_ALL Codec registration helper
34 | * @ingroup PJMEDIA_CODEC_CODECS
35 | * @brief Helper function to register all codecs
36 | * @{
37 | *
38 | * Helper function to register all codecs that are implemented in
39 | * PJMEDIA-CODEC library.
40 | */
41 |
42 | /**
43 | * Codec configuration. Call #pjmedia_audio_codec_config_default() to initialize
44 | * this structure with the default values.
45 | */
46 | typedef struct pjmedia_audio_codec_config
47 | {
48 | /** Speex codec settings. See #pjmedia_codec_speex_init() for more info */
49 | struct {
50 | unsigned option; /**< Bitmask of options. */
51 | int quality; /**< Codec quality. */
52 | int complexity; /**< Codec complexity. */
53 | } speex;
54 |
55 | /** iLBC settings */
56 | struct {
57 | unsigned mode; /**< iLBC mode. */
58 | } ilbc;
59 |
60 | /** Passthrough */
61 | struct {
62 | pjmedia_codec_passthrough_setting setting; /**< Passthrough */
63 | } passthrough;
64 |
65 | } pjmedia_audio_codec_config;
66 |
67 |
68 | /**
69 | * Initialize pjmedia_audio_codec_config structure with default values.
70 | *
71 | * @param cfg The codec config to be initialized.
72 | */
73 | PJ_DECL(void)
74 | pjmedia_audio_codec_config_default(pjmedia_audio_codec_config *cfg);
75 |
76 | /**
77 | * Register all known audio codecs implemented in PJMEDA-CODEC library to the
78 | * specified media endpoint.
79 | *
80 | * @param endpt The media endpoint.
81 | * @param c Optional codec configuration, or NULL to use default
82 | * values.
83 | *
84 | * @return PJ_SUCCESS on success or the appropriate error code.
85 | */
86 | PJ_DECL(pj_status_t)
87 | pjmedia_codec_register_audio_codecs(pjmedia_endpt *endpt,
88 | const pjmedia_audio_codec_config *c);
89 |
90 |
91 | /**
92 | * @} PJMEDIA_CODEC_REGISTER_ALL
93 | */
94 |
95 |
96 | PJ_END_DECL
97 |
98 | #endif /* __PJMEDIA_CODEC_ALL_CODECS_H__ */
99 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/config_auto.h:
--------------------------------------------------------------------------------
1 | /* pjmedia/include/pjmedia-codec/config_auto.h. Generated from config_auto.h.in by configure. */
2 | /* $Id: config_auto.h.in 4331 2013-01-23 06:18:18Z ming $ */
3 | /*
4 | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
5 | * Copyright (C) 2003-2008 Benny Prijono
6 | *
7 | * This program is free software; you can redistribute it and/or modify
8 | * it under the terms of the GNU General Public License as published by
9 | * the Free Software Foundation; either version 2 of the License, or
10 | * (at your option) any later version.
11 | *
12 | * This program is distributed in the hope that it will be useful,
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | * GNU General Public License for more details.
16 | *
17 | * You should have received a copy of the GNU General Public License
18 | * along with this program; if not, write to the Free Software
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 | */
21 | #ifndef __PJMEDIA_CODEC_CONFIG_AUTO_H_
22 | #define __PJMEDIA_CODEC_CONFIG_AUTO_H_
23 |
24 | /**
25 | * @file config_auto.h
26 | * @brief PJMEDIA-CODEC configuration as set by autoconf script
27 | */
28 |
29 | /*
30 | * Note:
31 | * The configuration in config_site.h overrides any other settings,
32 | * including the setting as detected by autoconf.
33 | */
34 |
35 | /* L16 codec */
36 | #ifndef PJMEDIA_HAS_L16_CODEC
37 | /* #undef PJMEDIA_HAS_L16_CODEC */
38 | #endif
39 |
40 |
41 | /* GSM codec */
42 | #ifndef PJMEDIA_HAS_GSM_CODEC
43 | /* #undef PJMEDIA_HAS_GSM_CODEC */
44 | #endif
45 |
46 | /* #undef PJMEDIA_EXTERNAL_GSM_CODEC */
47 | /* #undef PJMEDIA_EXTERNAL_GSM_GSM_H */
48 | /* #undef PJMEDIA_EXTERNAL_GSM_H */
49 |
50 | /* Speex codec */
51 | #ifndef PJMEDIA_HAS_SPEEX_CODEC
52 | /* #undef PJMEDIA_HAS_SPEEX_CODEC */
53 | #endif
54 |
55 | /* #undef PJMEDIA_EXTERNAL_SPEEX_CODEC */
56 |
57 | /* iLBC codec */
58 | #ifndef PJMEDIA_HAS_ILBC_CODEC
59 | /* #undef PJMEDIA_HAS_ILBC_CODEC */
60 | #endif
61 |
62 |
63 | /* G722 codec */
64 | #ifndef PJMEDIA_HAS_G722_CODEC
65 | /* #undef PJMEDIA_HAS_G722_CODEC */
66 | #endif
67 |
68 | /* G7221 codec */
69 | #ifndef PJMEDIA_HAS_G7221_CODEC
70 | /* #undef PJMEDIA_HAS_G7221_CODEC */
71 | #endif
72 |
73 | /* OpenCORE AMR-NB codec */
74 | #ifndef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC
75 | #define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 1
76 | #endif
77 |
78 | /* OpenCORE AMR-WB codec */
79 | #ifndef PJMEDIA_HAS_OPENCORE_AMRWB_CODEC
80 | #define PJMEDIA_HAS_OPENCORE_AMRWB_CODEC 1
81 | #endif
82 |
83 | /* SILK codec */
84 | #ifndef PJMEDIA_HAS_SILK_CODEC
85 | #define PJMEDIA_HAS_SILK_CODEC 0
86 | #endif
87 |
88 | #endif /* __PJMEDIA_CODEC_CONFIG_AUTO_H_ */
89 |
90 |
91 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/config_auto.h.in:
--------------------------------------------------------------------------------
1 | /* $Id: config_auto.h.in 4331 2013-01-23 06:18:18Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODEC_CONFIG_AUTO_H_
21 | #define __PJMEDIA_CODEC_CONFIG_AUTO_H_
22 |
23 | /**
24 | * @file config_auto.h
25 | * @brief PJMEDIA-CODEC configuration as set by autoconf script
26 | */
27 |
28 | /*
29 | * Note:
30 | * The configuration in config_site.h overrides any other settings,
31 | * including the setting as detected by autoconf.
32 | */
33 |
34 | /* L16 codec */
35 | #ifndef PJMEDIA_HAS_L16_CODEC
36 | #undef PJMEDIA_HAS_L16_CODEC
37 | #endif
38 |
39 |
40 | /* GSM codec */
41 | #ifndef PJMEDIA_HAS_GSM_CODEC
42 | #undef PJMEDIA_HAS_GSM_CODEC
43 | #endif
44 |
45 | #undef PJMEDIA_EXTERNAL_GSM_CODEC
46 | #undef PJMEDIA_EXTERNAL_GSM_GSM_H
47 | #undef PJMEDIA_EXTERNAL_GSM_H
48 |
49 | /* Speex codec */
50 | #ifndef PJMEDIA_HAS_SPEEX_CODEC
51 | #undef PJMEDIA_HAS_SPEEX_CODEC
52 | #endif
53 |
54 | #undef PJMEDIA_EXTERNAL_SPEEX_CODEC
55 |
56 | /* iLBC codec */
57 | #ifndef PJMEDIA_HAS_ILBC_CODEC
58 | #undef PJMEDIA_HAS_ILBC_CODEC
59 | #endif
60 |
61 |
62 | /* G722 codec */
63 | #ifndef PJMEDIA_HAS_G722_CODEC
64 | #undef PJMEDIA_HAS_G722_CODEC
65 | #endif
66 |
67 | /* G7221 codec */
68 | #ifndef PJMEDIA_HAS_G7221_CODEC
69 | #undef PJMEDIA_HAS_G7221_CODEC
70 | #endif
71 |
72 | /* OpenCORE AMR-NB codec */
73 | #ifndef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC
74 | #undef PJMEDIA_HAS_OPENCORE_AMRNB_CODEC
75 | #endif
76 |
77 | /* OpenCORE AMR-WB codec */
78 | #ifndef PJMEDIA_HAS_OPENCORE_AMRWB_CODEC
79 | #undef PJMEDIA_HAS_OPENCORE_AMRWB_CODEC
80 | #endif
81 |
82 | /* SILK codec */
83 | #ifndef PJMEDIA_HAS_SILK_CODEC
84 | #undef PJMEDIA_HAS_SILK_CODEC
85 | #endif
86 |
87 | #endif /* __PJMEDIA_CODEC_CONFIG_AUTO_H_ */
88 |
89 |
90 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/ffmpeg_vid_codecs.h:
--------------------------------------------------------------------------------
1 | /* $Id: ffmpeg_vid_codecs.h 4049 2012-04-13 06:24:23Z ming $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODECS_FFMPEG_VID_H__
21 | #define __PJMEDIA_CODECS_FFMPEG_VID_H__
22 |
23 |
24 | #include
25 | #include
26 |
27 | PJ_BEGIN_DECL
28 |
29 | /**
30 | * @defgroup PJMEDIA_CODEC_VID_FFMPEG FFmpeg Codecs
31 | * @ingroup PJMEDIA_CODEC_VID_CODECS
32 | * @{
33 | */
34 |
35 | /**
36 | * Initialize and register FFMPEG video codecs factory to pjmedia endpoint.
37 | *
38 | * @param mgr The video codec manager instance where this codec will
39 | * be registered to. Specify NULL to use default instance
40 | * (in that case, an instance of video codec manager must
41 | * have been created beforehand).
42 | * @param pf Pool factory.
43 | *
44 | * @return PJ_SUCCESS on success.
45 | */
46 | PJ_DECL(pj_status_t) pjmedia_codec_ffmpeg_vid_init(pjmedia_vid_codec_mgr *mgr,
47 | pj_pool_factory *pf);
48 |
49 |
50 | /**
51 | * Unregister FFMPEG video codecs factory from the video codec manager and
52 | * deinitialize the codecs library.
53 | *
54 | * @return PJ_SUCCESS on success.
55 | */
56 | PJ_DECL(pj_status_t) pjmedia_codec_ffmpeg_vid_deinit(void);
57 |
58 |
59 | PJ_END_DECL
60 |
61 |
62 | /**
63 | * @}
64 | */
65 |
66 | #endif /* __PJMEDIA_CODECS_FFMPEG_VID_H__ */
67 |
68 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/g722.h:
--------------------------------------------------------------------------------
1 | /* $Id: g722.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODEC_G722_H__
21 | #define __PJMEDIA_CODEC_G722_H__
22 |
23 | /**
24 | * @file pjmedia-codec/g722.h
25 | * @brief G.722 codec.
26 | */
27 |
28 | #include
29 |
30 | /**
31 | * @defgroup PJMED_G722 G.722 Codec
32 | * @ingroup PJMEDIA_CODEC_CODECS
33 | * @brief Implementation of G.722 Codec
34 | * @{
35 | *
36 | * This section describes functions to initialize and register G.722 codec
37 | * factory to the codec manager. After the codec factory has been registered,
38 | * application can use @ref PJMEDIA_CODEC API to manipulate the codec.
39 | *
40 | * The G.722 implementation uses 16-bit PCM with sampling rate 16000Hz and
41 | * 20ms frame length resulting in 64kbps bitrate.
42 | *
43 | * The G.722 codec implementation is provided as part of pjmedia-codec
44 | * library, and does not depend on external G.722 codec implementation.
45 | *
46 | * \section codec_setting Codec Settings
47 | *
48 | * \subsection general_setting General Settings
49 | *
50 | * General codec settings for this codec such as VAD and PLC can be
51 | * manipulated through the setting field in #pjmedia_codec_param.
52 | * Please see the documentation of #pjmedia_codec_param for more info.
53 | *
54 | * \subsection specific_setting Codec Specific Settings
55 | *
56 | * Currently none.
57 | */
58 |
59 | PJ_BEGIN_DECL
60 |
61 |
62 | /**
63 | * Initialize and register G.722 codec factory to pjmedia endpoint.
64 | *
65 | * @param endpt The pjmedia endpoint.
66 | *
67 | * @return PJ_SUCCESS on success.
68 | */
69 | PJ_DECL(pj_status_t) pjmedia_codec_g722_init(pjmedia_endpt *endpt);
70 |
71 |
72 | /**
73 | * Unregister G.722 codec factory from pjmedia endpoint and cleanup
74 | * resources allocated by the factory.
75 | *
76 | * @return PJ_SUCCESS on success.
77 | */
78 | PJ_DECL(pj_status_t) pjmedia_codec_g722_deinit(void);
79 |
80 |
81 | /**
82 | * Set the G.722 codec encoder and decoder level adjustment.
83 | * If the value is non-zero, then PCM input samples to the encoder will
84 | * be shifted right by this value, and similarly PCM output samples from
85 | * the decoder will be shifted left by this value.
86 | *
87 | * Default value is PJMEDIA_G722_DEFAULT_PCM_SHIFT.
88 | *
89 | * @param val The value
90 | *
91 | * @return PJ_SUCCESS on success.
92 | */
93 | PJ_DECL(pj_status_t) pjmedia_codec_g722_set_pcm_shift(unsigned val);
94 |
95 |
96 | PJ_END_DECL
97 |
98 |
99 | /**
100 | * @}
101 | */
102 |
103 | #endif /* __PJMEDIA_CODEC_G722_H__ */
104 |
105 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/g7221.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/prinsun/BlogDemo.SimpleSipPhone/d4686ecb30db8a9e2fd108bffd551934665da9e5/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/g7221.h
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/g7221_sdp_match.h:
--------------------------------------------------------------------------------
1 | /* $Id: g7221_sdp_match.h 3911 2011-12-15 06:45:23Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODEC_G7221_SDP_MATCH_H__
21 | #define __PJMEDIA_CODEC_G7221_SDP_MATCH_H__
22 |
23 |
24 | /**
25 | * @file g7221_sdp_match.h
26 | * @brief Special SDP format match for G722.1.
27 | */
28 |
29 | #include
30 |
31 | PJ_BEGIN_DECL
32 |
33 | /**
34 | * Match G.722.1 format in the SDP media offer and answer. This function
35 | * will match G.722.1 bitrate setting in the SDP format parameter of
36 | * offer and answer.
37 | *
38 | * @param pool The memory pool.
39 | * @param offer The SDP media offer.
40 | * @param o_fmt_idx Index of the G.722.1 format in the SDP media offer.
41 | * @param answer The SDP media answer.
42 | * @param a_fmt_idx Index of the G.722.1 format in the SDP media answer.
43 | * @param option The format matching option, see
44 | * #pjmedia_sdp_neg_fmt_match_flag.
45 | *
46 | * @return PJ_SUCCESS when the formats in offer and answer match.
47 | */
48 | PJ_DECL(pj_status_t) pjmedia_codec_g7221_match_sdp( pj_pool_t *pool,
49 | pjmedia_sdp_media *offer,
50 | unsigned o_fmt_idx,
51 | pjmedia_sdp_media *answer,
52 | unsigned a_fmt_idx,
53 | unsigned option);
54 |
55 |
56 | PJ_END_DECL
57 |
58 |
59 | #endif /* __PJMEDIA_CODEC_G7221_SDP_MATCH_H__ */
60 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/gsm.h:
--------------------------------------------------------------------------------
1 | /* $Id: gsm.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODEC_GSM_H__
21 | #define __PJMEDIA_CODEC_GSM_H__
22 |
23 | /**
24 | * @file pjmedia-codec/gsm.h
25 | * @brief GSM 06.10 codec.
26 | */
27 |
28 | #include
29 |
30 | /**
31 | * @defgroup PJMED_GSM GSM 06.10 Codec
32 | * @ingroup PJMEDIA_CODEC_CODECS
33 | * @brief Implementation of GSM FR based on GSM 06.10 library
34 | * @{
35 | *
36 | * This section describes functions to initialize and register GSM codec
37 | * factory to the codec manager. After the codec factory has been registered,
38 | * application can use @ref PJMEDIA_CODEC API to manipulate the codec.
39 | *
40 | * The GSM codec supports 16-bit PCM with sampling rate of 8000Hz resulting
41 | * in 13.2kbps bitrate.
42 | *
43 | * \section codec_setting Codec Settings
44 | *
45 | * \subsection general_setting General Settings
46 | *
47 | * General codec settings for this codec such as VAD and PLC can be
48 | * manipulated through the setting field in #pjmedia_codec_param.
49 | * Please see the documentation of #pjmedia_codec_param for more info.
50 | *
51 | * \subsection specific_setting Codec Specific Settings
52 | *
53 | * Currently none.
54 | */
55 |
56 | PJ_BEGIN_DECL
57 |
58 |
59 | /**
60 | * Initialize and register GSM codec factory to pjmedia endpoint.
61 | *
62 | * @param endpt The pjmedia endpoint.
63 | *
64 | * @return PJ_SUCCESS on success.
65 | */
66 | PJ_DECL(pj_status_t) pjmedia_codec_gsm_init( pjmedia_endpt *endpt );
67 |
68 |
69 |
70 | /**
71 | * Unregister GSM codec factory from pjmedia endpoint and deinitialize
72 | * the GSM codec library.
73 | *
74 | * @return PJ_SUCCESS on success.
75 | */
76 | PJ_DECL(pj_status_t) pjmedia_codec_gsm_deinit(void);
77 |
78 |
79 | PJ_END_DECL
80 |
81 |
82 | /**
83 | * @}
84 | */
85 |
86 | #endif /* __PJMEDIA_CODEC_GSM_H__ */
87 |
88 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/l16.h:
--------------------------------------------------------------------------------
1 | /* $Id: l16.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CODEC_L16_H__
21 | #define __PJMEDIA_CODEC_L16_H__
22 |
23 | #include
24 |
25 |
26 | /**
27 | * @defgroup PJMED_L16 L16 Codec Family
28 | * @ingroup PJMEDIA_CODEC_CODECS
29 | * @brief Implementation of PCM/16bit/linear codecs
30 | * @{
31 | *
32 | * This section describes functions to initialize and register L16 codec
33 | * factory to the codec manager. After the codec factory has been registered,
34 | * application can use @ref PJMEDIA_CODEC API to manipulate the codec.
35 | *
36 | * Note that the L16 codec factory registers several (about fourteen!)
37 | * L16 codec types to codec manager (different combinations of clock
38 | * rate and number of channels).
39 | *
40 | * \section codec_setting Codec Settings
41 | *
42 | * \subsection general_setting General Settings
43 | *
44 | * General codec settings for this codec such as VAD and PLC can be
45 | * manipulated through the setting field in #pjmedia_codec_param.
46 | * Please see the documentation of #pjmedia_codec_param for more info.
47 | *
48 | * \subsection specific_setting Codec Specific Settings
49 | *
50 | * Currently none.
51 | */
52 |
53 | PJ_BEGIN_DECL
54 |
55 |
56 | /**
57 | * Initialize and register L16 codec factory to pjmedia endpoint.
58 | *
59 | * @param endpt The pjmedia endpoint.
60 | * @param options Must be zero for now.
61 | *
62 | * @return PJ_SUCCESS on success.
63 | */
64 | PJ_DECL(pj_status_t) pjmedia_codec_l16_init( pjmedia_endpt *endpt,
65 | unsigned options);
66 |
67 |
68 |
69 | /**
70 | * Unregister L16 codec factory from pjmedia endpoint.
71 | *
72 | * @return PJ_SUCCESS on success.
73 | */
74 | PJ_DECL(pj_status_t) pjmedia_codec_l16_deinit(void);
75 |
76 |
77 | PJ_END_DECL
78 |
79 |
80 | #endif /* __PJMEDIA_CODEC_L16_H__ */
81 |
82 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-codec/openh264.h:
--------------------------------------------------------------------------------
1 | /* $Id: openh264.h 4815 2014-04-10 10:01:07Z bennylp $ */
2 | /*
3 | * Copyright (C) 2014 Teluu Inc. (http://www.teluu.com)
4 | *
5 | * This program is free software; you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation; either version 2 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program; if not, write to the Free Software
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | */
19 | #ifndef __PJMEDIA_CODEC_OPENH264_H__
20 | #define __PJMEDIA_CODEC_OPENH264_H__
21 |
22 | #include
23 | #include
24 |
25 | /**
26 | * @file pjmedia-codec/openh264.h
27 | * @brief Open H.264 codec
28 | */
29 |
30 |
31 | PJ_BEGIN_DECL
32 |
33 | /**
34 | * @defgroup PJMEDIA_CODEC_OPENH264 Open H.264 Codec
35 | * @ingroup PJMEDIA_CODEC_VID_CODECS
36 | * @{
37 | */
38 |
39 | /**
40 | * Initialize and register OpenH264 codec factory.
41 | *
42 | * @param mgr The video codec manager instance where this codec will
43 | * be registered to. Specify NULL to use default instance
44 | * (in that case, an instance of video codec manager must
45 | * have been created beforehand).
46 | * @param pf Pool factory.
47 | *
48 | * @return PJ_SUCCESS on success.
49 | */
50 | PJ_DECL(pj_status_t) pjmedia_codec_openh264_vid_init(pjmedia_vid_codec_mgr *mgr,
51 | pj_pool_factory *pf);
52 |
53 | /**
54 | * Unregister OpenH264 video codecs factory from the video codec manager and
55 | * deinitialize the codec library.
56 | *
57 | * @return PJ_SUCCESS on success.
58 | */
59 | PJ_DECL(pj_status_t) pjmedia_codec_openh264_vid_deinit(void);
60 |
61 |
62 | /**
63 | * @} PJMEDIA_CODEC_OPENH264
64 | */
65 |
66 |
67 | PJ_END_DECL
68 |
69 | #endif /* __PJMEDIA_CODEC_OPENH264_H__ */
70 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia-videodev/opengl_dev.h:
--------------------------------------------------------------------------------
1 | /* $Id: opengl_dev.h 4821 2014-04-22 05:04:43Z ming $ */
2 | /*
3 | * Copyright (C) 2013-2014 Teluu Inc. (http://www.teluu.com)
4 | *
5 | * This program is free software; you can redistribute it and/or modify
6 | * it under the terms of the GNU General Public License as published by
7 | * the Free Software Foundation; either version 2 of the License, or
8 | * (at your option) any later version.
9 | *
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU General Public License
16 | * along with this program; if not, write to the Free Software
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 | */
19 | #ifndef PJMEDIA_VIDEODEV_OPENGL_DEV_H__
20 | #define PJMEDIA_VIDEODEV_OPENGL_DEV_H__
21 |
22 | #include
23 |
24 | /* OpenGL implementation on each platform needs to implement these functions
25 | * and stream operations.
26 | */
27 | /* Get capabilities of the implementation */
28 | int pjmedia_vid_dev_opengl_imp_get_cap(void);
29 |
30 | /* Create OpenGL stream */
31 | pj_status_t
32 | pjmedia_vid_dev_opengl_imp_create_stream(pj_pool_t *pool,
33 | pjmedia_vid_dev_param *param,
34 | const pjmedia_vid_dev_cb *cb,
35 | void *user_data,
36 | pjmedia_vid_dev_stream **p_vid_strm);
37 |
38 | /****************************************************************************/
39 | /* OpenGL buffers opaque structure. */
40 | typedef struct gl_buffers gl_buffers;
41 |
42 | /* Create OpenGL buffers. */
43 | void pjmedia_vid_dev_opengl_create_buffers(pj_pool_t *pool,
44 | gl_buffers **glb);
45 | /* Initialize OpenGL buffers. */
46 | pj_status_t pjmedia_vid_dev_opengl_init_buffers(gl_buffers *glb);
47 | /* Render a texture. */
48 | pj_status_t pjmedia_vid_dev_opengl_draw(gl_buffers *glb,
49 | unsigned int texture,
50 | unsigned int name);
51 | /* Destroy OpenGL buffers. */
52 | void pjmedia_vid_dev_opengl_destroy_buffers(gl_buffers *glb);
53 |
54 | #endif /* PJMEDIA_VIDEODEV_OPENGL_DEV_H__ */
55 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia.h:
--------------------------------------------------------------------------------
1 | /* $Id: pjmedia.h 3664 2011-07-19 03:42:28Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_H__
21 | #define __PJMEDIA_H__
22 |
23 | /**
24 | * @file pjmedia.h
25 | * @brief PJMEDIA main header file.
26 | */
27 | #include
28 | #include
29 | #include
30 | #include
31 | #include
32 | #include
33 | #include
34 | #include
35 | #include
36 | #include
37 | #include
38 | #include
39 | #include
40 | #include
41 | #include
42 | #include
43 | #include
44 | #include
45 | #include
46 | #include
47 | #include
48 | #include
49 | #include
50 | #include
51 | #include
52 | #include
53 | #include
54 | #include
55 | #include
56 | //#include
57 | #include
58 | #include
59 | #include
60 | #include
61 | #include
62 | #include
63 | #include
64 | #include
65 | #include
66 | #include
67 | #include
68 | #include
69 | #include
70 | #include
71 | #include
72 | #include
73 | #include
74 | #include
75 | #include
76 | #include
77 | #include
78 | #include
79 |
80 | #endif /* __PJMEDIA_H__ */
81 |
82 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia/bidirectional.h:
--------------------------------------------------------------------------------
1 | /* $Id: bidirectional.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_BIDIRECTIONAL_H__
21 | #define __PJMEDIA_BIDIRECTIONAL_H__
22 |
23 | /**
24 | * @file bidirectional.h
25 | * @brief Bidirectional media port.
26 | */
27 | #include
28 |
29 |
30 | /**
31 | * @defgroup PJMEDIA_BIDIRECTIONAL_PORT Bidirectional Port
32 | * @ingroup PJMEDIA_PORT
33 | * @brief A bidirectional port combines two unidirectional ports into one
34 | * bidirectional port
35 | * @{
36 | */
37 |
38 |
39 | PJ_BEGIN_DECL
40 |
41 |
42 | /**
43 | * Create bidirectional port from two unidirectional ports
44 | *
45 | * @param pool Pool to allocate memory.
46 | * @param get_port Port where get_frame() will be directed to.
47 | * @param put_port Port where put_frame() will be directed to.
48 | * @param p_port Pointer to receive the port instance.
49 | *
50 | * @return PJ_SUCCESS on success.
51 | */
52 | PJ_DECL(pj_status_t) pjmedia_bidirectional_port_create(pj_pool_t *pool,
53 | pjmedia_port *get_port,
54 | pjmedia_port *put_port,
55 | pjmedia_port **p_port );
56 |
57 |
58 |
59 | PJ_END_DECL
60 |
61 | /**
62 | * @}
63 | */
64 |
65 |
66 | #endif /* __PJMEDIA_BIDIRECTIONAL_H__ */
67 |
68 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia/config_auto.h:
--------------------------------------------------------------------------------
1 | /* pjmedia/include/pjmedia/config_auto.h. Generated from config_auto.h.in by configure. */
2 | /* $Id: config_auto.h.in 3295 2010-08-25 12:51:29Z bennylp $ */
3 | /*
4 | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
5 | * Copyright (C) 2003-2008 Benny Prijono
6 | *
7 | * This program is free software; you can redistribute it and/or modify
8 | * it under the terms of the GNU General Public License as published by
9 | * the Free Software Foundation; either version 2 of the License, or
10 | * (at your option) any later version.
11 | *
12 | * This program is distributed in the hope that it will be useful,
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 | * GNU General Public License for more details.
16 | *
17 | * You should have received a copy of the GNU General Public License
18 | * along with this program; if not, write to the Free Software
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 | */
21 | #ifndef __PJMEDIA_CONFIG_AUTO_H_
22 | #define __PJMEDIA_CONFIG_AUTO_H_
23 |
24 | /**
25 | * @file config_auto.h
26 | * @brief PJMEDIA configuration as set by autoconf script
27 | */
28 |
29 | /*
30 | * Note:
31 | * The configuration in config_site.h overrides any other settings,
32 | * including the setting as detected by autoconf.
33 | */
34 |
35 | /* G711 codec */
36 | #ifndef PJMEDIA_HAS_G711_CODEC
37 | /* #undef PJMEDIA_HAS_G711_CODEC */
38 | #endif
39 |
40 |
41 | #endif /* __PJMEDIA_CONFIG_AUTO_H_ */
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia/config_auto.h.in:
--------------------------------------------------------------------------------
1 | /* $Id: config_auto.h.in 3295 2010-08-25 12:51:29Z bennylp $ */
2 | /*
3 | * Copyright (C) 2008-2009 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_CONFIG_AUTO_H_
21 | #define __PJMEDIA_CONFIG_AUTO_H_
22 |
23 | /**
24 | * @file config_auto.h
25 | * @brief PJMEDIA configuration as set by autoconf script
26 | */
27 |
28 | /*
29 | * Note:
30 | * The configuration in config_site.h overrides any other settings,
31 | * including the setting as detected by autoconf.
32 | */
33 |
34 | /* G711 codec */
35 | #ifndef PJMEDIA_HAS_G711_CODEC
36 | #undef PJMEDIA_HAS_G711_CODEC
37 | #endif
38 |
39 |
40 | #endif /* __PJMEDIA_CONFIG_AUTO_H_ */
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/SimpleSipPhone/SimpleSipPhone/PJSIP/includes/pjmedia/pjmedia/echo_port.h:
--------------------------------------------------------------------------------
1 | /* $Id: echo_port.h 3553 2011-05-05 06:14:19Z nanang $ */
2 | /*
3 | * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
4 | * Copyright (C) 2003-2008 Benny Prijono
5 | *
6 | * This program is free software; you can redistribute it and/or modify
7 | * it under the terms of the GNU General Public License as published by
8 | * the Free Software Foundation; either version 2 of the License, or
9 | * (at your option) any later version.
10 | *
11 | * This program is distributed in the hope that it will be useful,
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | * GNU General Public License for more details.
15 | *
16 | * You should have received a copy of the GNU General Public License
17 | * along with this program; if not, write to the Free Software
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 | */
20 | #ifndef __PJMEDIA_AEC_PORT_H__
21 | #define __PJMEDIA_AEC_PORT_H__
22 |
23 | /**
24 | * @file echo_port.h
25 | * @brief AEC (Accoustic Echo Cancellation) media port.
26 | */
27 | #include