1 | /* |
1 | /* |
2 | * libev native API header |
2 | * libev native API header |
3 | * |
3 | * |
4 | * Copyright (c) 2007,2008,2009,2010,2011 Marc Alexander Lehmann <libev@schmorp.de> |
4 | * Copyright (c) 2007,2008,2009,2010,2011,2012 Marc Alexander Lehmann <libev@schmorp.de> |
5 | * All rights reserved. |
5 | * All rights reserved. |
6 | * |
6 | * |
7 | * Redistribution and use in source and binary forms, with or without modifica- |
7 | * Redistribution and use in source and binary forms, with or without modifica- |
8 | * tion, are permitted provided that the following conditions are met: |
8 | * tion, are permitted provided that the following conditions are met: |
9 | * |
9 | * |
… | |
… | |
197 | #endif |
197 | #endif |
198 | |
198 | |
199 | /*****************************************************************************/ |
199 | /*****************************************************************************/ |
200 | |
200 | |
201 | #define EV_VERSION_MAJOR 4 |
201 | #define EV_VERSION_MAJOR 4 |
202 | #define EV_VERSION_MINOR 4 |
202 | #define EV_VERSION_MINOR 11 |
203 | |
203 | |
204 | /* eventmask, revents, events... */ |
204 | /* eventmask, revents, events... */ |
205 | enum { |
205 | enum { |
206 | EV_UNDEF = 0xFFFFFFFF, /* guaranteed to be invalid */ |
206 | EV_UNDEF = 0xFFFFFFFF, /* guaranteed to be invalid */ |
207 | EV_NONE = 0x00, /* no events */ |
207 | EV_NONE = 0x00, /* no events */ |
… | |
… | |
542 | |
542 | |
543 | /* the default loop is the only one that handles signals and child watchers */ |
543 | /* the default loop is the only one that handles signals and child watchers */ |
544 | /* you can call this as often as you like */ |
544 | /* you can call this as often as you like */ |
545 | EV_API_DECL struct ev_loop *ev_default_loop (unsigned int flags EV_CPP (= 0)); |
545 | EV_API_DECL struct ev_loop *ev_default_loop (unsigned int flags EV_CPP (= 0)); |
546 | |
546 | |
|
|
547 | #ifdef EV_API_STATIC |
547 | EV_API_DECL struct ev_loop *ev_default_loop_ptr; |
548 | EV_API_DECL struct ev_loop *ev_default_loop_ptr; |
|
|
549 | #endif |
548 | |
550 | |
549 | EV_INLINE struct ev_loop * |
551 | EV_INLINE struct ev_loop * |
550 | ev_default_loop_uc_ (void) |
552 | ev_default_loop_uc_ (void) |
551 | { |
553 | { |
552 | extern struct ev_loop *ev_default_loop_ptr; |
554 | extern struct ev_loop *ev_default_loop_ptr; |
… | |
… | |
620 | EVBREAK_ONE = 1, /* unloop once */ |
622 | EVBREAK_ONE = 1, /* unloop once */ |
621 | EVBREAK_ALL = 2 /* unloop all loops */ |
623 | EVBREAK_ALL = 2 /* unloop all loops */ |
622 | }; |
624 | }; |
623 | |
625 | |
624 | #if EV_PROTOTYPES |
626 | #if EV_PROTOTYPES |
625 | EV_API_DECL void ev_run (EV_P_ int flags EV_CPP (= 0)); |
627 | EV_API_DECL int ev_run (EV_P_ int flags EV_CPP (= 0)); |
626 | EV_API_DECL void ev_break (EV_P_ int how EV_CPP (= EVBREAK_ONE)); /* break out of the loop */ |
628 | EV_API_DECL void ev_break (EV_P_ int how EV_CPP (= EVBREAK_ONE)); /* break out of the loop */ |
627 | |
629 | |
628 | /* |
630 | /* |
629 | * ref/unref can be used to add or remove a refcount on the mainloop. every watcher |
631 | * ref/unref can be used to add or remove a refcount on the mainloop. every watcher |
630 | * keeps one reference. if you have a long-running watcher you never unregister that |
632 | * keeps one reference. if you have a long-running watcher you never unregister that |