summaryrefslogtreecommitdiff
path: root/pjsip-apps
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-12-01 09:07:42 +0000
committerBenny Prijono <bennylp@teluu.com>2007-12-01 09:07:42 +0000
commitbc55c71825d90221c8214e51eca3cf34ea7852f9 (patch)
treec07e58e663be9f37d25f16486fe38ab85288f743 /pjsip-apps
parent7dfeb3577e483d8b9d9a9c6306ecf8f53060d103 (diff)
Added strerror.c sample and adjusted code because of IPv6 support in pjlib
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1605 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip-apps')
-rw-r--r--pjsip-apps/build/Samples-vc.mak1
-rw-r--r--pjsip-apps/build/Samples.mak1
-rw-r--r--pjsip-apps/build/samples.dsp4
-rw-r--r--pjsip-apps/build/samples.vcproj4
-rw-r--r--pjsip-apps/src/samples/proxy.h14
-rw-r--r--pjsip-apps/src/samples/strerror.c70
6 files changed, 87 insertions, 7 deletions
diff --git a/pjsip-apps/build/Samples-vc.mak b/pjsip-apps/build/Samples-vc.mak
index bd8d6d4f..9e7b5d4d 100644
--- a/pjsip-apps/build/Samples-vc.mak
+++ b/pjsip-apps/build/Samples-vc.mak
@@ -65,6 +65,7 @@ SAMPLES = $(BINDIR)\confsample.exe \
$(BINDIR)\stateful_proxy.exe \
$(BINDIR)\stateless_proxy.exe \
$(BINDIR)\streamutil.exe \
+ $(BINDIR)\strerror.exe \
$(BINDIR)\tonegen.exe
diff --git a/pjsip-apps/build/Samples.mak b/pjsip-apps/build/Samples.mak
index bf0b451c..a6eca7be 100644
--- a/pjsip-apps/build/Samples.mak
+++ b/pjsip-apps/build/Samples.mak
@@ -29,6 +29,7 @@ SAMPLES := confsample \
stateful_proxy \
stateless_proxy \
streamutil \
+ strerror \
tonegen
EXES := $(foreach file, $(SAMPLES), $(BINDIR)/$(file)-$(TARGET_NAME)$(HOST_EXE))
diff --git a/pjsip-apps/build/samples.dsp b/pjsip-apps/build/samples.dsp
index bf31a83b..c94b4940 100644
--- a/pjsip-apps/build/samples.dsp
+++ b/pjsip-apps/build/samples.dsp
@@ -170,6 +170,10 @@ SOURCE=..\src\samples\streamutil.c
# End Source File
# Begin Source File
+SOURCE=..\src\samples\strerror.c
+# End Source File
+# Begin Source File
+
SOURCE=..\src\samples\tonegen.c
# End Source File
# Begin Source File
diff --git a/pjsip-apps/build/samples.vcproj b/pjsip-apps/build/samples.vcproj
index 986dacbd..74891653 100644
--- a/pjsip-apps/build/samples.vcproj
+++ b/pjsip-apps/build/samples.vcproj
@@ -150,6 +150,10 @@
>
</File>
<File
+ RelativePath="..\src\samples\strerror.c"
+ >
+ </File>
+ <File
RelativePath="..\src\samples\tonegen.c"
>
</File>
diff --git a/pjsip-apps/src/samples/proxy.h b/pjsip-apps/src/samples/proxy.h
index 282092d8..dd18cac6 100644
--- a/pjsip-apps/src/samples/proxy.h
+++ b/pjsip-apps/src/samples/proxy.h
@@ -235,8 +235,8 @@ static pj_status_t init_stack(void)
static pj_status_t init_proxy(void)
{
- pj_in_addr pri_addr;
- pj_in_addr addr_list[16];
+ pj_sockaddr pri_addr;
+ pj_sockaddr addr_list[16];
unsigned addr_cnt = PJ_ARRAY_SIZE(addr_list);
unsigned i;
@@ -250,22 +250,22 @@ static pj_status_t init_proxy(void)
/* The first address is important since this would be the one
* to be added in Record-Route.
*/
- if (pj_gethostip(&pri_addr)==PJ_SUCCESS) {
+ if (pj_gethostip(pj_AF_INET(), &pri_addr)==PJ_SUCCESS) {
pj_strdup2(global.pool, &global.name[global.name_cnt].host,
- pj_inet_ntoa(pri_addr));
+ pj_inet_ntoa(pri_addr.ipv4.sin_addr));
global.name[global.name_cnt].port = global.port;
global.name_cnt++;
}
/* Get the rest of IP interfaces */
- if (pj_enum_ip_interface(&addr_cnt, addr_list) == PJ_SUCCESS) {
+ if (pj_enum_ip_interface(pj_AF_INET(), &addr_cnt, addr_list) == PJ_SUCCESS) {
for (i=0; i<addr_cnt; ++i) {
- if (addr_list[i].s_addr == pri_addr.s_addr)
+ if (addr_list[i].ipv4.sin_addr.s_addr == pri_addr.ipv4.sin_addr.s_addr)
continue;
pj_strdup2(global.pool, &global.name[global.name_cnt].host,
- pj_inet_ntoa(addr_list[i]));
+ pj_inet_ntoa(addr_list[i].ipv4.sin_addr));
global.name[global.name_cnt].port = global.port;
global.name_cnt++;
}
diff --git a/pjsip-apps/src/samples/strerror.c b/pjsip-apps/src/samples/strerror.c
new file mode 100644
index 00000000..120d51d8
--- /dev/null
+++ b/pjsip-apps/src/samples/strerror.c
@@ -0,0 +1,70 @@
+/* $Id$ */
+/*
+ * Copyright (C) 2003-2007 Benny Prijono <benny@prijono.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+/**
+ * \page page_strerror_c Samples: Print out error message
+ *
+ * This file is pjsip-apps/src/samples/strerror.c
+ *
+ * \includelineno strerror.c
+ */
+
+
+#include <pjlib.h>
+#include <pjlib-util.h>
+#include <pjsip.h>
+#include <pjmedia.h>
+#include <pjnath.h>
+#include <pjsip_simple.h>
+
+/*
+ * main()
+ */
+int main(int argc, char *argv[])
+{
+ pj_caching_pool cp;
+ pjmedia_endpt *med_ept;
+ pjsip_endpoint *sip_ept;
+ char errmsg[PJ_ERR_MSG_SIZE];
+ pj_status_t code;
+
+ if (argc != 2) {
+ puts("Usage: strerror ERRNUM");
+ return 1;
+ }
+
+ pj_log_set_level(3);
+
+ pj_init();
+ pj_caching_pool_init(&cp, NULL, 0);
+ pjlib_util_init();
+ pjnath_init();
+ pjmedia_endpt_create(&cp.factory, NULL, 0, &med_ept);
+ pjsip_endpt_create(&cp.factory, "localhost", &sip_ept);
+ pjsip_evsub_init_module(sip_ept);
+
+ code = atoi(argv[1]);
+ pj_strerror(code, errmsg, sizeof(errmsg));
+
+ printf("Status %d: %s\n", code, errmsg);
+
+ pj_shutdown();
+ return 0;
+}
+