123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 |
- Callouts API Version 6.8.2 2018/06/08
- #include <oniguruma.h>
- (1) Callout functions
- (2) Set/Get functions for Callouts of contents
- (3) Set functions for Callouts of name
- (4) User data
- (5) Get values from OnigCalloutArgs
- (6) Tag
- (7) Callout data (used in callout functions)
- (8) Callout data (used in applications)
- (9) Miscellaneous functions
- (1) Callout functions
- type: OnigCalloutFunc
- typedef int (*OnigCalloutFunc)(OnigCalloutArgs* args, void* user_data);
- If 0 (NULL) is set as a callout function value, never called.
- * Callout function return value (int)
- ONIG_CALLOUT_FAIL (== 1): fail
- ONIG_CALLOUT_SUCCESS (== 0): success
- less than -1: error code (terminate search/match)
- ONIG_CALLOUT_FAIL/SUCCESS values are ignored in retractions,
- because retraction is a part of recovery process after failure.
- * Example of callout function
- extern int always_success(OnigCalloutArgs* args, void* user_data)
- {
- return ONIG_CALLOUT_SUCCESS;
- }
- (2) Set/Get functions for Callouts of contents
- # OnigCalloutFunc onig_get_progress_callout(void)
- Get a function for callouts of contents in progress.
- # int onig_set_progress_callout(OnigCalloutFunc f)
- Set a function for callouts of contents in progress.
- This value set in onig_initialize_match_param() as a default
- callout function.
- normal return: ONIG_NORMAL
- # OnigCalloutFunc onig_get_retraction_callout(void)
- Get a function for callouts of contents in retraction (backtrack).
- # int onig_set_retraction_callout(OnigCalloutFunc f)
- Set a function for callouts of contents in retraction (backtrack).
- This value set in onig_initialize_match_param() as a default
- callout function.
- normal return: ONIG_NORMAL
- # int onig_set_progress_callout_of_match_param(OnigMatchParam* mp, OnigCalloutFunc f)
- Set a function for callouts of contents in progress.
- arguments
- 1 mp: match-param pointer
- 2 f: function
- normal return: ONIG_NORMAL
- # int onig_set_retraction_callout_of_match_param(OnigMatchParam* mp, OnigCalloutFunc f)
- Set a function for callouts of contents in retraction (backtrack).
- arguments
- 1 mp: match-param pointer
- 2 f: function
- normal return: ONIG_NORMAL
- (3) Set functions for Callouts of name
- # int onig_set_callout_of_name(OnigEncoding enc, OnigCalloutType type, OnigUChar* name, OnigUChar* name_end, int callout_in, OnigCalloutFunc callout, OnigCalloutFunc end_callout, int arg_num, unsigned int arg_types[], int opt_arg_num, OnigValue opt_defaults[])
- Set a function for callouts of name.
- Allowed name string characters: _ A-Z a-z 0-9 (* first character: _ A-Z a-z)
- (enc, name) pair is used as key value to find callout function.
- You have to call this function for every encoding used in your applications.
- But if enc is ASCII compatible and (enc, name) entry is not found,
- then (ASCII, name) entry is used.
- Therefore, if you use ASCII compatible encodings only, it is enough to call
- this function one time for (ASCII, name).
- arguments
- 1 enc: character encoding
- 2 type: callout type (currently ONIG_CALLOUT_TYPE_SINGLE only supported)
- 3 name: name string address (the string is encoded by enc)
- 4 name_end: name string end address
- 5 callout_in: direction (ONIG_CALLOUT_IN_PROGRESS/RETRACTION/BOTH)
- 6 callout: callout function
- 7 end_callout: * not used currently (set 0)
- 8 arg_num: number of arguments (*limit by ONIG_CALLOUT_MAX_ARGS_NUM == 4)
- 9 arg_types: type array of arguments
- 10 opt_arg_num: number of optional arguments
- 11 opt_defaults: default values array of optional arguments
- normal return: ONIG_NORMAL
- error:
- ONIGERR_INVALID_CALLOUT_NAME
- ONIGERR_INVALID_ARGUMENT
- ONIGERR_INVALID_CALLOUT_ARG
- (4) User data
- # int onig_set_callout_user_data_of_match_param(OnigMatchParam* param, void* user_data)
- Set a user_data value which passed as second argument of callout.
- normal return: ONIG_NORMAL
- (5) Get values from OnigCalloutArgs
- # int onig_get_callout_num_by_callout_args(OnigCalloutArgs* args)
- Returns callout number of this callout.
- "Callout number" is an identifier of callout in a regex pattern.
- # OnigCalloutIn onig_get_callout_in_by_callout_args(OnigCalloutArgs* args)
- Returns the direction of this callout.
- (ONIG_CALLOUT_IN_PROGRESS or ONIG_CALLOUT_IN_RETRACTION)
- # int onig_get_name_id_by_callout_args(OnigCalloutArgs* args)
- Returns the name identifier of this callout.
- If this callout is callout of contents, then returns ONIG_NON_NAME_ID.
- # const OnigUChar* onig_get_contents_by_callout_args(OnigCalloutArgs* args)
- Returns the contents string of this callout. (NULL terminated string)
- If this callout is callout of name, then returns NULL.
- # const OnigUChar* onig_get_contents_end_by_callout_args(OnigCalloutArgs* args)
- Returns the end of contents string of this callout.
- If this callout is callout of name, then returns NULL.
- # int onig_get_args_num_by_callout_args(OnigCalloutArgs* args)
- Returns the number of args of this callout.
- It includes optional arguments that doesn't passed in regex pattern.
- If this callout is callout of contents, then returns
- ONIGERR_INVALID_ARGUMENT.
- # int onig_get_passed_args_num_by_callout_args(OnigCalloutArgs* args)
- Returns the number of args that passed really in regex pattern.
- If this callout is callout of contents, then returns
- ONIGERR_INVALID_ARGUMENT.
- # int onig_get_arg_by_callout_args(OnigCalloutArgs* args, int index, OnigType* type, OnigValue* val)
- Returns a value and a type of the callout argument.
- If this callout is callout of contents, then returns
- ONIGERR_INVALID_ARGUMENT.
- normal return: ONIG_NORMAL
- # const OnigUChar* onig_get_string_by_callout_args(OnigCalloutArgs* args)
- Returns the subject string address.
- This is the second argument(str) of onig_search().
- # const OnigUChar* onig_get_string_end_by_callout_args(OnigCalloutArgs* args)
- Returns the end address of subject string.
- This is the third argument(end) of onig_search().
- # const OnigUChar* onig_get_start_by_callout_args(OnigCalloutArgs* args)
- Returns the start address of subject string in current match process.
- # const OnigUChar* onig_get_right_range_by_callout_args(OnigCalloutArgs* args)
- Returns the right range address of subject string.
- # const OnigUChar* onig_get_current_by_callout_args(OnigCalloutArgs* args)
- Returns the current address of subject string in current match process.
- # OnigRegex onig_get_regex_by_callout_args(OnigCalloutArgs* args)
- Returns the regex object address of this callout.
- # unsigned long onig_get_retry_counter_by_callout_args(OnigCalloutArgs* args)
- Returns the current counter value for retry-limit-in-match.
- (6) Tag
- "Tag" is a name assigned to a callout in regexp pattern.
- Allowed tag string characters: _ A-Z a-z 0-9 (* first character: _ A-Z a-z)
- # int onig_callout_tag_is_exist_at_callout_num(OnigRegex reg, int callout_num)
- Returns 1 if tag is assigned for the callout, else returns 0.
- # int onig_get_callout_num_by_tag(OnigRegex reg, const OnigUChar* tag, const OnigUChar* tag_end)
- Returns the callout number for the tag.
- # const OnigUChar* onig_get_callout_tag_start(OnigRegex reg, int callout_num)
- Returns the start address of tag string for the callout.
- (NULL terminated string)
- # const OnigUChar* onig_get_callout_tag_end(OnigRegex reg, int callout_num)
- Returns the end address of tag string for the callout.
- (7) Callout data (used in callout functions)
- "Callout data" is ONIG_CALLOUT_DATA_SLOT_NUM(5) values area
- for each callout in each search process.
- Each value area in a callout is indicated by "slot" number (0 - 4).
- Callout data are used for any purpose by callout function implementers.
- # int onig_get_callout_data_by_callout_args(OnigCalloutArgs* args, int callout_num, int slot, OnigType* type, OnigValue* val)
- Returns the callout data value/type for a callout slot indicated by
- callout_num/slot.
- normal return: ONIG_NORMAL
- 1: not yet set (type is ONIG_TYPE_VOID)
- < 0: error code
- # int onig_get_callout_data_by_callout_args_self(OnigCalloutArgs* args, int slot, OnigType* type, OnigValue* val)
- Returns self callout data value/type.
- normal return: ONIG_NORMAL
- 1: not yet set (type is ONIG_TYPE_VOID)
- < 0: error code
- # int onig_set_callout_data_by_callout_args(OnigCalloutArgs* args, int callout_num, int slot, OnigType type, OnigValue* val)
- Set the callout data value/type for a callout slot indicated by callout_num/slot.
- normal return: ONIG_NORMAL
- < 0: error code
- # int onig_set_callout_data_by_callout_args_self(OnigCalloutArgs* args, int slot, OnigType type, OnigValue* val)
- Set self callout data value/type for a callout slot indicated by slot.
- normal return: ONIG_NORMAL
- < 0: error code
- # int onig_get_callout_data_by_callout_args_self_dont_clear_old(OnigCalloutArgs* args, int slot, OnigType* type, OnigValue* val)
- This function is almost same as onig_get_callout_data_by_callout_args_self().
- But this function doesn't clear values which set in previous failed match process.
- Other onig_get_callout_data_xxxx() functions clear all values which set
- in previous failed match process.
- For example, Builtin callout (*TOTAL_COUNT) is implemented by using this
- function for accumulate count of all of match processes in a search process.
- Builtin callout (*COUNT) returns count in last success match process only,
- because it doesn't use this function.
- (8) Callout data (used in apllications)
- # int onig_get_callout_data(OnigRegex reg, OnigMatchParam* mp, int callout_num, int slot, OnigType* type, OnigValue* val)
- Returns the callout data value/type for a callout slot indicated by
- callout_num/slot.
- normal return: ONIG_NORMAL
- 1: not yet set (type is ONIG_TYPE_VOID)
- < 0: error code
- # int onig_get_callout_data_by_tag(OnigRegex reg, OnigMatchParam* mp, const OnigUChar* tag, const OnigUChar* tag_end, int slot, OnigType* type, OnigValue* val)
- Returns the callout data value/type for a callout slot indicated by tag/slot.
- normal return: ONIG_NORMAL
- 1: not yet set (type is ONIG_TYPE_VOID)
- < 0: error code
- # int onig_set_callout_data(OnigRegex reg, OnigMatchParam* mp, int callout_num, int slot, OnigType type, OnigValue* val)
- Set the callout data value/type for a callout slot indicated by callout_num/slot.
- normal return: ONIG_NORMAL
- < 0: error code
- # int onig_set_callout_data_by_tag(OnigRegex reg, OnigMatchParam* mp, const OnigUChar* tag, const OnigUChar* tag_end, int slot, OnigType type, OnigValue* val)
- Set the callout data value/type for a callout slot indicated by tag/slot.
- normal return: ONIG_NORMAL
- < 0: error code
- # int onig_get_callout_data_dont_clear_old(OnigRegex reg, OnigMatchParam* mp, int callout_num, int slot, OnigType* type, OnigValue* val)
- No needs to use this function.
- It will be abolished.
- (9) Miscellaneous functions
- # OnigUChar* onig_get_callout_name_by_name_id(int name_id)
- Returns callout name of the name id.
- if invalid name id is passed, return 0.
- # int onig_get_capture_range_in_callout(OnigCalloutArgs* args, int mem_num, int* begin, int* end)
- Returns current capture range position.
- Position is byte length offset from subject string.
- For uncaptured mem_num, ONIG_REGION_NOTPOS is set.
- # int onig_get_used_stack_size_in_callout(OnigCalloutArgs* args, int* used_num, int* used_bytes)
- Returns current used match-stack size.
- used_num: number of match-stack elements
- used_bytes: used byte size of match-stack
- //END
|