[Asterisk-Dev] FreeBSD port

Andreas Wrede andreas at planix.com
Sat Sep 13 18:42:19 MST 2003


On Sat, 13 Sep 2003, Tilghman Lesher wrote:

> On Saturday 13 September 2003 15:10, Brad Waite wrote:
> > I've perused the list archives and there's several mentions of
> > successful ports to FreeBSD.  Where can I get the patches/ports?
>
> Didn't take me much to get it to compile and run on FreeBSD (patch
> attached).  It may, however, take a bit more effort to get everything to
> work correctly.  Obviously, I've tried no calls.

Attached is a patch for asterisk on NetBSD -current, ie. NetBSD
pre-2.0 (1.6Z in fact), not the 1.6 release. With the patch applied, I
can make and receive call on the console (chan_oss), as well as via
chan_h323 and chan_iax. Using IAX to 'switch' in another (Linux-based)
asterisk server also works. The patch contains a couple of NetBSD-isms
which I don't have time to generalize at the movement.

Hope this helps someone..

-- 
    - aew
-------------- next part --------------
? cscope.out
? cvsupdate.log
? d1
Index: Makefile
===================================================================
RCS file: /usr/cvsroot/asterisk/Makefile,v
retrieving revision 1.24
diff -u -u -r1.24 Makefile
--- Makefile	19 Aug 2003 16:42:30 -0000	1.24
+++ Makefile	14 Sep 2003 01:54:26 -0000
@@ -21,6 +21,10 @@
 ifeq (${OSARCH},Linux)
 PROC=$(shell uname -m)
 endif
+ifeq (${OSARCH},NetBSD)
+PROC=$(shell uname -m)
+endif
+
 # Pentium Pro Optimize
 #PROC=i686
 
@@ -93,7 +97,12 @@
 MODULES_DIR=$(ASTLIBDIR)/modules
 AGI_DIR=$(ASTVARLIBDIR)/agi-bin
 
-INCLUDE=-Iinclude -I../include
+ifeq (${OSARCH},Linux)
+INCLUDE=-Iinclude -I../include 
+endif
+ifeq (${OSARCH},NetBSD)
+INCLUDE=-Iinclude -I../include -I/usr/pkg/include/bind -I/usr/pkg/include 
+endif
 CFLAGS=-pipe  -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(DEBUG) $(INCLUDE) -D_REENTRANT -D_GNU_SOURCE #-DMAKE_VALGRIND_HAPPY
 CFLAGS+=$(OPTIMIZE)
 CFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
@@ -129,17 +138,23 @@
 CFLAGS+=# -fomit-frame-pointer 
 SUBDIRS=res channels pbx apps codecs formats agi cdr astman
 ifeq (${OSARCH},Linux)
-LIBS=-ldl
+LIBS=-ldl -lpthread -lncurses -lm -lresolv  #-lnjamd
+MAKE=make
+CC=gcc
+INSTALL=install
+endif
+ifeq (${OSARCH},NetBSD)
+LIBS=-lpthread -lossaudio -L/usr/pkg/lib -lncurses -lm -lbind
+MAKE=gmake
+CC=cc
+INSTALL=install -c
 endif
-LIBS+=-lpthread -lncurses -lm -lresolv  #-lnjamd
 OBJS=io.o sched.o logger.o frame.o loader.o config.o channel.o \
 	translate.o file.o say.o pbx.o cli.o md5.o term.o \
 	ulaw.o alaw.o callerid.o fskmodem.o image.o app.o \
 	cdr.o tdd.o acl.o rtp.o manager.o asterisk.o ast_expr.o \
 	dsp.o chanvars.o indications.o autoservice.o db.o privacy.o \
 	astmm.o enum.o srv.o
-CC=gcc
-INSTALL=install
 
 _all: all
 	@echo " +--------- Asterisk Build Complete ---------+"  
@@ -215,7 +230,7 @@
 	mkdir -p $(ASTVARLIBDIR)/sounds/digits
 	for x in sounds/digits/*.gsm; do \
 		if grep -q "^%`basename $$x`%" sounds.txt; then \
-			install $$x $(ASTVARLIBDIR)/sounds/digits ; \
+			${INSTALL} $$x $(ASTVARLIBDIR)/sounds/digits ; \
 		else \
 			echo "No description for $$x"; \
 			exit 1; \
@@ -223,7 +238,7 @@
 	done
 	for x in sounds/vm-* sounds/transfer* sounds/pbx-* sounds/ss-* sounds/beep* sounds/dir-* sounds/conf-* sounds/agent-* sounds/invalid* sounds/tt-* sounds/auth-* sounds/privacy-*; do \
 		if grep -q "^%`basename $$x`%" sounds.txt; then \
-			install $$x $(ASTVARLIBDIR)/sounds ; \
+			${INSTALL} $$x $(ASTVARLIBDIR)/sounds ; \
 		else \
 			echo "No description for $$x"; \
 			exit 1; \
@@ -232,7 +247,7 @@
 	mkdir -p $(ASTVARLIBDIR)/mohmp3
 	mkdir -p $(ASTVARLIBDIR)/images
 	for x in images/*.jpg; do \
-		install $$x $(ASTVARLIBDIR)/images ; \
+		${INSTALL} $$x $(ASTVARLIBDIR)/images ; \
 	done
 	mkdir -p $(AGI_DIR)
 
@@ -253,12 +268,12 @@
 	mkdir -p $(ASTSBINDIR)
 	mkdir -p $(ASTVARRUNDIR)
 	mkdir -p $(ASTSPOOLDIR)/voicemail
-	install -m 755 asterisk $(ASTSBINDIR)/
-	install -m 755 astgenkey $(ASTSBINDIR)/
-	install -m 755 safe_asterisk $(ASTSBINDIR)/
+	${INSTALL} -m 755 asterisk $(ASTSBINDIR)/
+	${INSTALL} -m 755 astgenkey $(ASTSBINDIR)/
+	${INSTALL} -m 755 safe_asterisk $(ASTSBINDIR)/
 	for x in $(SUBDIRS); do $(MAKE) -C $$x install || exit 1 ; done
-	install -d $(ASTHEADERDIR)
-	install include/asterisk/*.h $(ASTHEADERDIR)
+	${INSTALL} -d $(ASTHEADERDIR)
+	${INSTALL} include/asterisk/*.h $(ASTHEADERDIR)
 	rm -f $(ASTVARLIBDIR)/sounds/vm
 	rm -f $(ASTVARLIBDIR)/sounds/voicemail
 	if [ ! -h $(ASTSPOOLDIR)/vm ] && [ -d $(ASTSPOOLDIR)/vm ]; then \
@@ -273,7 +288,7 @@
 	mkdir -p $(ASTVARLIBDIR)/sounds
 	mkdir -p $(ASTLOGDIR)/cdr-csv
 	mkdir -p $(ASTVARLIBDIR)/keys
-	install -m 644 keys/iaxtel.pub $(ASTVARLIBDIR)/keys
+	${INSTALL} -m 644 keys/iaxtel.pub $(ASTVARLIBDIR)/keys
 	( cd $(ASTVARLIBDIR)/sounds  ; ln -s $(ASTSPOOLDIR)/vm . )
 	( cd $(ASTVARLIBDIR)/sounds  ; ln -s $(ASTSPOOLDIR)/voicemail . )
 	@echo " +---- Asterisk Installation Complete -------+"  
@@ -306,7 +321,7 @@
 	mkdir -p $(ASTETCDIR)
 	for x in configs/*.adsi; do \
 		if ! [ -f $(ASTETCDIRX)/$$x ]; then \
-			install -m 644 $$x $(ASTETCDIR)/`basename $$x` ; \
+			${INSTALL} -m 644 $$x $(ASTETCDIR)/`basename $$x` ; \
 		fi ; \
 	done
 
@@ -316,7 +331,7 @@
 		if [ -f $(ASTETCDIR)/`basename $$x .sample` ]; then \
 			mv -f $(ASTETCDIR)/`basename $$x .sample` $(ASTETCDIR)/`basename $$x .sample`.old ; \
 		fi ; \
-		install $$x $(ASTETCDIR)/`basename $$x .sample` ;\
+		${INSTALL} $$x $(ASTETCDIR)/`basename $$x .sample` ;\
 	done
 	echo "[directories]" > $(ASTETCDIR)/asterisk.conf
 	echo "astetcdir => $(ASTETCDIR)" >> $(ASTETCDIR)/asterisk.conf
@@ -328,14 +343,14 @@
 	echo "astlogdir => $(ASTLOGDIR)" >> $(ASTETCDIR)/asterisk.conf
 	for x in sounds/demo-*; do \
 		if grep -q "^%`basename $$x`%" sounds.txt; then \
-			install $$x $(ASTVARLIBDIR)/sounds ; \
+			${INSTALL} $$x $(ASTVARLIBDIR)/sounds ; \
 		else \
 			echo "No description for $$x"; \
 			exit 1; \
 		fi; \
 	done
 	for x in sounds/*.mp3; do \
-		install $$x $(ASTVARLIBDIR)/mohmp3 ; \
+		${INSTALL} $$x $(ASTVARLIBDIR)/mohmp3 ; \
 	done
 	mkdir -p $(ASTSPOOLDIR)/voicemail/default/1234/INBOX
 	:> $(ASTVARLIBDIR)/sounds/voicemail/default/1234/unavail.gsm
@@ -351,10 +366,10 @@
 	@[ -d $(HTTPDIR) ] || ( echo "No HTTP directory" && exit 1 )
 	@[ -d $(HTTPDIR)/html ] || ( echo "No http directory" && exit 1 )
 	@[ -d $(HTTPDIR)/cgi-bin ] || ( echo "No cgi-bin directory" && exit 1 )
-	install -m 4755 -o root -g root vmail.cgi $(HTTPDIR)/cgi-bin/vmail.cgi
+	${INSTALL} -m 4755 -o root -g root vmail.cgi $(HTTPDIR)/cgi-bin/vmail.cgi
 	mkdir -p $(HTTPDIR)/html/_asterisk
 	for x in images/*.gif; do \
-		install -m 644 $$x $(HTTPDIR)/html/_asterisk/; \
+		${INSTALL} -m 644 $$x $(HTTPDIR)/html/_asterisk/; \
 	done
 	@echo " +--------- Asterisk Web Voicemail ----------+"  
 	@echo " +                                           +"
@@ -390,10 +405,10 @@
 
 config:
 	if [ -d /etc/rc.d/init.d ]; then \
-		install -m 755 init.asterisk /etc/rc.d/init.d/asterisk; \
+		${INSTALL} -m 755 init.asterisk /etc/rc.d/init.d/asterisk; \
 		/sbin/chkconfig --add asterisk; \
 	elif [ -d /etc/init.d ]; then \
-		install -m 755 init.asterisk /etc/init.d/asterisk; \
+		${INSTALL} -m 755 init.asterisk /etc/init.d/asterisk; \
 	fi 
 
 	
Index: apps/app_voicemail2.c
===================================================================
RCS file: /usr/cvsroot/asterisk/apps/app_voicemail2.c,v
retrieving revision 1.42
diff -u -u -r1.42 app_voicemail2.c
--- apps/app_voicemail2.c	16 Aug 2003 17:40:39 -0000	1.42
+++ apps/app_voicemail2.c	14 Sep 2003 01:54:28 -0000
@@ -42,6 +42,17 @@
 #include "../asterisk.h"
 #include "../astconf.h"
 
+#ifndef strdupa
+#define strdupa(s)                                                           \
+  (__extension__                                                              \
+    ({                                                                        \
+      __const char *__old = (s);                                              \
+      size_t __len = strlen (__old) + 1;                                      \
+      char *__new = (char *) __builtin_alloca (__len);                        \
+      (char *) memcpy (__new, __old, __len);                                  \
+    }))
+#endif
+
 #define COMMAND_TIMEOUT 5000
 
 #define VOICEMAIL_CONFIG "voicemail.conf"
Index: channels/Makefile
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/Makefile,v
retrieving revision 1.9
diff -u -u -r1.9 Makefile
--- channels/Makefile	19 Aug 2003 16:42:30 -0000	1.9
+++ channels/Makefile	14 Sep 2003 01:54:28 -0000
@@ -11,6 +11,22 @@
 # the GNU General Public License
 #
 
+ifndef OSTYPE
+OSTYPE := $(shell uname -s)
+endif
+
+ifeq ($(OSTYPE),Linux)
+OSTYPE   := linux
+CFLAGS += -DP_LINUX
+EXTARLIBS=-ldl
+endif
+
+ifeq ($(OSTYPE),NetBSD)
+OSRELEASE   := $(shell /sbin/sysctl -n kern.osrevision)
+CFLAGS += -DP_NETBSD=$(OSRELEASE)
+EXTARLIBS=
+endif
+
 OSARCH=$(shell uname -s)
 
 CHANNEL_LIBS=chan_modem.so chan_iax.so chan_sip.so \
@@ -108,7 +124,7 @@
 
 
 chan_alsa.so: chan_alsa.o
-	$(CC) -shared -Xlinker -x -o $@ $< -lasound -lm -ldl
+	$(CC) -shared -Xlinker -x -o $@ $< -lasound -lm $(EXTRALIBS)
 
 chan_nbs.so: chan_nbs.o
 	$(CC) -shared -Xlinker -x -o $@ $< -lnbs
@@ -117,10 +133,10 @@
 	$(CXX) -c $(CFLAGS) -o $@ chan_vpb.c
 
 chan_vpb.so: chan_vpb.o
-	 $(CXX) -shared -Xlinker -x -o $@ $< -lvpb -lpthread -lm -ldl
+	 $(CXX) -shared -Xlinker -x -o $@ $< -lvpb -lpthread -lm $(EXTRALIBS)
 
 chan_h323.so: chan_h323.o h323/libchanh323.a
-	$(CC) -shared -Xlinker -x -o $@ $< h323/libchanh323.a -L$(PWLIBDIR)/lib  -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat
+	$(CC) -shared -Xlinker -x -o $@ $< h323/libchanh323.a -L$(PWLIBDIR)/lib  -lpt_$(OSTYPE)_x86_r -L$(OPENH323DIR)/lib -lh323_$(OSTYPE)_x86_r -L/usr/lib -lpthread $(EXTRALIBS) -lcrypto -lssl -L/usr/pkg/lib -lexpat
 
 
 #chan_modem.so : chan_modem.o
Index: channels/chan_h323.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_h323.c,v
retrieving revision 1.1
diff -u -u -r1.1 chan_h323.c
--- channels/chan_h323.c	16 Aug 2003 17:00:22 -0000	1.1
+++ channels/chan_h323.c	14 Sep 2003 01:54:28 -0000
@@ -28,7 +28,12 @@
 
 #include <stdio.h>
 #include <pthread.h>
+#include <signal.h>
 #include <string.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <unistd.h>
+
 #include <asterisk/lock.h>
 #include <asterisk/logger.h>
 #include <asterisk/channel.h>
@@ -48,11 +53,11 @@
 #include <sys/socket.h>
 #include <net/if.h>
 #include <errno.h>
-#include <unistd.h>
 #include <stdlib.h>
 #include <fcntl.h>
 #include <netdb.h>
 #include <sys/signal.h>
+#include <netinet/in_systm.h>
 #include <netinet/ip.h>
 
 
Index: channels/chan_iax.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_iax.c,v
retrieving revision 1.12
diff -u -u -r1.12 chan_iax.c
--- channels/chan_iax.c	16 Aug 2003 05:10:35 -0000	1.12
+++ channels/chan_iax.c	14 Sep 2003 01:54:30 -0000
@@ -35,7 +35,7 @@
 #include <netinet/in_systm.h>
 #include <netinet/ip.h>
 #include <sys/time.h>
-#include <sys/signal.h>
+#include <signal.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -4335,6 +4335,7 @@
 		}
 		ast_mutex_unlock(&peerl.lock);
  	} else {
+/*AEW		ast_pthread_mutex_unlock(&peerl.lock);   */
 		ast_mutex_unlock(&peerl.lock);
 		peer = malloc(sizeof(struct iax_peer));
 		memset(peer, 0, sizeof(struct iax_peer));
Index: channels/chan_iax2.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_iax2.c,v
retrieving revision 1.38
diff -u -u -r1.38 chan_iax2.c
--- channels/chan_iax2.c	16 Aug 2003 05:10:35 -0000	1.38
+++ channels/chan_iax2.c	14 Sep 2003 01:54:33 -0000
@@ -37,7 +37,7 @@
 #include <netinet/in_systm.h>
 #include <netinet/ip.h>
 #include <sys/time.h>
-#include <sys/signal.h>
+#include <signal.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
@@ -5600,6 +5600,7 @@
 	ast_mutex_init(&iaxq.lock);
 	ast_mutex_init(&userl.lock);
 	ast_mutex_init(&peerl.lock);
+	ast_mutex_init(&dpcache_lock);
 
 	ast_cli_register(&cli_show_users);
 	ast_cli_register(&cli_show_channels);
Index: channels/chan_oss.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_oss.c,v
retrieving revision 1.6
diff -u -u -r1.6 chan_oss.c
--- channels/chan_oss.c	13 Aug 2003 15:25:16 -0000	1.6
+++ channels/chan_oss.c	14 Sep 2003 01:54:33 -0000
@@ -35,17 +35,16 @@
 #include <stdio.h>
 #ifdef __linux
 #include <linux/soundcard.h>
+#define DEV_DSP "/dev/dsp"
 #else
 #include <soundcard.h>
+#define DEV_DSP "/dev/sound"
 #endif
 #include "busy.h"
 #include "ringtone.h"
 #include "ring10.h"
 #include "answer.h"
 
-/* Which device to use */
-#define DEV_DSP "/dev/dsp"
-
 /* Lets use 160 sample frames, just like GSM.  */
 #define FRAME_SIZE 160
 
@@ -364,7 +363,7 @@
 		return 0;
 	readmode = 0;
 	if (force || time_has_passed()) {
-		ioctl(sounddev, SNDCTL_DSP_RESET);
+		ioctl(sounddev, SNDCTL_DSP_RESET, NULL);
 		/* Keep the same fd reserved by closing the sound device and copying stdin at the same
 		   time. */
 		/* dup2(0, sound); */ 
@@ -394,7 +393,7 @@
 		return 0;
 	readmode = -1;
 	if (force || time_has_passed()) {
-		ioctl(sounddev, SNDCTL_DSP_RESET);
+		ioctl(sounddev, SNDCTL_DSP_RESET, NULL);
 		close(sounddev);
 		/* dup2(0, sound); */
 		fd = open(DEV_DSP, O_RDONLY | O_NONBLOCK);
Index: channels/h323/Makefile
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/h323/Makefile,v
retrieving revision 1.8
diff -u -u -r1.8 Makefile
--- channels/h323/Makefile	16 Aug 2003 16:55:19 -0000	1.8
+++ channels/h323/Makefile	14 Sep 2003 01:54:33 -0000
@@ -16,6 +16,21 @@
 ASTETCDIR=/etc/asterisk
 endif
 
+ifndef OSTYPE
+OSTYPE := $(shell uname -s)
+endif
+
+ifeq ($(OSTYPE),Linux)
+OSTYPE   := linux
+CFLAGS += -DP_LINUX
+endif
+
+ifeq ($(OSTYPE),NetBSD)
+OSRELEASE   := $(shell /sbin/sysctl -n kern.osrevision)
+CFLAGS += -DP_NETBSD=$(OSRELEASE)
+endif
+
+
 # Uncomment if u want to attempt to include the G.729 stuff
 # This is a quick fix to work around the missing H323Capability
 # in Open H.323. As of Open H.323 1.12.0 the H323Capability for
@@ -32,9 +47,9 @@
 #
 # Only change below if you know WTF your doing
 #
-CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
+# CFLAGS += -DNDEBUG -DDO_CRASH -DDEBUG_THREADS
 CFLAGS += -pipe -Wall -fPIC -Wmissing-prototypes -Wmissing-declarations 
-CFLAGS += -DP_LINUX  -D_REENTRANT -D_GNU_SOURCE
+CFLAGS += -D_REENTRANT -D_GNU_SOURCE
 CFLAGS += -DP_HAS_SEMAPHORES -DP_SSL -DP_PTHREADS
 CFLAGS += -DPHAS_TEMPLATES -DPTRACING -DP_USE_PRAGMA
 CFLAGS += -I../../include
@@ -46,7 +61,7 @@
 
 
 install: all
-	install -m 755 chan_h323.so $(ASTERISKDIR)
+	install -c -m 755 chan_h323.so $(ASTERISKDIR)
 	@echo " + ---- chan_h323 Installation Complete ----- +"
 	@echo " +                                            +"
 	@echo " + chan_h323 has successfully been installed. +"
@@ -64,7 +79,7 @@
 	if [ -f $(ASTETCDIR)/h323.conf ]; then \
 		mv -f $(ASTETCDIR)/h323.conf $(ASTETCDIR)/h323.conf.old ; \
 	fi ; 
-	install h323.conf.sample $(ASTETCDIR)/h323.conf
+	install -c h323.conf.sample $(ASTETCDIR)/h323.conf
  
 
 ast_h323.o:	ast_h323.cpp
@@ -74,13 +89,13 @@
 	ar cr libchanh323.a ast_h323.o
 
 chan_h323.so:	
-	g++  -g -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib  -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat
+	g++  -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib  -lpt_linux_x86_r -L$(OPENH323DIR)/lib -lh323_linux_x86_r -L/usr/lib -lpthread -ldl -lcrypto -lssl -L/usr/pkg/lib -lexpat
 
 chan_h323_d.so:	chan_h323.o ast_h323.o
-	g++  -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib  -lpt_linux_x86_d -L$(OPENH323DIR)/lib -lh323_linux_x86_d -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat
+	g++  -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib  -lpt_$(OSTYPE)_x86_d -L$(OPENH323DIR)/lib -lh323_$(OSTYPE)_x86_d -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat
 
 chan_h323_s.so:	chan_h323.o ast_h323.o
-	g++  -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib  -lpt_linux_x86_r_s -L$(OPENH323DIR)/lib -lh323_linux_x86_r_s -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat
+	g++  -shared -Xlinker -x -o chan_h323.so chan_h323.o ast_h323.o -L$(PWLIBDIR)/lib  -lpt_$(OSTYPE)_x86_r_s -L$(OPENH323DIR)/lib -lh323_$(OSTYPE)_x86_r_s -L/usr/lib -lpthread -ldl -lcrypto -lssl -lexpat
 clean:
 	rm -f *.o *.so core.*
 
Index: channels/h323/ast_h323.h
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/h323/ast_h323.h,v
retrieving revision 1.8
diff -u -u -r1.8 ast_h323.h
--- channels/h323/ast_h323.h	14 Aug 2003 08:02:33 -0000	1.8
+++ channels/h323/ast_h323.h	14 Sep 2003 01:54:33 -0000
@@ -31,6 +31,8 @@
 #include <h323pdu.h>
 #include <mediafmt.h>
 #include <lid.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
 
 #include <list>
 #include <string>
Index: channels/h323/chan_h323.h
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/h323/chan_h323.h,v
retrieving revision 1.8
diff -u -u -r1.8 chan_h323.h
--- channels/h323/chan_h323.h	23 Jul 2003 02:27:44 -0000	1.8
+++ channels/h323/chan_h323.h	14 Sep 2003 01:54:33 -0000
@@ -27,6 +27,12 @@
 
 #include <arpa/inet.h>
 
+#ifdef P_NETBSD
+#include <netinet/ip.h>
+#define IPTOS_LOWCOST			0x02
+#define IPTOS_MINCOST           IPTOS_LOWCOST
+#endif
+
 static struct sockaddr_in bindaddr;
 
 /* structure to hold the valid asterisk users */
Index: codecs/lpc10/lpc10.h
===================================================================
RCS file: /usr/cvsroot/asterisk/codecs/lpc10/lpc10.h,v
retrieving revision 1.2
diff -u -u -r1.2 lpc10.h
--- codecs/lpc10/lpc10.h	23 Apr 2003 19:13:35 -0000	1.2
+++ codecs/lpc10/lpc10.h	14 Sep 2003 01:54:33 -0000
@@ -35,7 +35,7 @@
 
  */
 
-#if defined(unix) || defined(__unix__)
+#if defined(unix) || defined(__unix__) || defined(__NetBSD__)
 typedef short		INT16;
 typedef int		INT32;
 #endif
Index: include/asterisk/channel.h
===================================================================
RCS file: /usr/cvsroot/asterisk/include/asterisk/channel.h,v
retrieving revision 1.17
diff -u -u -r1.17 channel.h
--- include/asterisk/channel.h	13 Aug 2003 15:25:16 -0000	1.17
+++ include/asterisk/channel.h	14 Sep 2003 01:54:34 -0000
@@ -14,6 +14,10 @@
 #ifndef _ASTERISK_CHANNEL_H
 #define _ASTERISK_CHANNEL_H
 
+#include <sys/types.h>
+#include <sys/time.h>
+#include <unistd.h>
+
 #include <asterisk/frame.h>
 #include <asterisk/sched.h>
 #include <asterisk/chanvars.h>
Index: include/asterisk/frame.h
===================================================================
RCS file: /usr/cvsroot/asterisk/include/asterisk/frame.h,v
retrieving revision 1.11
diff -u -u -r1.11 frame.h
--- include/asterisk/frame.h	19 Aug 2003 06:06:50 -0000	1.11
+++ include/asterisk/frame.h	14 Sep 2003 01:54:34 -0000
@@ -26,7 +26,7 @@
 #ifndef __BYTE_ORDER
 #ifdef __linux__
 #include <endian.h>
-#elif defined(__OpenBSD__)
+#elif defined(__OpenBSD__) || defined(__NetBSD__)
 #include <machine/endian.h>
 #define __BYTE_ORDER BYTE_ORDER
 #define __LITTLE_ENDIAN LITTLE_ENDIAN


More information about the asterisk-dev mailing list