On 31 December 2012 15:38, Florian Fainelli <[email protected]> wrote: > This patch adds definitions for the {get,set,make,swap}context > user-space context manipulation functions. These declarations are made > conditional to the enabling of UCLIBC_HAS_CONTEXT_FUNCS. Base on a > initial patch by Carmelo Amoroso. > > Signed-off-by: Carmelo Amoroso <[email protected]> > Signed-off-by: Florian Fainelli <[email protected]> > --- > include/ucontext.h | 29 ++++++++++++++++++++++++++--- > 1 file changed, 26 insertions(+), 3 deletions(-) > > diff --git a/include/ucontext.h b/include/ucontext.h > index 14a1270..3974290 100644 > --- a/include/ucontext.h > +++ b/include/ucontext.h > @@ -23,9 +23,32 @@ > /* Get machine dependent definition of data structures. */ > #include <sys/ucontext.h> > > -/* The System V ABI user-level context switching support functions > - * are marked obsolescent by SuSv3, and are not implemented by > - * uClibc. This header is therefore empty. */ > +#ifdef __UCLIBC_HAS_CONTEXT_FUNCS__ > > +__BEGIN_DECLS > + > +/* Get user context and store it in variable pointed to by UCP. */ > +extern int getcontext (ucontext_t *__ucp) __THROW; > + > +/* Set user context from information of variable pointed to by UCP. */ > +extern int setcontext (__const ucontext_t *__ucp) __THROW; > + > +/* Save current context in context variable pointed to by OUCP and set > + context from variable pointed to by UCP. */ > +extern int swapcontext (ucontext_t *__restrict __oucp, > + __const ucontext_t *__restrict __ucp) > __THROW; > + > +/* Manipulate user context UCP to continue with calling functions FUNC > + + and the ARGC-1 parameters following ARGC when the context is used > + + the next time in `setcontext' or `swapcontext'. > + + > + + We cannot say anything about the parameters FUNC takes; `void' > + + is as good as any other choice. */
too many '+' for my taste > +extern void makecontext (ucontext_t *__ucp, void (*__func) (void), > + int __argc, ...) __THROW; > + > +__END_DECLS > + > +#endif > > #endif /* ucontext.h */ _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
