There is no reliable way to do it. 
even you test each framework api with system call monitoring like strace.
you may not get all *possible system calls* because it depends on the 
execution path taken by corresponding api call.

unless you execute all paths in the api execution. you will not get 
complete system call mapping.

-Machiry

On Sunday, 1 July 2012 22:08:44 UTC-4, Kristopher Micinski wrote:
>
> No, that is all at the framework level, it's calling *into* the kernel 
> through the standard posix system call interface... (namely, open, 
> read, write, etc..) 
>
> kris 
>
> On Sun, Jul 1, 2012 at 10:07 PM, M <xuetao....@gmail.com> wrote: 
> > you mean these system calls are from kernel? 
> > 
> > // --------------------------------------------------- 
> >     // Native Codes 
> >     // --------------------------------------------------- 
> > 
> >     static native void createSocketImpl(FileDescriptor fd, 
> >             boolean preferIPv4Stack); 
> > 
> >     /* 
> >      * Allocate a datagram socket in the IP stack. The socket is 
> > associated with 
> >      * the <code>aFD</code>. 
> >      * 
> >      * @param aFD the FileDescriptor to associate with the socket 
> > @param 
> >      * preferIPv4Stack IP stack preference if underlying platform is 
> > V4/V6 
> >      * @exception SocketException upon an allocation error 
> >      */ 
> >     static native void createDatagramSocketImpl(FileDescriptor aFD, 
> >             boolean preferIPv4Stack) throws SocketException; 
> > 
> >     static native int readSocketImpl(FileDescriptor aFD, byte[] data, 
> >             int offset, int count, int timeout) throws IOException; 
> > 
> >     static native int readSocketDirectImpl(FileDescriptor aFD, int 
> > address, 
> >             int offset, int count, int timeout) throws IOException; 
> > 
> >     static native int writeSocketImpl(FileDescriptor fd, byte[] data, 
> >             int offset, int count) throws IOException; 
> > 
> >     static native int writeSocketDirectImpl(FileDescriptor fd, int 
> > address, 
> >             int offset, int count) throws IOException; 
> > 
> >     static native void setNonBlockingImpl(FileDescriptor aFD, 
> >             boolean block); 
> > 
> > 
> > On Jun 30, 10:58 pm, Kristopher Micinski <krismicin...@gmail.com> 
> > wrote: 
> >> On Fri, Jun 29, 2012 at 12:15 PM, M <xuetao....@gmail.com> wrote: 
> >> > Hi, alll, 
> >> 
> >> > Is there any mechanism inside the Android that could correlate 
> >> > Framework API with its corresponding kernel system calls? 
> >> 
> >> > For example, one Internet API call:  java.net.Socket.<init>().  How 
> >> > could we know which system calls from kernel support such api calls 
> >> > from the framework? 
> >> 
> >> > Thanks for your help. 
> >> 
> >> > M 
> >> 
> >> In that specific example, and in many others, the framework is calling 
> >> down into native code through system wrappers (from harmony, is it 
> >> still called that...?) 
> >> 
> >> To handle these cases, when you get down to a baseline set of system 
> >> calls (i.e., the traditional unix ones..), the code is in classes like 
> >> OSNetworkSystem.java ..., for example (the first google result..): 
> >> 
> >> http://code.google.com/p/sipdroid/source/browse/trunk/src/org/sipdroi... 
>
> >> 
> >> There's a similar implementation for the filesystem, etc... 
> >> 
> >> kris 
> > 
> > -- 
> > unsubscribe: android-kernel+unsubscr...@googlegroups.com 
> > website: http://groups.google.com/group/android-kernel 
>

-- 
unsubscribe: android-kernel+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-kernel

Reply via email to