#include "asterisk/lock.h"
Go to the source code of this file.
Defines | |
#define | AST_LIST_APPEND_LIST(head, list, field) |
Appends a whole list to the tail of a list. | |
#define | AST_LIST_EMPTY(head) (AST_LIST_FIRST(head) == NULL) |
Checks whether the specified list contains any entries. | |
#define | AST_LIST_ENTRY(type) |
Declare a forward link structure inside a list entry. | |
#define | AST_LIST_FIRST(head) ((head)->first) |
Returns the first entry contained in a list. | |
#define | AST_LIST_HEAD(name, type) |
Defines a structure to be used to hold a list of specified type. | |
#define | AST_LIST_HEAD_DESTROY(head) |
Destroys a list head structure. | |
#define | AST_LIST_HEAD_INIT(head) |
Initializes a list head structure. | |
#define | AST_LIST_HEAD_INIT_NOLOCK(head) |
Initializes a list head structure. | |
#define | AST_LIST_HEAD_INIT_VALUE |
Defines initial values for a declaration of AST_LIST_HEAD. | |
#define | AST_LIST_HEAD_NOLOCK(name, type) |
Defines a structure to be used to hold a list of specified type (with no lock). | |
#define | AST_LIST_HEAD_NOLOCK_INIT_VALUE |
Defines initial values for a declaration of AST_LIST_HEAD_NOLOCK. | |
#define | AST_LIST_HEAD_NOLOCK_STATIC(name, type) |
Defines a structure to be used to hold a list of specified type, statically initialized. | |
#define | AST_LIST_HEAD_SET(head, entry) |
Initializes a list head structure with a specified first entry. | |
#define | AST_LIST_HEAD_SET_NOLOCK(head, entry) |
Initializes a list head structure with a specified first entry. | |
#define | AST_LIST_HEAD_STATIC(name, type) |
Defines a structure to be used to hold a list of specified type, statically initialized. | |
#define | AST_LIST_INSERT_AFTER(head, listelm, elm, field) |
Inserts a list entry after a given entry. | |
#define | AST_LIST_INSERT_BEFORE_CURRENT(elm, field) |
Inserts a list entry before the current entry during a traversal. | |
#define | AST_LIST_INSERT_HEAD(head, elm, field) |
Inserts a list entry at the head of a list. | |
#define | AST_LIST_INSERT_LIST_AFTER(head, list, elm, field) |
Inserts a whole list after a specific entry in a list. | |
#define | AST_LIST_INSERT_SORTALPHA(head, elm, field, sortfield) |
Inserts a list entry into a alphabetically sorted list. | |
#define | AST_LIST_INSERT_TAIL(head, elm, field) |
Appends a list entry to the tail of a list. | |
#define | AST_LIST_LAST(head) ((head)->last) |
Returns the last entry contained in a list. | |
#define | AST_LIST_LOCK(head) ast_mutex_lock(&(head)->lock) |
Locks a list. | |
#define | AST_LIST_MOVE_CURRENT(newhead, field) |
#define | AST_LIST_NEXT(elm, field) ((elm)->field.next) |
Returns the next entry in the list after the given entry. | |
#define | AST_LIST_REMOVE(head, elm, field) |
Removes a specific entry from a list. | |
#define | AST_LIST_REMOVE_CURRENT(field) |
Removes the current entry from a list during a traversal. | |
#define | AST_LIST_REMOVE_HEAD(head, field) |
Removes and returns the head entry from a list. | |
#define | AST_LIST_TRAVERSE(head, var, field) for((var) = (head)->first; (var); (var) = (var)->field.next) |
Loops over (traverses) the entries in a list. | |
#define | AST_LIST_TRAVERSE_SAFE_BEGIN(head, var, field) |
Loops safely over (traverses) the entries in a list. | |
#define | AST_LIST_TRAVERSE_SAFE_END } |
Closes a safe loop traversal block. | |
#define | AST_LIST_TRYLOCK(head) ast_mutex_trylock(&(head)->lock) |
Locks a list, without blocking if the list is locked. | |
#define | AST_LIST_UNLOCK(head) ast_mutex_unlock(&(head)->lock) |
Attempts to unlock a list. | |
#define | AST_RWLIST_APPEND_LIST AST_LIST_APPEND_LIST |
#define | AST_RWLIST_EMPTY AST_LIST_EMPTY |
#define | AST_RWLIST_ENTRY AST_LIST_ENTRY |
#define | AST_RWLIST_FIRST AST_LIST_FIRST |
#define | AST_RWLIST_HEAD(name, type) |
Defines a structure to be used to hold a read/write list of specified type. | |
#define | AST_RWLIST_HEAD_DESTROY(head) |
Destroys an rwlist head structure. | |
#define | AST_RWLIST_HEAD_INIT(head) |
Initializes an rwlist head structure. | |
#define | AST_RWLIST_HEAD_INIT_VALUE |
Defines initial values for a declaration of AST_RWLIST_HEAD. | |
#define | AST_RWLIST_HEAD_SET(head, entry) |
Initializes an rwlist head structure with a specified first entry. | |
#define | AST_RWLIST_HEAD_STATIC(name, type) |
Defines a structure to be used to hold a read/write list of specified type, statically initialized. | |
#define | AST_RWLIST_INSERT_AFTER AST_LIST_INSERT_AFTER |
#define | AST_RWLIST_INSERT_BEFORE_CURRENT AST_LIST_INSERT_BEFORE_CURRENT |
#define | AST_RWLIST_INSERT_HEAD AST_LIST_INSERT_HEAD |
#define | AST_RWLIST_INSERT_LIST_AFTER AST_LIST_INSERT_LIST_AFTER |
#define | AST_RWLIST_INSERT_SORTALPHA AST_LIST_INSERT_SORTALPHA |
#define | AST_RWLIST_INSERT_TAIL AST_LIST_INSERT_TAIL |
#define | AST_RWLIST_LAST AST_LIST_LAST |
#define | AST_RWLIST_MOVE_CURRENT AST_LIST_MOVE_CURRENT |
#define | AST_RWLIST_NEXT AST_LIST_NEXT |
#define | AST_RWLIST_RDLOCK(head) ast_rwlock_rdlock(&(head)->lock) |
Read locks a list. | |
#define | AST_RWLIST_REMOVE AST_LIST_REMOVE |
#define | AST_RWLIST_REMOVE_CURRENT AST_LIST_REMOVE_CURRENT |
#define | AST_RWLIST_REMOVE_HEAD AST_LIST_REMOVE_HEAD |
#define | AST_RWLIST_TIMEDRDLOCK(head, ts) ast_rwlock_timedrdlock(&(head)->lock, ts) |
Read locks a list, with timeout. | |
#define | AST_RWLIST_TIMEDWRLOCK(head, ts) ast_rwlock_timedwrlock(&(head)->lock, ts) |
Write locks a list, with timeout. | |
#define | AST_RWLIST_TRAVERSE AST_LIST_TRAVERSE |
#define | AST_RWLIST_TRAVERSE_SAFE_BEGIN AST_LIST_TRAVERSE_SAFE_BEGIN |
#define | AST_RWLIST_TRAVERSE_SAFE_END AST_LIST_TRAVERSE_SAFE_END |
#define | AST_RWLIST_TRYRDLOCK(head) ast_rwlock_tryrdlock(&(head)->lock) |
Read locks a list, without blocking if the list is locked. | |
#define | AST_RWLIST_TRYWRLOCK(head) ast_rwlock_trywrlock(&(head)->lock) |
Write locks a list, without blocking if the list is locked. | |
#define | AST_RWLIST_UNLOCK(head) ast_rwlock_unlock(&(head)->lock) |
Attempts to unlock a read/write based list. | |
#define | AST_RWLIST_WRLOCK(head) ast_rwlock_wrlock(&(head)->lock) |
Write locks a list. |
Definition in file linkedlists.h.
#define AST_LIST_APPEND_LIST | ( | head, | |||
list, | |||||
field | ) |
Appends a whole list to the tail of a list.
head | This is a pointer to the list head structure | |
list | This is a pointer to the list to be appended. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 768 of file linkedlists.h.
Referenced by __ast_queue_frame(), announce_thread(), ast_autochan_new_channel(), ast_do_masquerade(), clone_variables(), and process_weights().
#define AST_LIST_EMPTY | ( | head | ) | (AST_LIST_FIRST(head) == NULL) |
Checks whether the specified list contains any entries.
head | This is a pointer to the list head structure |
non-zero if not.
Definition at line 449 of file linkedlists.h.
Referenced by __ast_context_destroy(), __ast_read(), acf_faxopt_read(), ack_trans(), action_meetmelist(), add_user_extension(), announce_thread(), ast_audiohook_write_list_empty(), ast_autoservice_start(), ast_config_text_file_save(), ast_dial_option_disable(), ast_dial_option_enable(), ast_dial_run(), ast_framehook_list_is_empty(), ast_rtp_read(), ast_tone_zone_data_add_structure(), audio_audiohook_write_list(), autoservice_run(), build_parkinglot(), build_peer(), cc_generic_monitor_destructor(), check_bridge(), config_device(), data_filter_find(), delete_old_messages(), do_devstate_changes(), dundi_lookup_internal(), dundi_precache_internal(), dundi_query_eid_internal(), dundi_show_peer(), eivr_comm(), forward_message(), generate_filenames_string(), get_destination(), get_realm(), handle_minivm_list_templates(), handle_minivm_show_users(), handle_minivm_show_zones(), handle_request_refer(), handle_request_subscribe(), handle_voicemail_show_users(), handle_voicemail_show_zones(), is_valid_tone_zone(), logger_thread(), manager_list_voicemail_users(), meetme_show_cmd(), moh_class_inuse(), monmp3thread(), parkinglot_destroy(), parkinglot_is_marked_cb(), queue_file(), register_verify(), rpt(), scan_thread(), shaun_of_the_dead(), sip_show_domains(), sip_show_settings(), skinny_hangup(), sla_check_reload(), sla_load_config(), sla_thread(), and wait_for_winner().
#define AST_LIST_ENTRY | ( | type | ) |
Value:
struct { \ struct type *next; \ }
type | This is the type of each list entry. |
struct list_entry { ... AST_LIST_ENTRY(list_entry) list; }
The field name list here is arbitrary, and can be anything you wish.
Definition at line 409 of file linkedlists.h.
Referenced by AST_TEST_DEFINE().
#define AST_LIST_FIRST | ( | head | ) | ((head)->first) |
Returns the first entry contained in a list.
head | This is a pointer to the list head structure |
Definition at line 420 of file linkedlists.h.
Referenced by __ast_queue_frame(), __ast_read(), abort_request(), acf_faxopt_read(), ast_cc_agent_set_interfaces_chanvar(), ast_dial_answered(), ast_dial_answered_steal(), ast_dial_join(), ast_do_masquerade(), ast_rtp_read(), ast_srv_lookup(), AST_TEST_DEFINE(), ast_walk_context_switches(), attended_abort_transfer(), build_user_routes(), calendar_join_attendees(), cli_next(), clone_variables(), config_device(), config_parse_variables(), data_filter_find(), do_devstate_changes(), find_subchannel_by_instance_reference(), gen_nextfile(), gen_readframe(), generate_filenames_string(), get_ewscal_ids_for(), gosub_exec(), handle_gosub(), iax_frame_free(), iax_frame_new(), leave_conference_bridge(), local_read(), local_write(), logger_thread(), multiplexed_bridge_join(), multiplexed_bridge_write(), phoneprov_callback(), post_join_unmarked(), pp_each_user_helper(), print_stats_cb(), process_precache(), process_weights(), queue_exec(), remove_dead_dialplan_useage(), remove_dead_ramp_usage(), remove_dead_spaces_usage(), reschedule_precache(), scan_thread(), set_file(), shaun_of_the_dead(), simple_bridge_join(), simple_bridge_write(), and skinny_hangup().
#define AST_LIST_HEAD | ( | name, | |||
type | ) |
Value:
Defines a structure to be used to hold a list of specified type.
name | This will be the name of the defined structure. | |
type | This is the type of each list entry. |
Example usage:
static AST_LIST_HEAD(entry_list, entry) entries;
This would define struct
entry_list
, and declare an instance of it named entries, all intended to hold a list of type struct
entry
.
Definition at line 172 of file linkedlists.h.
Referenced by acf_curl_helper(), acf_iaxvar_read(), acf_iaxvar_write(), add_agi_cmd(), add_to_agi(), agi_destroy_commands_cb(), ast_iax2_new(), ast_odbc_retrieve_transaction_obj(), authenticate_reply(), cleanup_thread_list(), curlds_free(), dial_exec_full(), dialed_interface_destroy(), dialed_interface_duplicate(), find_transaction(), get_agi_cmd(), get_lock(), gosub_exec(), gosub_free(), handle_gosub(), iax2_call(), iax2_dup_variable_datastore(), iax2_free_variable_datastore(), local_read(), local_write(), lock_fixup(), lock_free(), mark_transaction_active(), odbc_txn_free(), pop_exec(), release_transaction(), return_exec(), socket_process(), and unlock_read().
#define AST_LIST_HEAD_DESTROY | ( | head | ) |
Value:
{ \ (head)->first = NULL; \ (head)->last = NULL; \ ast_mutex_destroy(&(head)->lock); \ }
head | This is a pointer to the list head structure |
Definition at line 638 of file linkedlists.h.
Referenced by agi_destroy_commands_cb(), ast_aji_client_destroy(), ast_module_shutdown(), ast_module_unregister(), cc_interface_tree_destroy(), curlds_free(), dialed_interface_destroy(), gosub_free(), iax2_free_variable_datastore(), lock_free(), odbc_datastore_free(), odbc_txn_free(), and parkinglot_destroy().
#define AST_LIST_HEAD_INIT | ( | head | ) |
Value:
{ \ (head)->first = NULL; \ (head)->last = NULL; \ ast_mutex_init(&(head)->lock); \ }
head | This is a pointer to the list head structure |
Definition at line 611 of file linkedlists.h.
Referenced by acf_curlopt_write(), acf_iaxvar_write(), acf_odbc_read(), add_to_agi(), aji_create_client(), ast_dial_create(), ast_iax2_new(), ast_module_register(), authenticate_reply(), cc_interfaces_datastore_init(), create_parkinglot(), dial_exec_full(), dialed_interface_duplicate(), find_transaction(), get_lock(), gosub_exec(), iax2_dup_variable_datastore(), socket_process(), and spandsp_fax_new().
#define AST_LIST_HEAD_INIT_NOLOCK | ( | head | ) |
Value:
Initializes a list head structure.
head | This is a pointer to the list head structure |
Definition at line 666 of file linkedlists.h.
Referenced by __ast_answer(), __ast_channel_alloc_ap(), __ast_queue_frame(), alloc_profile(), announce_thread(), app_exec(), ast_audiohook_attach(), ast_bridge_features_init(), ast_calendar_event_alloc(), ast_dummy_channel_alloc(), ast_rtp_read(), ast_safe_sleep_conditional(), ast_srv_lookup(), build_profile(), conf_run(), do_devstate_changes(), dundi_lookup_local(), extension_monitor_pvt_init(), feature_request_and_dial(), find_table(), findmeexec(), free_numbers(), get_ewscal_ids_for(), gosub_allocate_frame(), load_module(), load_modules(), logger_thread(), loopback_subst(), new_iax(), session_details_new(), session_do(), and sip_alloc().
#define AST_LIST_HEAD_INIT_VALUE |
Value:
{ \ .first = NULL, \ .last = NULL, \ .lock = AST_MUTEX_INIT_VALUE, \ }
Definition at line 233 of file linkedlists.h.
Referenced by app_exec().
#define AST_LIST_HEAD_NOLOCK | ( | name, | |||
type | ) |
Value:
Defines a structure to be used to hold a list of specified type (with no lock).
name | This will be the name of the defined structure. | |
type | This is the type of each list entry. |
Example usage:
static AST_LIST_HEAD_NOLOCK(entry_list, entry) entries;
This would define struct
entry_list
, and declare an instance of it named entries, all intended to hold a list of type struct
entry
.
Definition at line 224 of file linkedlists.h.
Referenced by __ast_answer(), __ast_queue_frame(), announce_thread(), ast_do_masquerade(), ast_safe_sleep_conditional(), AST_TEST_DEFINE(), and feature_request_and_dial().
#define AST_LIST_HEAD_NOLOCK_INIT_VALUE |
Value:
{ \ .first = NULL, \ .last = NULL, \ }
Definition at line 251 of file linkedlists.h.
Referenced by ast_event_check_subscriber(), ast_get_srv(), ast_merge_contexts_and_delete(), do_directory(), load_config(), and process_weights().
#define AST_LIST_HEAD_NOLOCK_STATIC | ( | name, | |||
type | ) |
Value:
Defines a structure to be used to hold a list of specified type, statically initialized.This is the same as AST_LIST_HEAD_STATIC, except without the lock included.
Definition at line 345 of file linkedlists.h.
Referenced by ast_event_new(), and forward_message().
#define AST_LIST_HEAD_SET | ( | head, | |||
entry | ) |
Value:
do { \ (head)->first = (entry); \ (head)->last = (entry); \ ast_mutex_init(&(head)->lock); \ } while (0)
head | This is a pointer to the list head structure | |
entry | pointer to the list entry that will become the head of the list |
Definition at line 359 of file linkedlists.h.
#define AST_LIST_HEAD_SET_NOLOCK | ( | head, | |||
entry | ) |
Value:
Initializes a list head structure with a specified first entry.
head | This is a pointer to the list head structure | |
entry | pointer to the list entry that will become the head of the list |
Definition at line 387 of file linkedlists.h.
Referenced by ast_do_masquerade(), AST_TEST_DEFINE(), and parse_contact_header().
#define AST_LIST_HEAD_STATIC | ( | name, | |||
type | ) |
Value:
struct name { \ struct type *first; \ struct type *last; \ ast_mutex_t lock; \ } name = AST_LIST_HEAD_INIT_VALUE
name | This will be the name of the defined structure. | |
type | This is the type of each list entry. |
Example usage:
static AST_LIST_HEAD_STATIC(entry_list, entry);
This would define struct
entry_list
, intended to hold a list of type struct
entry
.
Definition at line 290 of file linkedlists.h.
#define AST_LIST_INSERT_AFTER | ( | head, | |||
listelm, | |||||
elm, | |||||
field | ) |
Inserts a list entry after a given entry.
head | This is a pointer to the list head structure | |
listelm | This is a pointer to the entry after which the new entry should be inserted. | |
elm | This is a pointer to the entry to be inserted. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 680 of file linkedlists.h.
Referenced by reschedule_precache().
#define AST_LIST_INSERT_BEFORE_CURRENT | ( | elm, | |||
field | ) |
Inserts a list entry before the current entry during a traversal.
elm | This is a pointer to the entry to be inserted. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 584 of file linkedlists.h.
Referenced by add_event_to_list(), add_user_extension(), defer_full_frame(), dialplan_usage_add_parkinglot(), insert_penaltychange(), queue_file(), srv_callback(), usage_context_add_ramp(), and usage_context_add_spaces().
#define AST_LIST_INSERT_HEAD | ( | head, | |||
elm, | |||||
field | ) |
Inserts a list entry at the head of a list.
head | This is a pointer to the list head structure | |
elm | This is a pointer to the entry to be inserted. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 696 of file linkedlists.h.
Referenced by __ast_answer(), __ast_module_user_add(), __frame_free(), accept_thread(), ack_trans(), actual_load_config(), add_user_extension(), aji_handle_message(), append_transaction(), ast_autoservice_start(), ast_calendar_register(), ast_cdr_copy_vars(), ast_cdr_setvar(), ast_cel_fabricate_channel_from_event(), ast_channel_datastore_add(), ast_loader_register(), ast_merge_contexts_and_delete(), ast_safe_sleep_conditional(), astman_datastore_add(), autoservice_run(), build_conf(), build_mapping(), build_peer(), config_parse_variables(), cops_gate_cmd(), create_transaction(), deep_copy_peer(), dundi_lookup_local(), dundi_send(), feature_request_and_dial(), forward_message(), frame_set_var(), gosub_exec(), handle_command_response(), handle_frame(), handle_frame_ownerless(), iax2_append_register(), iax_frame_free(), iax_process_template(), loopback_subst(), mohalloc(), parse_config(), pbx_builtin_pushvar_helper(), pbx_builtin_setvar_helper(), pktccops_add_ippool(), queue_file(), queue_ringing_trunk(), register_group(), register_group_feature(), register_request(), register_translator(), reschedule_precache(), sched_release(), shared_write(), skinny_new(), sla_ring_station(), socket_read(), and unload_module().
#define AST_LIST_INSERT_LIST_AFTER | ( | head, | |||
list, | |||||
elm, | |||||
field | ) |
Inserts a whole list after a specific entry in a list.
head | This is a pointer to the list head structure | |
list | This is a pointer to the list to be inserted. | |
elm | This is a pointer to the entry after which the new list should be inserted. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of the lists together. |
Definition at line 797 of file linkedlists.h.
Referenced by __ast_queue_frame().
#define AST_LIST_INSERT_SORTALPHA | ( | head, | |||
elm, | |||||
field, | |||||
sortfield | ) |
Inserts a list entry into a alphabetically sorted list.
head | Pointer to the list head structure | |
elm | Pointer to the entry to be inserted | |
field | Name of the list entry field (declared using AST_LIST_ENTRY()) | |
sortfield | Name of the field on which the list is sorted |
Definition at line 736 of file linkedlists.h.
Referenced by config_cache_attribute(), and config_text_file_load().
#define AST_LIST_INSERT_TAIL | ( | head, | |||
elm, | |||||
field | ) |
Appends a list entry to the tail of a list.
head | This is a pointer to the list head structure | |
elm | This is a pointer to the entry to be appended. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 716 of file linkedlists.h.
Referenced by __ast_queue_frame(), acf_curlopt_write(), acf_iaxvar_write(), add_agent(), add_agi_cmd(), add_event_to_list(), add_peer_mailboxes(), add_publish_event(), add_realm_authentication(), add_sip_domain(), add_subscribe_event(), add_to_load_order(), add_user_extension(), app_exec(), append_history_va(), append_mailbox_mapping(), append_permission(), ast_agi_register(), ast_audiohook_attach(), ast_autochan_setup(), ast_bridge_features_hook(), ast_bridge_merge(), ast_cc_call_init(), ast_cc_extension_monitor_add_dialstring(), ast_channel_datastore_inherit(), ast_channel_inherit_variables(), ast_context_add_switch2(), ast_devstate_changed_literal(), ast_dial_append(), ast_do_masquerade(), ast_event_check_subscriber(), ast_event_new(), ast_event_sub_append_ie_bitflags(), ast_event_sub_append_ie_exists(), ast_event_sub_append_ie_raw(), ast_event_sub_append_ie_str(), ast_event_sub_append_ie_uint(), ast_framehook_attach(), ast_handle_cc_control_frame(), ast_iax2_new(), ast_lock_path_flock(), ast_log(), ast_merge_contexts_and_delete(), ast_module_register(), ast_odbc_find_table(), ast_register_indication(), ast_rtp_read(), ast_safe_fork(), ast_setlocale(), ast_slinfactory_feed(), ast_taskprocessor_push(), AST_TEST_DEFINE(), ast_tzset(), authenticate_reply(), bridge_channel_join(), build_extension(), build_profile(), caldav_add_event(), cc_generic_monitor_request_cc(), cc_interfaces_datastore_init(), clone_variables(), conf_run(), config_cache_attribute(), config_device(), config_line(), copy_event_data(), copy_rules(), create_vmaccount(), data_filter_alloc(), defer_full_frame(), devstate_change_collector_cb(), dial_exec_full(), dialed_interface_duplicate(), dialplan_usage_add_parkinglot(), dummy_start(), eivr_comm(), endelm(), find_cache(), find_or_create(), find_table(), find_tpeer(), find_transaction(), findmeexec(), gen_readframe(), get_lock(), gmtsub(), iax2_dup_variable_datastore(), iax_frame_free(), iax_frame_new(), icalendar_add_event(), inherit_category(), insert_idle_thread(), insert_penaltychange(), internal_ao2_link(), join_conference_bridge(), load_config(), load_values_config(), local_call(), message_template_build(), parse_contact_header(), phoneprov_callback(), process_dtmf_rfc2833(), queue_file(), queue_file_create(), queue_file_open(), queue_reload_request(), queue_signalling(), receivefax_exec(), reload_followme(), reload_queue_rules(), rpt(), search_directory_sub(), sendfax_exec(), set_config(), set_timezone_variables(), setup_inheritable_audiohook(), sip_epa_register(), sip_tcptls_write(), sla_add_trunk_to_station(), sla_queue_event_full(), sla_stop_ringing_station(), socket_process(), srv_callback(), start_network_thread(), startelm(), store_by_locale(), t38_tx_packet_handler(), timezone_add(), transmit_frame(), try_firmware(), usage_context_add_ramp(), and usage_context_add_spaces().
#define AST_LIST_LAST | ( | head | ) | ((head)->last) |
Returns the last entry contained in a list.
head | This is a pointer to the list head structure |
Definition at line 428 of file linkedlists.h.
Referenced by __ast_queue_frame(), __ast_read(), ast_channel_clear_softhangup(), ast_config_text_file_save(), attended_abort_transfer(), data_filter_find(), find_dial_channel(), load_dynamic_module(), menu_callback(), multiplexed_bridge_join(), multiplexed_bridge_write(), simple_bridge_join(), simple_bridge_write(), and socket_process().
#define AST_LIST_LOCK | ( | head | ) | ast_mutex_lock(&(head)->lock) |
Locks a list.
head | This is a pointer to the list head structure |
0 | on success | |
non-zero | on failure |
Definition at line 39 of file linkedlists.h.
Referenced by __ast_module_user_add(), __ast_module_user_hangup_all(), __ast_module_user_remove(), _skinny_show_device(), _skinny_show_devices(), _skinny_show_line(), _skinny_show_lines(), abort_request(), accept_thread(), acf_curl_helper(), acf_curlopt_helper(), acf_curlopt_write(), acf_fetch(), acf_iaxvar_read(), acf_iaxvar_write(), acf_jabberreceive_read(), acf_meetme_info(), action_agents(), action_meetmelist(), actual_load_config(), add_agi_cmd(), add_sip_domain(), admin_exec(), agent_devicestate(), agent_hangup(), agent_logoff(), agent_request(), agentmonitoroutgoing_exec(), agents_data_provider_get(), agents_show(), agents_show_online(), agi_destroy_commands_cb(), aji_handle_message(), ast_aji_client_destroy(), ast_autoservice_ignore(), ast_autoservice_start(), ast_autoservice_stop(), ast_calendar_register(), ast_calendar_unregister(), ast_cc_agent_set_interfaces_chanvar(), ast_cc_call_init(), ast_cc_extension_monitor_add_dialstring(), ast_cc_get_monitor_by_recall_core_id(), ast_cc_is_recall(), ast_devstate_changed_literal(), ast_dial_destroy(), ast_dial_hangup(), ast_dial_join(), ast_handle_cc_control_frame(), ast_load_resource(), ast_loader_register(), ast_loader_unregister(), ast_localtime_wakeup_monitor(), ast_lock_path_flock(), ast_log(), ast_module_helper(), ast_module_register(), ast_module_reload(), ast_module_shutdown(), ast_module_unregister(), ast_odbc_retrieve_transaction_obj(), ast_process_pending_reloads(), ast_safe_fork(), ast_set_cc_interfaces_chanvar(), ast_setlocale(), ast_tzset(), ast_unload_resource(), ast_unlock_path_flock(), ast_update_use_count(), autoservice_run(), begin_dial(), build_conf(), build_peer(), build_transactions(), cancel_available_timer(), cancel_request(), cb_events(), cc_monitor_failed(), cc_status_response(), channel_admin_exec(), check_availability(), check_beep(), check_request(), check_sip_domain(), cleanup_thread_list(), clear_sip_domains(), close_logger(), complete_agent_logoff_cmd(), complete_dpreply(), complete_meetmecmd(), complete_peer_helper(), complete_queue_rule_show(), conf_exec(), conf_free(), conf_play(), config_cache_attribute(), config_device(), config_line(), config_text_file_load(), cops_gate_cmd(), copy_rules(), count_monitors_cb(), create_vmaccount(), delete_devices(), delete_old_messages(), delete_users(), destroy_session(), dial_exec_full(), dialed_interface_destroy(), dialed_interface_duplicate(), discover_transactions(), dispose_conf(), do_devstate_changes(), do_pktccops(), drop_translator(), dundi_flush(), dundi_ie_append_eid_appropriately(), dundi_lookup_thread(), dundi_precache_internal(), dundi_precache_thread(), dundi_query_thread(), dundi_rexmit(), dundi_show_entityid(), dundi_show_mappings(), dundi_show_peer(), dundi_show_peers(), dundi_show_precache(), dundi_show_requests(), dundi_show_trans(), eivr_comm(), find_account(), find_cache(), find_conf(), find_conf_realtime(), find_dial_channel(), find_idle_thread(), find_line_by_name(), find_relative_dial_channel(), find_resource(), find_static_data(), find_table(), find_tpeer(), find_transaction(), find_user(), free_vm_users(), free_vm_zones(), function_agent(), gen_nextfile(), gen_readframe(), get_agi_cmd(), get_button_template(), get_lock(), gmtsub(), gosub_exec(), gosub_free(), handle_cli_config_list(), handle_cli_config_reload(), handle_cli_iax2_show_cache(), handle_cli_iax2_show_firmware(), handle_cli_iax2_show_registry(), handle_cli_iax2_show_threads(), handle_cli_realtime_pgsql_cache(), handle_command_response(), handle_frame(), handle_frame_ownerless(), handle_minivm_list_templates(), handle_minivm_show_users(), handle_minivm_show_zones(), handle_parkedcalls(), handle_queue_rule_show(), handle_skinny_reset(), handle_voicemail_show_users(), handle_voicemail_show_zones(), iax2_append_register(), iax2_call(), iax2_canmatch(), iax2_dup_variable_datastore(), iax2_exec(), iax2_exists(), iax2_free_variable_datastore(), iax2_matchmore(), iax_check_version(), iax_firmware_append(), inotify_daemon(), insert_idle_thread(), load_module(), load_modules(), local_read(), local_write(), lock_broker(), lock_fixup(), lock_free(), logger_thread(), login_exec(), manage_parkinglot(), manager_iax2_show_registry(), manager_list_voicemail_users(), manager_parking_status(), manager_queue_rule_show(), mark_mappings(), mark_peers(), mark_transaction_active(), meetme_data_provider_get(), meetme_show_cmd(), meetmemute(), meetmestate(), message_destroy_list(), message_template_build(), message_template_find(), misdn_call(), misdn_facility_ie_handler(), misdn_request(), monitor_dial(), network_change_event_sched_cb(), network_thread(), odbc_datastore_free(), odbc_txn_free(), optimize_transactions(), park_space_reserve(), parked_call_exec(), pktccops_add_ippool(), pktccops_gatedel(), pktccops_gateset(), pktccops_show_cmtses(), pktccops_show_gates(), pktccops_show_pools(), pktccops_unregister_cmtses(), pktccops_unregister_ippools(), play_message_datetime(), pop_exec(), precache_transactions(), print_stats_cb(), process_precache(), prune_mappings(), prune_peers(), query_transactions(), queue_file(), queue_reload_request(), read_agent_config(), recordthread(), register_request(), register_translator(), release_transaction(), reload(), reload_config(), reload_firmware(), reload_queue_rules(), request_cc(), reschedule_precache(), reset_user_pw(), return_exec(), scan_thread(), sendmail(), set_config(), shaun_of_the_dead(), sip_epa_register(), sip_epa_unregister_all(), sip_show_domains(), skinny_register(), skinny_reload(), socket_process(), socket_read(), start_network_thread(), store_by_locale(), suspend(), timezone_add(), timezone_destroy_list(), timing_read(), unload_module(), unload_pgsql(), unlock_read(), unregister_request(), unregister_translators(), unsuspend(), vm_users_data_provider_get(), vm_users_data_provider_get_helper(), vmaccounts_destroy_list(), and vmu_tm().
#define AST_LIST_MOVE_CURRENT | ( | newhead, | |||
field | ) |
Value:
do { \ typeof ((newhead)->first) __list_cur = __new_prev; \ AST_LIST_REMOVE_CURRENT(field); \ AST_LIST_INSERT_TAIL((newhead), __list_cur, field); \ } while (0)
Definition at line 567 of file linkedlists.h.
Referenced by cdr_merge_vars(), and process_weights().
#define AST_LIST_NEXT | ( | elm, | |||
field | ) | ((elm)->field.next) |
Returns the next entry in the list after the given entry.
elm | This is a pointer to the current entry. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 438 of file linkedlists.h.
Referenced by __ast_queue_frame(), __ast_read(), add_user_extension(), ast_frame_clear(), ast_frame_free(), ast_slinfactory_feed(), ast_speech_results_free(), ast_srv_lookup(), AST_TEST_DEFINE(), ast_walk_context_switches(), ast_write(), ast_writestream(), build_cc_interfaces_chanvar(), cc_cli_print_monitor_stats(), cli_next(), conf_run(), create_dtmf_frame(), create_video_frame(), do_devstate_changes(), find_result(), find_user(), group_count_function_read(), group_function_read(), group_list_function_read(), group_show_channels(), handle_keypad_button_message(), handle_onhook_message(), handle_soft_key_event_message(), handle_speechrecognize(), internal_ao2_iterator_next(), logger_thread(), mixmonitor_thread(), peer_mailboxes_to_str(), remove_dead_dialplan_useage(), remove_dead_ramp_usage(), remove_dead_spaces_usage(), reschedule_precache(), skinny_call(), skinny_hangup(), speech_read(), spy_generate(), udptl_rx_packet(), update_ewscal(), and update_qe_rule().
#define AST_LIST_REMOVE | ( | head, | |||
elm, | |||||
field | ) |
Removes a specific entry from a list.
head | This is a pointer to the list head structure | |
elm | This is a pointer to the entry to be removed. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 839 of file linkedlists.h.
Referenced by __ast_module_user_remove(), __ast_queue_frame(), __attempt_transmit(), agent_hangup(), ast_audiohook_remove(), ast_autoservice_start(), ast_channel_clear_softhangup(), ast_channel_datastore_remove(), astman_datastore_remove(), bridge_channel_join(), conf_free(), delete_devices(), destroy_packet(), handle_frame(), handle_frame_ownerless(), handle_onhook_message(), handle_soft_key_event_message(), iax_frame_new(), leave_conference_bridge(), moh_release(), park_space_abort(), release_transaction(), resend_with_token(), shared_write(), skinny_hangup(), and unregister_request().
#define AST_LIST_REMOVE_CURRENT | ( | field | ) |
Removes the current entry from a list during a traversal.
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 554 of file linkedlists.h.
Referenced by __ast_context_destroy(), __ast_queue_frame(), __ast_read(), acf_curlopt_write(), acf_iaxvar_write(), acf_jabberreceive_read(), ast_autochan_destroy(), ast_autoservice_stop(), ast_calendar_unregister(), ast_cdr_setvar(), ast_channel_unregister(), ast_context_remove_switch2(), ast_dial_destroy(), ast_framehook_list_destroy(), ast_frdup(), ast_loader_unregister(), ast_module_shutdown(), ast_module_unregister(), ast_odbc_clear_cache(), ast_register_indication(), ast_unlock_path_flock(), ast_unregister_indication(), audio_audiohook_write_list(), build_peer(), cancel_available_timer(), cc_generic_monitor_destructor(), cc_monitor_failed(), clearvar_prefix(), complete_dpreply(), delete_old_messages(), destroy_session(), do_pktccops(), drop_translator(), dtmf_audiohook_write_list(), find_cache(), forward_message(), framehook_list_push_event(), func_inheritance_write(), handle_unsubscribe(), iax_frame_new(), iax_provision_free_templates(), inotify_daemon(), internal_ao2_callback(), load_resource_list(), manage_parkinglot(), parked_call_exec(), pbx_builtin_setvar_helper(), prune_mappings(), prune_peers(), prune_tone_zone(), queue_created_files(), queue_file_open(), queue_file_write(), read_agent_config(), reload_firmware(), request_cc(), reschedule_precache(), shaun_of_the_dead(), sip_removeheader(), skinny_reload(), sla_calc_station_timeouts(), sla_calc_trunk_timeouts(), sla_check_failed_station(), sla_choose_ringing_trunk(), sla_handle_dial_state_event(), sla_hangup_stations(), sla_station_exec(), sla_trunk_exec(), suspend(), timing_read(), unload_pgsql(), unsuspend(), and usage_context_add_spaces().
#define AST_LIST_REMOVE_HEAD | ( | head, | |||
field | ) |
Removes and returns the head entry from a list.
head | This is a pointer to the list head structure | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
Definition at line 818 of file linkedlists.h.
Referenced by __ast_answer(), __ast_internal_context_destroy(), __ast_module_user_hangup_all(), __sip_destroy(), acf_fetch(), agi_destroy_commands_cb(), announce_thread(), app_exec(), append_history_va(), ast_aji_client_destroy(), ast_audiohook_detach_list(), ast_autoservice_stop(), ast_bridge_features_cleanup(), ast_bridge_merge(), ast_cdr_free_vars(), ast_channel_destructor(), ast_destroy_template_list(), ast_do_masquerade(), ast_dummy_channel_destructor(), ast_event_sub_destroy(), ast_frame_header_new(), ast_get_srv(), ast_merge_contexts_and_delete(), ast_process_pending_reloads(), ast_safe_sleep_conditional(), ast_slinfactory_destroy(), ast_slinfactory_flush(), ast_slinfactory_read(), ast_srv_lookup(), ast_tone_zone_destructor(), ast_unregister_groups(), audiohook_inheritance_destroy(), calendar_event_destructor(), cancel_request(), cc_extension_monitor_destructor(), cc_interface_tree_destroy(), cleanup_thread_list(), clear_peer_mailboxes(), clear_sip_domains(), conf_free(), container_destruct(), container_destruct_debug(), copy_event_data(), curlds_free(), delete_devices(), delete_extension(), delete_users(), destroy_all_mailbox_mappings(), destroy_calling_tree(), destroy_dialplan_usage_context(), destroy_dialplan_usage_map(), destroy_packets(), destroy_permissions(), destroy_realm_authentication(), destroy_session_details(), destroy_station(), destroy_table(), destroy_trunk(), destroy_user_perms(), dialed_interface_destroy(), do_directory(), dundi_lookup_local(), eivr_comm(), event_channel_destroy(), eventlist_destructor(), feature_request_and_dial(), find_idle_thread(), forward_message(), frame_cache_cleanup(), free_config(), free_numbers(), free_vm_users(), free_vm_zones(), gen_nextfile(), gen_readframe(), generic_monitor_instance_list_destructor(), get_agi_cmd(), gosub_free(), gosub_release_frame(), handle_deferred_full_frames(), iax2_free_variable_datastore(), init_queue(), leave_queue(), lock_free(), loopback_subst(), message_destroy_list(), moh_class_destructor(), odbc_datastore_free(), odbc_txn_free(), pbx_builtin_clear_globals(), pktccops_unregister_cmtses(), pktccops_unregister_ippools(), pop_exec(), process_precache(), profile_destructor(), pvt_destructor(), queue_reload_request(), reload(), reload_queue_rules(), return_exec(), rpt(), run_devstate_collector(), scan_thread(), sched_alloc(), sched_context_destroy(), send_signaling(), session_destroy(), session_destructor(), shared_variable_free(), sip_epa_unregister_all(), sip_threadinfo_destructor(), skinny_reload(), sla_stop_ringing_trunk(), sla_thread(), spandsp_fax_read(), table_configs_free(), timezone_destroy_list(), tps_taskprocessor_pop(), unload_module(), unregister_translators(), user_destructor(), and vmaccounts_destroy_list().
#define AST_LIST_TRAVERSE | ( | head, | |||
var, | |||||
field | ) | for((var) = (head)->first; (var); (var) = (var)->field.next) |
Loops over (traverses) the entries in a list.
head | This is a pointer to the list head structure | |
var | This is the name of the variable that will hold a pointer to the current list entry on each iteration. It must be declared before calling this macro. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
static AST_LIST_HEAD(entry_list, list_entry) entries; ... struct list_entry { ... AST_LIST_ENTRY(list_entry) list; } ... struct list_entry *current; ... AST_LIST_TRAVERSE(&entries, current, list) { (do something with current here) }
Definition at line 490 of file linkedlists.h.
Referenced by __ast_queue_frame(), _sip_show_peer(), _skinny_show_device(), _skinny_show_devices(), _skinny_show_line(), _skinny_show_lines(), acf_curl_helper(), acf_curlopt_helper(), acf_iaxvar_read(), acf_meetme_info(), ack_trans(), action_agents(), action_meetmelist(), add_agent(), add_peer_mailboxes(), add_peer_mwi_subs(), add_to_load_order(), add_user_extension(), admin_exec(), agent_devicestate(), agent_logoff(), agent_request(), agentmonitoroutgoing_exec(), agents_data_provider_get(), agents_show(), agents_show_online(), ais_evt_show_event_channels(), app_exec(), append_channel_vars(), ast_autochan_new_channel(), ast_autoservice_ignore(), ast_autoservice_start(), ast_bridge_destroy(), ast_bridge_dtmf_stream(), ast_calendar_register(), ast_cc_extension_monitor_add_dialstring(), ast_cc_get_monitor_by_recall_core_id(), ast_cc_is_recall(), ast_cdr_copy_vars(), ast_cdr_data_add_structure(), ast_cdr_getvar_internal(), ast_cdr_serialize_variables(), ast_channel_audiohook_count_by_source(), ast_channel_audiohook_count_by_source_running(), ast_channel_datastore_find(), ast_channel_datastore_inherit(), ast_channel_inherit_variables(), ast_cli_perms_init(), ast_config_text_file_save(), ast_context_add_switch2(), ast_debug_get_by_module(), ast_dial_hangup(), ast_event_check_subscriber(), ast_event_new(), ast_event_report_subs(), ast_get_indication_tone(), ast_handle_cc_control_frame(), ast_module_helper(), ast_module_reload(), ast_odbc_retrieve_transaction_obj(), ast_set_cc_interfaces_chanvar(), ast_slinfactory_feed(), ast_srv_get_nth_record(), ast_srv_lookup(), ast_str_retrieve_variable(), AST_TEST_DEFINE(), ast_tone_zone_data_add_structure(), ast_tzset(), ast_update_module_list(), ast_update_use_count(), ast_verbose_get_by_module(), audiohook_inheritance_fixup(), autoservice_run(), begin_dial(), bridge_channel_feature(), bridge_check_dissolve(), bridge_handle_dtmf(), build_cc_interfaces_chanvar(), build_conf(), build_mapping(), build_peer(), build_transactions(), build_user_routes(), calendar_join_attendees(), calendar_query_result_exec(), cc_extension_monitor_change_is_valid(), cc_generic_monitor_destructor(), cc_generic_monitor_suspend(), cc_generic_monitor_unsuspend(), cc_status_response(), cdr_merge_vars(), channel_admin_exec(), check_availability(), check_beep(), check_request(), check_sip_domain(), clear_calling_tree(), cli_has_permissions(), clone_variables(), complete_agent_logoff_cmd(), complete_indications(), complete_meetmecmd(), complete_minivm_show_users(), complete_peer_helper(), complete_queue_rule_show(), complete_skinny_devices(), complete_skinny_show_line(), complete_transfer(), complete_voicemail_show_users(), conf_exec(), config_cache_attribute(), config_device(), config_line(), config_parse_variables(), config_text_file_load(), cops_gate_cmd(), copy_rules(), count_monitors_cb(), custom_log(), data_filter_destructor(), data_filter_find(), deep_copy_peer(), destroy_station(), destroy_trans(), dial_exec_full(), dialed_interface_duplicate(), discover_transactions(), do_directory(), do_pktccops(), dump_cache_cb(), dundi_answer_query(), dundi_flush(), dundi_ie_append_eid_appropriately(), dundi_precache_full(), dundi_precache_internal(), dundi_show_mappings(), dundi_show_peer(), dundi_show_peers(), dundi_show_precache(), dundi_show_requests(), dundi_show_trans(), feature_interpret_helper(), find_account(), find_agent(), find_audiohook_by_source(), find_bridge_channel(), find_by_locale(), find_by_name(), find_column(), find_conf(), find_conf_realtime(), find_dial_channel(), find_group(), find_line_by_instance(), find_line_by_name(), find_module_level(), find_or_create(), find_peer(), find_realm_authentication(), find_relative_dial_channel(), find_resource(), find_speeddial_by_instance(), find_static_data(), find_subchannel_by_instance_reference(), find_subchannel_by_reference(), find_table(), find_tpeer(), find_transaction(), find_user(), findmeexec(), frame_set_var(), gen_sub_event(), generate_filenames_string(), generic_monitor_devstate_tp_cb(), get_button_template(), get_cached_mwi(), get_devicestate(), get_lock(), get_trans_id(), gmtsub(), handle_button_template_req_message(), handle_capabilities_res_message(), handle_cli_config_list(), handle_cli_config_reload(), handle_cli_iax2_show_cache(), handle_cli_iax2_show_firmware(), handle_cli_iax2_show_registry(), handle_cli_iax2_show_stats(), handle_cli_iax2_show_threads(), handle_cli_indication_show(), handle_cli_realtime_pgsql_cache(), handle_cli_show_permissions(), handle_event(), handle_feature_show(), handle_minivm_list_templates(), handle_minivm_show_users(), handle_minivm_show_zones(), handle_offhook_message(), handle_parkedcalls(), handle_queue_rule_show(), handle_show_globals(), handle_skinny_reset(), handle_timeout_trip(), handle_voicemail_show_users(), handle_voicemail_show_zones(), has_device_monitors(), has_permission(), hashkeys_read(), hashkeys_read2(), iax2_call(), iax2_dup_variable_datastore(), iax_check_version(), iax_firmware_append(), iax_prov_complete_template(), iax_provision_reload(), iax_show_provisioning(), iax_template_find(), insert_penaltychange(), internal_ao2_iterator_next(), leave_conference_bridge(), load_module(), local_call(), local_read(), lock_broker(), lock_fixup(), login_exec(), manager_iax2_show_registry(), manager_list_voicemail_users(), manager_parking_status(), manager_queue_rule_show(), mark_mappings(), mark_peers(), mark_transaction_active(), match_sub_ie_val_to_event(), meetme_data_provider_get(), meetme_show_cmd(), meetmemute(), meetmestate(), message_template_find(), mgcp_call(), monitor_dial(), monmp3thread(), mwi_event_cb(), mwi_monitor_handler(), network_change_event_sched_cb(), odbc_log(), optimize_transactions(), ospauth_exec(), ospfinished_exec(), osplookup_exec(), ospnext_exec(), park_space_reserve(), pbx_builtin_getvar_helper(), pbx_builtin_serialize_variables(), pbx_find_extension(), peek_read(), peer_mailboxes_to_str(), peers_data_provider_get(), phoneprov_callback(), pktccops_gatedel(), pktccops_gateset(), pktccops_show_cmtses(), pktccops_show_gates(), pktccops_show_pools(), play_message_datetime(), post_join_marked(), pp_each_extension_helper(), precache_transactions(), process_weights(), pvt_destructor(), query_transactions(), queue_file(), queue_file_create(), queue_reload_request(), read_agent_config(), register_request(), reload(), reload_config(), reload_firmware(), reload_followme(), require_pgsql(), reset_user_pw(), rpt(), sendfax_exec(), sendmail(), set_config_flags(), shared_read(), shared_write(), sip_call(), sip_dump_history(), sip_show_domains(), sip_show_history(), sip_show_settings(), skinny_register(), skinny_reload(), skinny_unregister(), sla_calc_station_delays(), sla_calc_station_timeouts(), sla_change_trunk_state(), sla_check_inuse_station(), sla_check_ringing_station(), sla_check_station_hold_access(), sla_check_timed_out_station(), sla_choose_idle_trunk(), sla_choose_ringing_trunk(), sla_find_trunk_ref(), sla_find_trunk_ref_byname(), sla_hangup_stations(), sla_queue_event_conf(), sla_ring_stations(), sla_show_stations(), sla_show_trunks(), sla_state(), sla_stop_ringing_station(), smart_bridge_operation(), socket_process(), socket_read(), softmix_bridge_thread(), syslog_log(), table_config_for_table_name(), tone_zone_mark(), transmit_invite(), try_firmware(), unload_module(), unlock_read(), update_pgsql(), vm_users_data_provider_get(), vm_users_data_provider_get_helper(), vmu_tm(), vnak_retransmit(), wait_for_winner(), write_cdr(), and xmldoc_get_node().
#define AST_LIST_TRAVERSE_SAFE_BEGIN | ( | head, | |||
var, | |||||
field | ) |
Loops safely over (traverses) the entries in a list.
head | This is a pointer to the list head structure | |
var | This is the name of the variable that will hold a pointer to the current list entry on each iteration. It must be declared before calling this macro. | |
field | This is the name of the field (declared using AST_LIST_ENTRY()) used to link entries of this list together. |
static AST_LIST_HEAD(entry_list, list_entry) entries; ... struct list_entry { ... AST_LIST_ENTRY(list_entry) list; } ... struct list_entry *current; ... AST_LIST_TRAVERSE_SAFE_BEGIN(&entries, current, list) { (do something with current here) } AST_LIST_TRAVERSE_SAFE_END;
It differs from AST_LIST_TRAVERSE() in that the code inside the loop can modify (or even free, after calling AST_LIST_REMOVE_CURRENT()) the entry pointed to by the current pointer without affecting the loop traversal.
Definition at line 528 of file linkedlists.h.
Referenced by __ast_context_destroy(), __ast_queue_frame(), __ast_read(), acf_curlopt_write(), acf_iaxvar_write(), acf_jabberreceive_read(), add_event_to_list(), add_user_extension(), ast_autochan_destroy(), ast_autoservice_stop(), ast_calendar_unregister(), ast_cdr_setvar(), ast_context_remove_switch2(), ast_dial_destroy(), ast_do_masquerade(), ast_framehook_detach(), ast_framehook_list_destroy(), ast_frdup(), ast_loader_unregister(), ast_module_shutdown(), ast_module_unregister(), ast_register_indication(), ast_unlock_path_flock(), ast_unregister_indication(), astman_datastore_find(), audio_audiohook_write_list(), build_peer(), cancel_available_timer(), cc_generic_monitor_destructor(), cc_monitor_failed(), cdr_merge_vars(), clearvar_prefix(), complete_dpreply(), defer_full_frame(), delete_old_messages(), destroy_session(), dialplan_usage_add_parkinglot(), do_pktccops(), drop_translator(), dtmf_audiohook_write_list(), find_cache(), forward_message(), framehook_list_push_event(), func_inheritance_write(), iax_frame_new(), iax_provision_free_templates(), inotify_daemon(), insert_penaltychange(), internal_ao2_callback(), load_resource_list(), manage_parkinglot(), parked_call_exec(), pbx_builtin_setvar_helper(), precache_transactions(), process_weights(), prune_mappings(), prune_peers(), prune_tone_zone(), queue_created_files(), queue_file(), queue_file_open(), queue_file_write(), read_agent_config(), reload_firmware(), request_cc(), reschedule_precache(), shaun_of_the_dead(), sip_removeheader(), skinny_reload(), sla_calc_station_timeouts(), sla_calc_trunk_timeouts(), sla_check_failed_station(), sla_choose_ringing_trunk(), sla_handle_dial_state_event(), sla_hangup_stations(), sla_station_exec(), sla_trunk_exec(), srv_callback(), suspend(), timing_read(), unload_pgsql(), unsuspend(), usage_context_add_ramp(), and usage_context_add_spaces().
#define AST_LIST_TRAVERSE_SAFE_END } |
Closes a safe loop traversal block.
Definition at line 600 of file linkedlists.h.
Referenced by __ast_context_destroy(), __ast_queue_frame(), __ast_read(), acf_curlopt_write(), acf_iaxvar_write(), acf_jabberreceive_read(), add_event_to_list(), add_user_extension(), ast_autochan_destroy(), ast_autoservice_stop(), ast_calendar_unregister(), ast_cdr_setvar(), ast_channel_unregister(), ast_context_remove_switch2(), ast_do_masquerade(), ast_framehook_detach(), ast_framehook_list_destroy(), ast_frdup(), ast_loader_unregister(), ast_module_shutdown(), ast_module_unregister(), ast_register_indication(), ast_unlock_path_flock(), ast_unregister_indication(), astman_datastore_find(), audio_audiohook_write_list(), build_peer(), cancel_available_timer(), cc_generic_monitor_destructor(), cc_monitor_failed(), cdr_merge_vars(), clearvar_prefix(), complete_dpreply(), defer_full_frame(), delete_old_messages(), destroy_session(), dialplan_usage_add_parkinglot(), do_pktccops(), drop_translator(), dtmf_audiohook_write_list(), find_cache(), forward_message(), framehook_list_push_event(), func_inheritance_write(), iax_frame_new(), iax_provision_free_templates(), inotify_daemon(), insert_penaltychange(), internal_ao2_callback(), load_resource_list(), manage_parkinglot(), parked_call_exec(), pbx_builtin_setvar_helper(), precache_transactions(), process_weights(), prune_mappings(), prune_peers(), prune_tone_zone(), queue_created_files(), queue_file(), queue_file_open(), queue_file_write(), read_agent_config(), reload_firmware(), request_cc(), reschedule_precache(), shaun_of_the_dead(), sip_removeheader(), skinny_reload(), sla_calc_station_timeouts(), sla_calc_trunk_timeouts(), sla_check_failed_station(), sla_choose_ringing_trunk(), sla_handle_dial_state_event(), sla_hangup_stations(), sla_station_exec(), sla_trunk_exec(), srv_callback(), suspend(), timing_read(), unload_pgsql(), unsuspend(), usage_context_add_ramp(), and usage_context_add_spaces().
#define AST_LIST_TRYLOCK | ( | head | ) | ast_mutex_trylock(&(head)->lock) |
Locks a list, without blocking if the list is locked.
head | This is a pointer to the list head structure |
0 | on success | |
non-zero | on failure |
Definition at line 104 of file linkedlists.h.
Referenced by ast_update_module_list().
#define AST_LIST_UNLOCK | ( | head | ) | ast_mutex_unlock(&(head)->lock) |
Attempts to unlock a list.
head | This is a pointer to the list head structure |
Definition at line 139 of file linkedlists.h.
Referenced by __ast_module_user_add(), __ast_module_user_hangup_all(), __ast_module_user_remove(), _skinny_show_device(), _skinny_show_devices(), _skinny_show_line(), _skinny_show_lines(), abort_request(), accept_thread(), acf_curl_helper(), acf_curlopt_helper(), acf_curlopt_write(), acf_fetch(), acf_iaxvar_read(), acf_iaxvar_write(), acf_jabberreceive_read(), acf_meetme_info(), action_agents(), action_meetmelist(), actual_load_config(), add_agi_cmd(), add_sip_domain(), admin_exec(), agent_devicestate(), agent_hangup(), agent_logoff(), agent_request(), agentmonitoroutgoing_exec(), agents_data_provider_get(), agents_show(), agents_show_online(), agi_destroy_commands_cb(), aji_handle_message(), ast_autoservice_ignore(), ast_autoservice_start(), ast_autoservice_stop(), ast_calendar_register(), ast_calendar_unregister(), ast_cc_agent_set_interfaces_chanvar(), ast_cc_call_init(), ast_cc_extension_monitor_add_dialstring(), ast_cc_get_monitor_by_recall_core_id(), ast_cc_is_recall(), ast_devstate_changed_literal(), ast_dial_hangup(), ast_dial_join(), ast_handle_cc_control_frame(), ast_load_resource(), ast_loader_register(), ast_loader_unregister(), ast_localtime_wakeup_monitor(), ast_lock_path_flock(), ast_log(), ast_module_helper(), ast_module_register(), ast_module_reload(), ast_module_shutdown(), ast_module_unregister(), ast_odbc_retrieve_transaction_obj(), ast_process_pending_reloads(), ast_safe_fork(), ast_set_cc_interfaces_chanvar(), ast_setlocale(), ast_tzset(), ast_unload_resource(), ast_unlock_path_flock(), ast_update_module_list(), ast_update_use_count(), autoservice_run(), begin_dial(), build_conf(), build_peer(), cancel_available_timer(), cancel_request(), cb_events(), cc_monitor_failed(), cc_status_response(), channel_admin_exec(), check_availability(), check_beep(), check_request(), check_sip_domain(), cleanup_thread_list(), clear_sip_domains(), close_logger(), complete_agent_logoff_cmd(), complete_dpreply(), complete_meetmecmd(), complete_peer_helper(), complete_queue_rule_show(), conf_exec(), conf_free(), conf_play(), config_cache_attribute(), config_device(), config_line(), config_text_file_load(), cops_gate_cmd(), copy_rules(), count_monitors_cb(), create_vmaccount(), delete_devices(), delete_old_messages(), delete_users(), destroy_session(), dial_exec_full(), dialed_interface_destroy(), dialed_interface_duplicate(), discover_transactions(), dispose_conf(), do_devstate_changes(), do_pktccops(), drop_translator(), dundi_flush(), dundi_ie_append_eid_appropriately(), dundi_lookup_thread(), dundi_precache_internal(), dundi_precache_thread(), dundi_query_thread(), dundi_rexmit(), dundi_show_entityid(), dundi_show_mappings(), dundi_show_peers(), dundi_show_precache(), dundi_show_requests(), dundi_show_trans(), eivr_comm(), find_account(), find_cache(), find_conf(), find_conf_realtime(), find_dial_channel(), find_idle_thread(), find_line_by_name(), find_relative_dial_channel(), find_resource(), find_static_data(), find_table(), find_tpeer(), find_transaction(), find_user(), free_vm_users(), free_vm_zones(), function_agent(), gen_nextfile(), gen_readframe(), get_agi_cmd(), get_button_template(), get_lock(), gmtsub(), gosub_exec(), gosub_free(), handle_call_forward(), handle_cli_config_list(), handle_cli_config_reload(), handle_cli_iax2_show_cache(), handle_cli_iax2_show_firmware(), handle_cli_iax2_show_registry(), handle_cli_iax2_show_threads(), handle_cli_realtime_pgsql_cache(), handle_command_response(), handle_frame(), handle_frame_ownerless(), handle_minivm_list_templates(), handle_minivm_show_users(), handle_minivm_show_zones(), handle_parkedcalls(), handle_queue_rule_show(), handle_skinny_reset(), handle_voicemail_show_users(), handle_voicemail_show_zones(), iax2_append_register(), iax2_call(), iax2_canmatch(), iax2_dup_variable_datastore(), iax2_exec(), iax2_exists(), iax2_free_variable_datastore(), iax2_matchmore(), iax_check_version(), iax_firmware_append(), inotify_daemon(), insert_idle_thread(), load_module(), local_read(), local_write(), lock_broker(), lock_fixup(), lock_free(), logger_thread(), login_exec(), manage_parkinglot(), manager_iax2_show_registry(), manager_list_voicemail_users(), manager_parking_status(), manager_queue_rule_show(), mark_mappings(), mark_peers(), mark_transaction_active(), meetme_data_provider_get(), meetme_show_cmd(), meetmemute(), meetmestate(), message_destroy_list(), message_template_build(), message_template_find(), misdn_call(), misdn_facility_ie_handler(), misdn_request(), monitor_dial(), network_change_event_sched_cb(), network_thread(), odbc_datastore_free(), odbc_txn_free(), park_call_full(), park_space_abort(), park_space_reserve(), parked_call_exec(), pktccops_add_ippool(), pktccops_gatedel(), pktccops_gateset(), pktccops_show_cmtses(), pktccops_show_gates(), pktccops_show_pools(), pktccops_unregister_cmtses(), pktccops_unregister_ippools(), play_message_datetime(), pop_exec(), precache_transactions(), print_stats_cb(), process_precache(), prune_mappings(), prune_peers(), query_transactions(), queue_file(), queue_reload_request(), read_agent_config(), recordthread(), register_request(), register_translator(), release_transaction(), reload(), reload_config(), reload_firmware(), reload_queue_rules(), request_cc(), reschedule_precache(), reset_user_pw(), return_exec(), scan_thread(), sendmail(), set_config(), shaun_of_the_dead(), sip_epa_register(), sip_epa_unregister_all(), sip_show_domains(), skinny_register(), skinny_reload(), socket_process(), socket_read(), start_network_thread(), store_by_locale(), suspend(), timezone_add(), timezone_destroy_list(), timing_read(), unload_module(), unload_pgsql(), unlock_read(), unregister_request(), unregister_translators(), unsuspend(), vm_users_data_provider_get(), vm_users_data_provider_get_helper(), vmaccounts_destroy_list(), and vmu_tm().
#define AST_RWLIST_APPEND_LIST AST_LIST_APPEND_LIST |
Definition at line 783 of file linkedlists.h.
#define AST_RWLIST_EMPTY AST_LIST_EMPTY |
Definition at line 451 of file linkedlists.h.
Referenced by __ast_manager_event_multichan(), add_redirect(), ast_http_uri_link(), ast_log(), handle_cli_status(), handle_feature_show(), handle_show_applications(), handle_show_http(), handle_show_switches(), handle_showmanagers(), handle_verbose(), load_config(), logger_print_normal(), reload(), and unload_module().
#define AST_RWLIST_ENTRY AST_LIST_ENTRY |
Definition at line 414 of file linkedlists.h.
#define AST_RWLIST_FIRST AST_LIST_FIRST |
Definition at line 422 of file linkedlists.h.
Referenced by add_redirect(), ast_app_group_list_head(), ast_event_check_subscriber(), ast_http_uri_link(), ast_rtp_instance_new(), ast_speech_unregister(), and purge_events().
#define AST_RWLIST_HEAD | ( | name, | |||
type | ) |
Value:
Defines a structure to be used to hold a read/write list of specified type.
name | This will be the name of the defined structure. | |
type | This is the type of each list entry. |
Example usage:
static AST_RWLIST_HEAD(entry_list, entry) entries;
This would define struct
entry_list
, and declare an instance of it named entries, all intended to hold a list of type struct
entry
.
Definition at line 198 of file linkedlists.h.
#define AST_RWLIST_HEAD_DESTROY | ( | head | ) |
Value:
{ \ (head)->first = NULL; \ (head)->last = NULL; \ ast_rwlock_destroy(&(head)->lock); \ }
head | This is a pointer to the list head structure |
Definition at line 652 of file linkedlists.h.
Referenced by destroy_table_cache(), and free_table().
#define AST_RWLIST_HEAD_INIT | ( | head | ) |
Value:
{ \ (head)->first = NULL; \ (head)->last = NULL; \ ast_rwlock_init(&(head)->lock); \ }
head | This is a pointer to the list head structure |
Definition at line 624 of file linkedlists.h.
Referenced by ast_odbc_find_table().
#define AST_RWLIST_HEAD_INIT_VALUE |
Value:
{ \ .first = NULL, \ .last = NULL, \ .lock = AST_RWLOCK_INIT_VALUE, \ }
Definition at line 242 of file linkedlists.h.
#define AST_RWLIST_HEAD_SET | ( | head, | |||
entry | ) |
Value:
do { \ (head)->first = (entry); \ (head)->last = (entry); \ ast_rwlock_init(&(head)->lock); \ } while (0)
head | This is a pointer to the list head structure | |
entry | pointer to the list entry that will become the head of the list |
Definition at line 373 of file linkedlists.h.
#define AST_RWLIST_HEAD_STATIC | ( | name, | |||
type | ) |
Value:
struct name { \ struct type *first; \ struct type *last; \ ast_rwlock_t lock; \ } name = AST_RWLIST_HEAD_INIT_VALUE
name | This will be the name of the defined structure. | |
type | This is the type of each list entry. |
Example usage:
static AST_RWLIST_HEAD_STATIC(entry_list, entry);
This would define struct
entry_list
, intended to hold a list of type struct
entry
.
Definition at line 332 of file linkedlists.h.
#define AST_RWLIST_INSERT_AFTER AST_LIST_INSERT_AFTER |
Definition at line 687 of file linkedlists.h.
Referenced by add_redirect(), ast_http_uri_link(), and ast_manager_register_struct().
#define AST_RWLIST_INSERT_BEFORE_CURRENT AST_LIST_INSERT_BEFORE_CURRENT |
Definition at line 595 of file linkedlists.h.
Referenced by __ast_cli_register(), __ast_custom_function_register(), __ast_register_translator(), and ast_register_application2().
#define AST_RWLIST_INSERT_HEAD AST_LIST_INSERT_HEAD |
Definition at line 703 of file linkedlists.h.
Referenced by __ast_format_register(), __ast_register_translator(), add_redirect(), ast_cdr_register(), ast_channel_register(), ast_devstate_prov_add(), ast_dnsmgr_get_family(), ast_http_uri_link(), ast_image_register(), ast_manager_register_struct(), ast_register_atexit(), ast_register_feature(), ast_register_file_version(), ast_register_thread(), ast_register_verbose(), ast_speech_register(), init_logger_chain(), load_module(), reload(), and reload_followme().
#define AST_RWLIST_INSERT_LIST_AFTER AST_LIST_INSERT_LIST_AFTER |
Definition at line 807 of file linkedlists.h.
#define AST_RWLIST_INSERT_SORTALPHA AST_LIST_INSERT_SORTALPHA |
Definition at line 756 of file linkedlists.h.
#define AST_RWLIST_INSERT_TAIL AST_LIST_INSERT_TAIL |
Definition at line 726 of file linkedlists.h.
Referenced by __ast_bridge_technology_register(), __ast_cli_register(), __ast_custom_function_register(), add_redirect(), append_event(), ast_app_group_set_channel(), ast_cc_agent_register(), ast_cc_monitor_register(), ast_fax_tech_register(), ast_http_uri_link(), ast_manager_register_hook(), ast_odbc_find_table(), ast_register_application2(), ast_register_switch(), ast_rtp_engine_register2(), ast_rtp_glue_register2(), ast_udptl_proto_register(), config_function_read(), config_module(), handle_subscribe(), handle_verbose(), load_channelvars(), load_config(), and try_load_key().
#define AST_RWLIST_LAST AST_LIST_LAST |
#define AST_RWLIST_MOVE_CURRENT AST_LIST_MOVE_CURRENT |
Definition at line 573 of file linkedlists.h.
#define AST_RWLIST_NEXT AST_LIST_NEXT |
Definition at line 440 of file linkedlists.h.
Referenced by action_waitevent(), add_redirect(), advance_event(), append_event(), ast_http_uri_link(), and purge_events().
#define AST_RWLIST_RDLOCK | ( | head | ) | ast_rwlock_rdlock(&(head)->lock) |
Read locks a list.
head | This is a pointer to the list head structure |
0 | on success | |
non-zero | on failure |
Definition at line 77 of file linkedlists.h.
Referenced by __ast_cli_generator(), __ast_manager_event_multichan(), acf_odbc_read(), acf_odbc_write(), action_find(), action_listcommands(), advance_event(), ais_evt_show_event_channels(), app_exec(), append_channel_vars(), ast_app_group_get_count(), ast_app_group_list_rdlock(), ast_app_group_match_get_count(), ast_channeltype_list(), ast_cli_command_full(), ast_complete_applications(), ast_complete_source_filename(), ast_custom_function_find(), ast_debug_get_by_module(), ast_filehelper(), ast_format_str_reduce(), ast_get_channel_tech(), ast_key_get(), ast_odbc_find_table(), ast_queue_log(), ast_read_image(), ast_readfile(), ast_request(), ast_rtp_instance_get_glue(), ast_rtp_instance_new(), ast_run_atexits(), ast_translate_available_formats(), ast_translate_path_steps(), ast_translator_best_choice(), ast_translator_build_path(), ast_verbose_get_by_module(), ast_writefile(), cli_fax_show_capabilities(), cli_fax_show_settings(), cli_fax_show_stats(), cli_fax_show_version(), cli_has_permissions(), cli_odbc_read(), cli_odbc_write(), complete_channeltypes(), config_function_read(), custom_log(), data_channeltypes_provider_handler(), destroy_station(), fax_session_new(), fax_session_reserve(), feature_interpret_helper(), find_agent_callbacks(), find_best(), find_best_technology(), find_command(), find_engine(), find_monitor_callbacks(), find_table(), get_proto(), getproviderstate(), handle_cli_core_show_channeltype(), handle_cli_core_show_channeltypes(), handle_cli_core_show_file_formats(), handle_cli_core_show_translation(), handle_cli_keys_show(), handle_cli_show_permissions(), handle_cli_sqlite_show_tables(), handle_cli_status(), handle_core_show_image_formats(), handle_feature_show(), handle_help(), handle_logger_show_channels(), handle_show_application(), handle_show_applications(), handle_show_function(), handle_show_functions(), handle_show_http(), handle_show_switches(), handle_show_threads(), handle_show_version_files(), handle_showmanager(), handle_showmanagers(), handle_showmancmd(), handle_showmancmds(), handle_showmaneventq(), handle_uri(), help1(), help_workhorse(), logger_print_normal(), manager_displayconnects(), odbc_log(), pbx_findapp(), pbx_findswitch(), pgsql_log(), poll_subscribed_mailboxes(), post_cdr(), process_applicationmap_line(), refresh_list(), set_config_flags(), sla_add_trunk_to_station(), sla_check_reload(), sla_queue_event_conf(), sla_show_stations(), sla_show_trunks(), sla_state(), sla_station_exec(), sla_trunk_exec(), syslog_log(), write_htmldump(), and xmldoc_get_node().
#define AST_RWLIST_REMOVE AST_LIST_REMOVE |
Definition at line 866 of file linkedlists.h.
Referenced by __ast_cli_unregister(), ast_custom_function_unregister(), ast_dnsmgr_release(), ast_http_uri_unlink(), ast_image_unregister(), ast_manager_unregister_hook(), ast_rtp_engine_unregister(), ast_rtp_glue_unregister(), ast_udptl_proto_unregister(), ast_unregister_feature(), ast_unregister_switch(), and handle_verbose().
#define AST_RWLIST_REMOVE_CURRENT AST_LIST_REMOVE_CURRENT |
Definition at line 565 of file linkedlists.h.
Referenced by ast_agi_unregister(), ast_app_group_discard(), ast_app_group_set_channel(), ast_app_group_update(), ast_bridge_technology_unregister(), ast_cc_agent_unregister(), ast_cc_monitor_unregister(), ast_cdr_unregister(), ast_devstate_prov_del(), ast_fax_tech_unregister(), ast_format_unregister(), ast_http_uri_unlink_all_with_key(), ast_manager_unregister(), ast_speech_unregister(), ast_unregister_application(), ast_unregister_atexit(), ast_unregister_file_version(), ast_unregister_thread(), ast_unregister_translator(), ast_unregister_verbose(), crypto_load(), purge_events(), realtime_unload_handler(), and sla_load_config().
#define AST_RWLIST_REMOVE_HEAD AST_LIST_REMOVE_HEAD |
Definition at line 829 of file linkedlists.h.
Referenced by __ast_http_load(), ast_unregister_features(), destroy_event_channels(), destroy_table_cache(), free_channelvars(), free_config(), free_table(), handle_verbose(), init_logger_chain(), purge_events(), reload(), sla_destroy(), unload_config(), and unload_module().
#define AST_RWLIST_TIMEDRDLOCK | ( | head, | |||
ts | ) | ast_rwlock_timedrdlock(&(head)->lock, ts) |
Read locks a list, with timeout.
head | This is a pointer to the list head structure | |
ts | Pointer to a timespec structure |
0 | on success | |
non-zero | on failure |
Definition at line 92 of file linkedlists.h.
#define AST_RWLIST_TIMEDWRLOCK | ( | head, | |||
ts | ) | ast_rwlock_timedwrlock(&(head)->lock, ts) |
Write locks a list, with timeout.
head | This is a pointer to the list head structure | |
ts | Pointer to a timespec structure |
0 | on success | |
non-zero | on failure |
Definition at line 66 of file linkedlists.h.
#define AST_RWLIST_TRAVERSE AST_LIST_TRAVERSE |
Definition at line 493 of file linkedlists.h.
Referenced by __ast_bridge_technology_register(), __ast_custom_function_register(), __ast_format_register(), __ast_manager_event_multichan(), acf_odbc_read(), acf_odbc_write(), action_find(), action_listcommands(), add_redirect(), ais_evt_show_event_channels(), app_exec(), ast_app_group_get_count(), ast_app_group_match_get_count(), ast_cdr_register(), ast_channel_register(), ast_channeltype_list(), ast_complete_applications(), ast_complete_source_filename(), ast_custom_function_find(), ast_file_version_find(), ast_filehelper(), ast_format_str_reduce(), ast_get_channel_tech(), ast_http_uri_link(), ast_key_get(), ast_manager_register_struct(), ast_odbc_find_column(), ast_odbc_find_table(), ast_read_image(), ast_readfile(), ast_register_application2(), ast_register_switch(), ast_request(), ast_rtp_engine_register2(), ast_rtp_glue_register2(), ast_rtp_instance_get_glue(), ast_rtp_instance_new(), ast_run_atexits(), ast_udptl_proto_register(), ast_writefile(), build_event_channel(), cdr_handler(), cli_fax_show_capabilities(), cli_fax_show_settings(), cli_fax_show_stats(), cli_fax_show_version(), cli_odbc_read(), cli_odbc_write(), close_logger(), complete_channeltypes(), config_function_read(), crypto_load(), data_channeltypes_provider_handler(), fax_session_new(), fax_session_reserve(), find_agent_callbacks(), find_best_technology(), find_command(), find_dynamic_feature(), find_engine(), find_monitor_callbacks(), find_table(), find_table_cb(), get_manager_by_name_locked(), get_proto(), getproviderstate(), handle_cli_core_show_channeltype(), handle_cli_core_show_channeltypes(), handle_cli_core_show_file_formats(), handle_cli_keys_show(), handle_cli_sqlite_show_tables(), handle_cli_status(), handle_core_show_image_formats(), handle_feature_show(), handle_logger_show_channels(), handle_show_application(), handle_show_applications(), handle_show_function(), handle_show_functions(), handle_show_http(), handle_show_switches(), handle_show_threads(), handle_show_version_files(), handle_showmanager(), handle_showmanagers(), handle_showmancmd(), handle_showmancmds(), handle_showmaneventq(), handle_uri(), help_workhorse(), logger_print_normal(), pbx_findapp(), pbx_findswitch(), pgsql_log(), poll_subscribed_mailboxes(), post_cdr(), realtime_require_handler(), rebuild_matrix(), refresh_list(), reload_followme(), reload_logger(), require_odbc(), set_config_flags(), sla_add_trunk_to_station(), sla_check_reload(), sla_find_station(), sla_find_trunk(), sla_queue_event_conf(), sla_show_stations(), sla_show_trunks(), try_load_key(), update_logchannels(), and write_htmldump().
#define AST_RWLIST_TRAVERSE_SAFE_BEGIN AST_LIST_TRAVERSE_SAFE_BEGIN |
Definition at line 542 of file linkedlists.h.
Referenced by __ast_cli_register(), __ast_custom_function_register(), __ast_register_translator(), ast_agi_unregister(), ast_app_group_discard(), ast_app_group_set_channel(), ast_app_group_update(), ast_bridge_technology_unregister(), ast_cc_agent_unregister(), ast_cc_monitor_unregister(), ast_cdr_unregister(), ast_channel_unregister(), ast_devstate_prov_del(), ast_fax_tech_unregister(), ast_format_unregister(), ast_http_uri_unlink_all_with_key(), ast_manager_unregister(), ast_odbc_clear_cache(), ast_register_application2(), ast_speech_unregister(), ast_unregister_application(), ast_unregister_atexit(), ast_unregister_file_version(), ast_unregister_thread(), ast_unregister_translator(), ast_unregister_verbose(), crypto_load(), handle_cli_keys_init(), handle_unsubscribe(), purge_events(), realtime_unload_handler(), and sla_load_config().
#define AST_RWLIST_TRAVERSE_SAFE_END AST_LIST_TRAVERSE_SAFE_END |
Definition at line 602 of file linkedlists.h.
Referenced by __ast_cli_register(), __ast_custom_function_register(), __ast_register_translator(), ast_agi_unregister(), ast_app_group_discard(), ast_app_group_set_channel(), ast_app_group_update(), ast_bridge_technology_unregister(), ast_cc_agent_unregister(), ast_cc_monitor_unregister(), ast_cdr_unregister(), ast_devstate_prov_del(), ast_fax_tech_unregister(), ast_format_unregister(), ast_http_uri_unlink_all_with_key(), ast_manager_unregister(), ast_odbc_clear_cache(), ast_register_application2(), ast_speech_unregister(), ast_unregister_application(), ast_unregister_atexit(), ast_unregister_file_version(), ast_unregister_thread(), ast_unregister_translator(), ast_unregister_verbose(), crypto_load(), handle_cli_keys_init(), handle_unsubscribe(), purge_events(), realtime_unload_handler(), and sla_load_config().
#define AST_RWLIST_TRYRDLOCK | ( | head | ) | ast_rwlock_tryrdlock(&(head)->lock) |
Read locks a list, without blocking if the list is locked.
head | This is a pointer to the list head structure |
0 | on success | |
non-zero | on failure |
Definition at line 128 of file linkedlists.h.
#define AST_RWLIST_TRYWRLOCK | ( | head | ) | ast_rwlock_trywrlock(&(head)->lock) |
Write locks a list, without blocking if the list is locked.
head | This is a pointer to the list head structure |
0 | on success | |
non-zero | on failure |
Definition at line 116 of file linkedlists.h.
#define AST_RWLIST_UNLOCK | ( | head | ) | ast_rwlock_unlock(&(head)->lock) |
Attempts to unlock a read/write based list.
head | This is a pointer to the list head structure |
Definition at line 150 of file linkedlists.h.
Referenced by __ast_bridge_technology_register(), __ast_cli_generator(), __ast_cli_register(), __ast_cli_unregister(), __ast_custom_function_register(), __ast_format_register(), __ast_http_load(), __ast_manager_event_multichan(), __ast_register_translator(), acf_odbc_read(), acf_odbc_write(), action_find(), action_listcommands(), add_redirect(), advance_event(), ais_evt_show_event_channels(), app_exec(), append_channel_vars(), append_event(), ast_agi_register(), ast_agi_unregister(), ast_app_group_discard(), ast_app_group_get_count(), ast_app_group_list_unlock(), ast_app_group_match_get_count(), ast_app_group_set_channel(), ast_app_group_update(), ast_bridge_technology_unregister(), ast_cc_agent_register(), ast_cc_agent_unregister(), ast_cc_monitor_register(), ast_cc_monitor_unregister(), ast_cdr_register(), ast_cdr_unregister(), ast_channel_register(), ast_channel_unregister(), ast_channeltype_list(), ast_cli_command_full(), ast_cli_perms_init(), ast_complete_applications(), ast_complete_source_filename(), ast_custom_function_find(), ast_custom_function_unregister(), ast_debug_get_by_module(), ast_devstate_prov_add(), ast_devstate_prov_del(), ast_dnsmgr_get_family(), ast_dnsmgr_release(), ast_fax_tech_register(), ast_fax_tech_unregister(), ast_file_version_find(), ast_filehelper(), ast_format_str_reduce(), ast_format_unregister(), ast_get_channel_tech(), ast_http_uri_link(), ast_http_uri_unlink(), ast_http_uri_unlink_all_with_key(), ast_image_register(), ast_image_unregister(), ast_key_get(), ast_logger_register_level(), ast_logger_unregister_level(), ast_manager_register_hook(), ast_manager_register_struct(), ast_manager_unregister(), ast_manager_unregister_hook(), ast_odbc_clear_cache(), ast_odbc_find_table(), ast_queue_log(), ast_read_image(), ast_readfile(), ast_register_application2(), ast_register_atexit(), ast_register_feature(), ast_register_file_version(), ast_register_switch(), ast_register_thread(), ast_register_verbose(), ast_request(), ast_rtp_engine_register2(), ast_rtp_engine_unregister(), ast_rtp_glue_register2(), ast_rtp_glue_unregister(), ast_rtp_instance_get_glue(), ast_rtp_instance_new(), ast_run_atexits(), ast_speech_register(), ast_speech_unregister(), ast_translate_available_formats(), ast_translate_path_steps(), ast_translator_activate(), ast_translator_best_choice(), ast_translator_build_path(), ast_translator_deactivate(), ast_udptl_proto_register(), ast_udptl_proto_unregister(), ast_unregister_application(), ast_unregister_atexit(), ast_unregister_feature(), ast_unregister_features(), ast_unregister_file_version(), ast_unregister_groups(), ast_unregister_switch(), ast_unregister_thread(), ast_unregister_translator(), ast_unregister_verbose(), ast_verbose_get_by_module(), ast_writefile(), authenticate(), build_event_channel(), cli_fax_show_capabilities(), cli_fax_show_settings(), cli_fax_show_stats(), cli_fax_show_version(), cli_has_permissions(), cli_odbc_read(), cli_odbc_write(), close_logger(), complete_channeltypes(), config_function_read(), crypto_load(), custom_log(), data_channeltypes_provider_handler(), destroy_event_channels(), destroy_station(), destroy_table_cache(), destroy_user_perms(), fax_session_new(), fax_session_reserve(), feature_interpret_helper(), find_agent_callbacks(), find_best(), find_best_technology(), find_command(), find_engine(), find_monitor_callbacks(), find_table(), free_channelvars(), free_table(), get_proto(), getproviderstate(), grab_last(), handle_cli_core_show_channeltype(), handle_cli_core_show_channeltypes(), handle_cli_core_show_file_formats(), handle_cli_core_show_translation(), handle_cli_keys_init(), handle_cli_keys_show(), handle_cli_show_permissions(), handle_cli_sqlite_show_tables(), handle_cli_status(), handle_core_show_image_formats(), handle_feature_show(), handle_help(), handle_logger_set_level(), handle_logger_show_channels(), handle_show_applications(), handle_show_function(), handle_show_functions(), handle_show_http(), handle_show_switches(), handle_show_threads(), handle_show_version_files(), handle_showmanager(), handle_showmanagers(), handle_showmancmd(), handle_showmancmds(), handle_showmaneventq(), handle_subscribe(), handle_unsubscribe(), handle_uri(), handle_verbose(), help1(), help_workhorse(), init_logger_chain(), load_channelvars(), load_module(), logger_print_normal(), manager_displayconnects(), odbc_log(), pbx_findapp(), pbx_findswitch(), pgsql_log(), poll_subscribed_mailboxes(), post_cdr(), process_applicationmap_line(), purge_events(), realtime_require_handler(), realtime_unload_handler(), refresh_list(), reload(), reload_followme(), reload_logger(), require_odbc(), set_config_flags(), sla_add_trunk_to_station(), sla_check_reload(), sla_destroy(), sla_queue_event_conf(), sla_show_stations(), sla_show_trunks(), sla_state(), sla_station_exec(), sla_trunk_exec(), syslog_log(), unload_config(), unload_module(), update_logchannels(), write_htmldump(), and xmldoc_get_node().
#define AST_RWLIST_WRLOCK | ( | head | ) | ast_rwlock_wrlock(&(head)->lock) |
Write locks a list.
head | This is a pointer to the list head structure |
0 | on success | |
non-zero | on failure |
Definition at line 51 of file linkedlists.h.
Referenced by __ast_bridge_technology_register(), __ast_cli_register(), __ast_cli_unregister(), __ast_custom_function_register(), __ast_format_register(), __ast_http_load(), __ast_register_translator(), add_redirect(), append_event(), ast_agi_register(), ast_agi_unregister(), ast_app_group_discard(), ast_app_group_list_wrlock(), ast_app_group_set_channel(), ast_app_group_update(), ast_bridge_technology_unregister(), ast_cc_agent_register(), ast_cc_agent_unregister(), ast_cc_monitor_register(), ast_cc_monitor_unregister(), ast_cdr_register(), ast_cdr_unregister(), ast_channel_register(), ast_channel_unregister(), ast_cli_perms_init(), ast_custom_function_unregister(), ast_devstate_prov_add(), ast_devstate_prov_del(), ast_dnsmgr_get_family(), ast_dnsmgr_release(), ast_fax_tech_register(), ast_fax_tech_unregister(), ast_file_version_find(), ast_format_unregister(), ast_http_uri_link(), ast_http_uri_unlink(), ast_http_uri_unlink_all_with_key(), ast_image_register(), ast_image_unregister(), ast_logger_register_level(), ast_logger_unregister_level(), ast_manager_register_hook(), ast_manager_register_struct(), ast_manager_unregister(), ast_manager_unregister_hook(), ast_odbc_clear_cache(), ast_queue_log(), ast_register_application2(), ast_register_atexit(), ast_register_feature(), ast_register_file_version(), ast_register_switch(), ast_register_thread(), ast_register_verbose(), ast_rtp_engine_register2(), ast_rtp_engine_unregister(), ast_rtp_glue_register2(), ast_rtp_glue_unregister(), ast_speech_register(), ast_speech_unregister(), ast_translator_activate(), ast_translator_deactivate(), ast_udptl_proto_register(), ast_udptl_proto_unregister(), ast_unregister_application(), ast_unregister_atexit(), ast_unregister_feature(), ast_unregister_features(), ast_unregister_file_version(), ast_unregister_groups(), ast_unregister_switch(), ast_unregister_thread(), ast_unregister_translator(), ast_unregister_verbose(), authenticate(), build_event_channel(), close_logger(), config_function_read(), crypto_load(), destroy_event_channels(), destroy_table_cache(), destroy_user_perms(), find_table(), free_channelvars(), free_table(), grab_last(), handle_cli_core_show_translation(), handle_cli_keys_init(), handle_logger_set_level(), handle_subscribe(), handle_unsubscribe(), handle_verbose(), init_logger_chain(), load_channelvars(), load_module(), purge_events(), realtime_unload_handler(), reload(), reload_followme(), reload_logger(), sla_add_trunk_to_station(), sla_destroy(), unload_config(), unload_module(), and update_logchannels().