functions
functions copied to clipboard
Python repository containing parsed standard C library function and argument information
functions
Python repository containing parsed standard C library function and argument information
How do I use it?
I already did the heavy lifting for you, just look at functions.py.
If you want to build it yourself, just clone the repo and make clean all.
Things will probably blow up, which is why I included a Dockerfile. You can build with make release.
Example
>>> from functions import functions
>>> print functions['memcpy']
Function(type='void', derefcnt=1, name='memcpy', args=[Argument(type='void', derefcnt=1, name='dest'), Argument(type='void', derefcnt=1, name='src'), Argument(type='size_t', derefcnt=0, name='n')])
>>> print functions['memcpy'].args
[Argument(type='void', derefcnt=1, name='dest'), Argument(type='void', derefcnt=1, name='src'), Argument(type='size_t', derefcnt=0, name='n')]
>>> print functions['memcpy'].args[0]
Argument(type='void', derefcnt=1, name='dest')
>>> print functions['memcpy'].type
void
>>> print functions['memcpy'].derefcnt
1
Notes
Basically we just pass everything to PyCParser and extract all functions and arguments, as well as their types.
Some syscalls are not in any standard C headers, so these have been added to missing.txt. The signatures are manually (pun!) extracted from the man pages.