diff --git a/src/backend.cmod b/src/backend.cmod index 18b92d491e51758721e4136dcca43c3afd835a13..3bddca91f91beef7fb3cc0cc1e5f311b56285256 100644 --- a/src/backend.cmod +++ b/src/backend.cmod @@ -434,6 +434,13 @@ PIKECLASS Backend * Call outs. */ + /*! @class CallOut + *! + *! Represents a single call_out in the call_out list. + *! + *! @seealso + *! @[call_out()] + */ PIKECLASS CallOut program_flags PROGRAM_USES_PARENT; flags ID_PROTECTED|ID_PRIVATE|ID_USED; @@ -445,6 +452,10 @@ PIKECLASS Backend CVAR struct Backend_CallOut_struct **prev_fun; CVAR struct Backend_CallOut_struct *next_arr; CVAR struct Backend_CallOut_struct **prev_arr; + /*! @decl static array args + *! + *! The array containing the function and arguments. + */ PIKEVAR array args flags ID_STATIC; CVAR struct object *this; @@ -654,7 +665,23 @@ PIKECLASS Backend EXIT_BLOCK(this); } - /* Start a new call out */ + /*! @decl void create(int|float seconds, mixed fun, mixed ... args) + *! + *! Start a new call out. + *! + *! This is the low-level implementation of @[call_out()]. + *! + *! @[call_out()] is essentially implemented as: + *! @code + *! array call_out(mixed fun, int|float seconds, mixed ... args) + *! { + *! return CallOut(seconds, fun, @@args)->args; + *! } + *! @endcode + *! + *! @seealso + *! @[call_out()] + */ PIKEFUN void create(int|float seconds, mixed fun, mixed ... extra_args) flags ID_PROTECTED; { @@ -812,6 +839,8 @@ PIKECLASS Backend UNPROTECT_CALL_OUTS(); } } + /*! @endclass + */ #undef THIS #define THIS THIS_BACKEND @@ -886,7 +915,8 @@ PIKECLASS Backend *! This value can be sent to eg @[find_call_out()] or @[remove_call_out()]. *! *! @seealso - *! @[remove_call_out()], @[find_call_out()], @[call_out_info()] + *! @[remove_call_out()], @[find_call_out()], @[call_out_info()], + *! @[CallOut] */ PIKEFUN array call_out(mixed f, int|float t, mixed ... rest) { @@ -2358,6 +2388,8 @@ PIKECLASS Backend #endif } + /*! @decl void create() + */ PIKEFUN void create() flags ID_PROTECTED; { @@ -3047,15 +3079,20 @@ PIKECLASS PollDeviceBackend DECLARE_STORAGE + /*! @decl void set_signal_event_callback(int signum, function cb) + *! + *! @note + *! This function is a noop except for the @tt{kqueue@} case. + */ PIKEFUN void set_signal_event_callback(int signum, function cb) { - int q; + int q; #ifdef BACKEND_USES_KQUEUE - struct kevent ev[2]; - EV_SET(ev, signum, MY_POLLSIGNAL, EV_ADD, 0, 0, 0); - q = kevent(THIS->set, ev, 1, NULL, 0, NULL); + struct kevent ev[2]; + EV_SET(ev, signum, MY_POLLSIGNAL, EV_ADD, 0, 0, 0); + q = kevent(THIS->set, ev, 1, NULL, 0, NULL); #endif - pop_n_elems(args); + pop_n_elems(args); } /* diff --git a/src/builtin_functions.c b/src/builtin_functions.c index a33c436e562732321330845b08bdb2a087149352..30c56dfac8b19a54e3e936482929f2d9ca227228 100644 --- a/src/builtin_functions.c +++ b/src/builtin_functions.c @@ -257,7 +257,7 @@ MK_HASHMEM(simple_hashmem2, p_wchar2) *! This function is byte-order dependant for wide strings. *! *! @seealso - *! @[hash()], @[7.0::hash()] + *! @[predef::hash()], @[7.0::hash()] */ static void f_hash_7_4(INT32 args) { @@ -325,7 +325,7 @@ ATTRIBUTE((const)) static INLINE size_t hashstr(const unsigned char *str, ptrdif *! This function is not NUL-safe, and is byte-order dependant. *! *! @seealso - *! @[hash()], @[7.4::hash()] + *! @[predef::hash()], @[7.4::hash()] */ static void f_hash_7_0( INT32 args ) { diff --git a/src/constants.c b/src/constants.c index 7326db7af990f438242195245ba08111b95dd09f..b8436ccd92d5b845e66e8e82b84ad574d8cbf159 100644 --- a/src/constants.c +++ b/src/constants.c @@ -24,6 +24,7 @@ struct mapping *builtin_constants = 0; struct callable *first_callable = NULL; #endif +/* This is the mapping returned by all_constants(). */ PMOD_EXPORT struct mapping *get_builtin_constants(void) { return builtin_constants; diff --git a/src/cpp.c b/src/cpp.c index e3c528c0859c77c169e4a480a2008f928c570ce9..b91ec48391f009cac1eded409ad7dc5b609e3c24 100644 --- a/src/cpp.c +++ b/src/cpp.c @@ -2396,16 +2396,16 @@ static void insert_callback_define_no_args(struct cpp *this, *! The following members are recognized: *! *! @mapping - *! @member string current_file - *! @member int|string charset - *! @member object handler - *! @member int compat_major - *! @member int compat_minor - *! @member int picky_cpp - *! @member int keep_comments - *! This option does not strip comments from the file. Useful - *! in combination with the prefix feature. - *! @member string prefix + *! @member string "current_file" + *! @member int|string "charset" + *! @member object "handler" + *! @member int "compat_major" + *! @member int "compat_minor" + *! @member int "picky_cpp" + *! @member int "keep_comments" + *! This option causes @[cpp()] not to strip comments. + *! Useful in combination with the prefix feature below. + *! @member string "prefix" *! If a prefix is given, only prefixed directives will be *! processed. For example, if the prefix is @expr{"foo"@}, then *! @expr{#foo_ifdef COND@} and @expr{foo___LINE__@} would be @@ -2758,6 +2758,11 @@ void f_cpp(INT32 args) } } +/*! @module Builtin + */ + +/*! @decl mapping(string:mixed) _take_over_initial_predefines() + */ void f__take_over_initial_predefines (INT32 args) { pop_n_elems (args); @@ -2778,6 +2783,9 @@ void f__take_over_initial_predefines (INT32 args) else Pike_error ("Initial predefines already taken over.\n"); } +/*! @endmodule + */ + void init_cpp() { struct svalue s; diff --git a/src/module.c b/src/module.c index 2cf1cba0000207a28ee5c3190168ea6fb7e69f8e..6b19542d7d33da29766c9f6c0cdb34e524735003 100644 --- a/src/module.c +++ b/src/module.c @@ -383,6 +383,25 @@ static const struct static_module module_list[] = { #endif }; +/*! @decl object _static_modules + *! + *! This is an object containing the classes for all static + *! (ie non-dynamic) C-modules. + *! + *! In a typic Pike with support for dynamic modules the contained + *! module classes are: + *! @dl + *! @item @[Builtin] + *! @item @[Gmp] + *! @item @[_Stdio] + *! @item @[_math] + *! @item @[_system] + *! @enddl + *! + *! If the Pike binary lacks support for dynamic modules, all C-modules + *! will show up here. + */ + void init_modules(void) { struct program *p = NULL; diff --git a/src/post_modules/Nettle/nettle.cmod b/src/post_modules/Nettle/nettle.cmod index 54ad16e2aec2d425c69d9b48ca883a273366068c..2d1251c16ac778a7cf210f800a04f95c45c20e48 100644 --- a/src/post_modules/Nettle/nettle.cmod +++ b/src/post_modules/Nettle/nettle.cmod @@ -542,12 +542,12 @@ PIKECLASS CBC safe_apply(THIS->object, "key_size", args); } - /*! @decl this_program set_encrypt_key(string key) + /*! @decl this_program set_encrypt_key(string key, int|void flags) *! *! Prepare the cipher and the wrapper for encrypting with the given *! @[key]. The @[key] memory will be cleared before released. */ - PIKEFUN object set_encrypt_key(string key) + PIKEFUN object set_encrypt_key(string key, int|void flags) optflags OPT_SIDE_EFFECT; { assert(THIS->block_size); @@ -558,12 +558,12 @@ PIKECLASS CBC RETURN this_object(); } - /*! @decl this_program set_decrypt_key(string key) + /*! @decl this_program set_decrypt_key(string key, int|void flags) *! *! Prepare the cipher and the wrapper for decrypting with the given *! @[key]. The @[key] memory will be cleared before released. */ - PIKEFUN object set_decrypt_key(string key) + PIKEFUN object set_decrypt_key(string key, int|void flags) optflags OPT_SIDE_EFFECT; { assert(THIS->block_size); diff --git a/src/program.c b/src/program.c index 5ff8ba22d4bafb44a15e15199c0602b8a8207619..b3308a23ff8e5e26112a4b5d973ac7f844278b62 100644 --- a/src/program.c +++ b/src/program.c @@ -8526,6 +8526,11 @@ static void f_compilation_env_compile(INT32 args) /*! @decl mixed resolv(string identifier, string filename, @ *! object|void handler) + *! + *! Look up @[identifier] in the current context. + *! + *! The default implementation calls the corresponding + *! function in the master object. */ static void f_compilation_env_resolv(INT32 args) {