Re: sockets in kernel
Re: sockets in kernel
- Subject: Re: sockets in kernel
- From: Terry Lambert <email@hidden>
- Date: Wed, 5 Jul 2006 14:49:05 -0700
On Jul 5, 2006, at 6:14 AM, sanjay yaragatti wrote:
I am trying to load the kext using kextload cmd.But
not able to do it.Getting some errors like undefined
symbols.Here is the errors what i got..... I have
included the <sys/kpi_socket.h> header file in which
the api's like sock_bind(),sock_close(),sock_connect()
etc are defined.Have also included the kernel
framework. Is there anything else i need to do??
Please let me know.
-------------------------------------
kextload -t firstIOKit.kext/
kextload: extension firstIOKit.kext/ appears to be
valid
kextload: notice: extension firstIOKit.kext/ has debug
properties set
kld(): Undefined symbols:
___floatsidf
___gedf2
These are because you are using floating point, and some types of
conversions expect a libgcc builtin, but that builtin is not available
when linking against the kernel. In general, you should avoid
floating point in the kernel so that we can continue to do lazy FPU
spills, which enables us to context switch processes faster than we
would otherwise be able to, if we had to spill the entire register
state on all kernel preemptions, interrupts, or system calls. If you
can, use fixed point or table lookups instead (your code will be
faster, too). Alternately, you will need to provide a small static
implementation for these functions on your own so that your code can
find them.
_sock_bind
_sock_close
_sock_connect
_sock_receive
_sock_send
_sock_socket
These are because you failed to declare a KEXT dependency on BSDKernel
(com.apple.kernel.bsd) for your KEXT. Specifically, you need to list
it in the "Requires" field for the property list file for you KEXT.
See also:
<http://developer.apple.com/documentation/Darwin/Conceptual/KEXTConcept/KEXTConceptDependencies/kext_dependencies.html
>
-- Terry
kextload: kld_load_from_memory() failed for module
/private/tmp/firstIOKit.kext/Contents/MacOS/firstIOKit
kextload: a link/load error occured for kernel
extension firstIOKit.kext/
load failed for extension firstIOKit.kext/
(run kextload with -t for diagnostic output)
--------------------------------------------------
--- Vincent Lubet <email@hidden> wrote:
On Jun 23, 2006, at 3:27 AM, sanjay yaragatti wrote:
I am writing a kernel mode driver and want to use
socket api’s for the same.Can I use the same
socket
calls such as socket(),connect(),accept() etc or
there
are some other API’s especially for kernel mode.
Came across some file called as kpi_socket.h which
has
APS’s such as sock_sock(),
sock_bind(),sock_connect()
etc… Please let me know.
Yes to use sockets in the kernel use the API in
kpi_socket.h
Vincent
__________________________________________________________
Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden