Date: Fri, 16 Jun 2000 11:13:25 -0500 From: "Yonny Cardenas B." <ycardena@yahoo.com> To: hackersBSD <hackers@FreeBSD.ORG> Cc: questions <questions@FreeBSD.ORG>, German Vega <gvega@uniandes.edu.co> Subject: RTP as system calls. Message-ID: <394A5225.AF165842@yahoo.com>
next in thread | raw e-mail | index | archive | help
Hello I want you to ask a favor. I'm incorporating the Real Time Transport Protocol(RTP) to FreeBSD Kernel. I want use the RTP Library API developed by Lucent http://www.cs.columbia.edu/~hgs/rtplib/rtplib-1.0a1/rtp_api.html First, I want try if this API can be add to Kernel as system calls. I know this a little crazy but I think that is possible, with corrections of course. I compiled with the Kernel this APIs without problems. But I have problems linking kernel. The following message is show it: cc -c -O -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -fformat-extensions -ansi -nostdinc -I- -I. -I../.. -I/usr/include -D_KERNEL -include opt_global.h -elf -mpreferred-stack-boundary=2 vers.c linking kernel init_sysent.o(.data+0xb8c): undefined reference to `RTPSend' init_sysent.o(.data+0xc0c): undefined reference to `RTPSchedule' rtp_unix.o: In function `_sys_bind': rtp_unix.o(.text+0x141): undefined reference to `__error' rtp_unix.o: In function `_sys_send': rtp_unix.o(.text+0x1c8): undefined reference to `send' rtp_unix.o: In function `random32': rtp_unix.o(.text+0x23d): undefined reference to `clock' rtp_unix.o(.text+0x253): undefined reference to `gethostid' I don't understand the message "undefined reference to", for example the function "send" is a socket API. In the file rtp_unix.c you can see: #include <sys/types.h> #include <sys/socket.h> ... int _sys_send(socktype skt, char *buf, int buflen, int flags) { int res; res = send(skt, buf, buflen, flags); return(res); } In the Kernel Makefile: rtp_unix.o: $S/kern/rtp/rtp_unix.c ${NORMAL_C} In the RTPLibrary Makefile: rtp_unix.o: rtp_unix.c rtp_unix.h rtp_api.h sysdep.h config.h I have some questions: 1) Can I call functions level's user into kernel, as socket() or calloc() ? 2) How must I use the global variable "errno" for value returned for system calls ? Is sufficient with #include <sys/errno.h> ? 3) How can I solve above linking errors. Thanks for your help. +------------------------------------------------------------------+ | YONNY CARDENAS B. Apartado Aereo 22828 | | Systems Engineer Santafe de Bogota D.C. | | Colombia - South America | | Student M.Sc. Tels: +571 6095477 | | UNIVERSIDAD DE LOS ANDES mailto: y-carden@uniandes.edu.co | | ycardena@yahoo.com | +------------------------------------------------------------------+ UNIX is BSD, and FreeBSD is an advanced 4.4BSD To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?394A5225.AF165842>