29 #define AST_DIR_MODE 0777
32 #define AST_FILE_MODE 0666
44 #define AST_CURL_USER_AGENT "asterisk-libcurl-agent/1.0"
46 #define DEFAULT_LANGUAGE "en"
48 #define DEFAULT_SAMPLE_RATE 8000
49 #define DEFAULT_SAMPLES_PER_MS ((DEFAULT_SAMPLE_RATE)/1000)
50 #define setpriority __PLEASE_USE_ast_set_priority_INSTEAD_OF_setpriority__
51 #define sched_setscheduler __PLEASE_USE_ast_set_priority_INSTEAD_OF_sched_setscheduler__
52 #define strtok __PLEASE_USE_strtok_r_INSTEAD_OF_strtok__
54 #if defined(DEBUG_FD_LEAKS) && !defined(STANDALONE) && !defined(STANDALONE2) && !defined(STANDALONE_AEL)
57 #include <sys/socket.h>
60 #define open(a,...) __ast_fdleak_open(__FILE__,__LINE__,__PRETTY_FUNCTION__, a, __VA_ARGS__)
61 #define pipe(a) __ast_fdleak_pipe(a, __FILE__,__LINE__,__PRETTY_FUNCTION__)
62 #define socketpair(a,b,c,d) __ast_fdleak_socketpair(a, b, c, d, __FILE__,__LINE__,__PRETTY_FUNCTION__)
63 #define socket(a,b,c) __ast_fdleak_socket(a, b, c, __FILE__,__LINE__,__PRETTY_FUNCTION__)
64 #define accept(a,b,c) __ast_fdleak_accept(a, b, c, __FILE__,__LINE__,__PRETTY_FUNCTION__)
65 #define close(a) __ast_fdleak_close(a)
66 #define fopen(a,b) __ast_fdleak_fopen(a, b, __FILE__,__LINE__,__PRETTY_FUNCTION__)
67 #define fclose(a) __ast_fdleak_fclose(a)
68 #define dup2(a,b) __ast_fdleak_dup2(a, b, __FILE__,__LINE__,__PRETTY_FUNCTION__)
69 #define dup(a) __ast_fdleak_dup(a, __FILE__,__LINE__,__PRETTY_FUNCTION__)
71 #if defined(__cplusplus) || defined(c_plusplus)
74 int __ast_fdleak_open(
const char *
file,
int line,
const char *func,
const char *path,
int flags, ...);
75 int __ast_fdleak_pipe(
int *fds,
const char *
file,
int line,
const char *func);
76 int __ast_fdleak_socketpair(
int domain,
int type,
int protocol,
int sv[2],
77 const char *
file,
int line,
const char *func);
78 int __ast_fdleak_socket(
int domain,
int type,
int protocol,
const char *
file,
int line,
const char *func);
79 int __ast_fdleak_accept(
int socket,
struct sockaddr *
address, socklen_t *address_len,
80 const char *
file,
int line,
const char *func);
81 #if defined(HAVE_EVENTFD)
82 #include <sys/eventfd.h>
83 #define eventfd(a,b) __ast_fdleak_eventfd(a,b, __FILE__,__LINE__,__PRETTY_FUNCTION__)
84 int __ast_fdleak_eventfd(
unsigned int initval,
int flags,
const char *
file,
int line,
const char *func);
86 #if defined(HAVE_TIMERFD)
87 #include <sys/timerfd.h>
88 #define timerfd_create(a,b) __ast_fdleak_timerfd_create(a,b, __FILE__,__LINE__,__PRETTY_FUNCTION__)
89 int __ast_fdleak_timerfd_create(
int clockid,
int flags,
const char *
file,
int line,
const char *func);
91 int __ast_fdleak_close(
int fd);
92 FILE *__ast_fdleak_fopen(
const char *path,
const char *mode,
const char *
file,
int line,
const char *func);
93 int __ast_fdleak_fclose(FILE *ptr);
94 int __ast_fdleak_dup2(
int oldfd,
int newfd,
const char *
file,
int line,
const char *func);
95 int __ast_fdleak_dup(
int oldfd,
const char *
file,
int line,
const char *func);
96 #if defined(__cplusplus) || defined(c_plusplus)
178 #define HAVE_MTX_PROFILE
198 int64_t
ast_mark(
int,
int start1_stop0);
215 #define __stringify_1(x) #x
216 #define __stringify(x) __stringify_1(x)
218 #if defined(AST_IN_CORE) \
219 || (!defined(AST_MODULE_SELF_SYM) \
220 && (defined(STANDALONE) || defined(STANDALONE2) || defined(AST_NOT_MODULE)))
222 #define AST_MODULE_SELF NULL
224 #elif defined(AST_MODULE_SELF_SYM)
227 #define AST_MODULE_SELF AST_MODULE_SELF_SYM()
235 #error "Externally compiled modules must declare AST_MODULE_SELF_SYM."
int ast_add_profile(const char *, uint64_t scale)
support for event profiling
int ast_shutdown_final(void)
int ast_register_cleanup(void(*func)(void))
Register a function to be executed before Asterisk gracefully exits.
int ast_shutting_down(void)
int ast_pbx_uuid_get(char *pbx_uuid, int length)
Retrieve the PBX UUID.
int ast_cancel_shutdown(void)
Cancel an existing shutdown and return to normal operation.
void ast_unregister_atexit(void(*func)(void))
Unregister a function registered with ast_register_atexit().
int64_t ast_mark(int, int start1_stop0)
int64_t ast_profile(int, int64_t)
int ast_register_atexit(void(*func)(void))
Register a function to be executed before Asterisk exits.
int ast_set_priority(int)
We set ourselves to a high priority, that we might pre-empt everything else. If your PBX has heavy ac...
Asterisk memory management routines.
General Definitions for Asterisk top level program Included by asterisk.h to handle platform-specific...
#define AST_MODULE_SELF_SYM
Main Channel structure associated with a channel.
Data structure associated with a single frame of data.
Abstract JSON element (object, array, string, int, ...).
Support for dynamic strings.
Structure for variables, used for configurations and for channel variables.