* lock info struct. The lock is marked as pending as the thread is waiting
* on the lock. ast_mark_lock_acquired() will mark it as held by this thread.
*/
+#if !defined(LOW_MEMORY)
void ast_store_lock_info(enum ast_lock_type type, const char *filename,
int line_num, const char *func, const char *lock_name, void *lock_addr);
+#else
+#define ast_store_lock_info(I,DONT,CARE,ABOUT,THE,PARAMETERS)
+#endif
+
/*!
* \brief Mark the last lock as acquired
*/
+#if !defined(LOW_MEMORY)
void ast_mark_lock_acquired(void *lock_addr);
+#else
+#define ast_mark_lock_acquired(ignore)
+#endif
/*!
* \brief Mark the last lock as failed (trylock)
*/
+#if !defined(LOW_MEMORY)
void ast_mark_lock_failed(void *lock_addr);
+#else
+#define ast_mark_lock_failed(ignore)
+#endif
/*!
* \brief remove lock info for the current thread
* this gets called by ast_mutex_unlock so that information on the lock can
* be removed from the current thread's lock info struct.
*/
+#if !defined(LOW_MEMORY)
void ast_remove_lock_info(void *lock_addr);
+#else
+#define ast_remove_lock_info(ignore)
+#endif
static void __attribute__((constructor)) init_empty_mutex(void)
{
const char *module = astman_get_header(m, "Module");
const char *id = astman_get_header(m, "ActionID");
char idText[256];
+#if !defined(LOW_MEMORY)
const char *version;
+#endif
char filename[PATH_MAX];
char *cut;
}
snprintf(cut, (sizeof(filename) - strlen(filename)) - 1, ".c");
ast_log(LOG_DEBUG, "**** ModuleCheck .c file %s\n", filename);
+#if !defined(LOW_MEMORY)
version = ast_file_version_find(filename);
+#endif
if (!ast_strlen_zero(id))
snprintf(idText, sizeof(idText), "ActionID: %s\r\n", id);
else
idText[0] = '\0';
astman_append(s, "Response: Success\r\n%s", idText);
+#if !defined(LOW_MEMORY)
astman_append(s, "Version: %s\r\n\r\n", version ? version : "");
+#endif
return 0;
}
#endif
base64_init();
#ifdef DEBUG_THREADS
+#if !defined(LOW_MEMORY)
ast_cli_register_multiple(utils_cli, sizeof(utils_cli) / sizeof(utils_cli[0]));
+#endif
#endif
return 0;
}
md5.c: $(ASTTOPDIR)/main/md5.c
@cp $< $@
-
+astman.o: astman.i
astman: astman.o md5.o
astman: LIBS+=$(NEWT_LIB)
return 0; /* in "standalone" mode, functions are just not avail */
}
+void ast_register_file_version(const char *file, const char *version);
void ast_register_file_version(const char *file, const char *version)
{
}
+void ast_unregister_file_version(const char *file);
void ast_unregister_file_version(const char *file)
{
}
+#if !defined(LOW_MEMORY)
int ast_add_profile(const char *x, uint64_t scale)
{
if (!no_comp)
return 0;
}
+#endif
int ast_loader_register(int (*updater)(void))
{
}
#ifdef DEBUG_THREADS
-
+#if !defined(LOW_MEMORY)
void ast_mark_lock_acquired(void *lock_addr)
{
}
int line_num, const char *func, const char *lock_name, void *lock_addr)
{
}
-
+#endif
#endif
{
}
+#if !defined(LOW_MEMORY)
int ast_add_profile(const char *, uint64_t scale);
int ast_add_profile(const char *s, uint64_t scale)
{
{
return 0;
}
+#endif /* LOW_MEMORY */
/* end of dummy functions */
AST_WRLOCK,
};
#endif
+#if !defined(LOW_MEMORY)
void ast_store_lock_info(enum ast_lock_type type, const char *filename,
int line_num, const char *func, const char *lock_name, void *lock_addr);
void ast_store_lock_info(enum ast_lock_type type, const char *filename,
{
/* not a lot to do in a standalone w/o threading! */
}
+#endif
static int global_lineno = 1;
static int global_expr_count=0;
int check_eval(char *buffer, char *error_report);
void parse_file(const char *fname);
+void ast_register_file_version(const char *file, const char *version);
void ast_register_file_version(const char *file, const char *version) { }
+#if !defined(LOW_MEMORY)
int ast_add_profile(const char *x, uint64_t scale) { return 0;}
-
+#endif
int ast_atomic_fetchadd_int_slow(volatile int *p, int v)
{
int ret;
return ret;
}
+void ast_unregister_file_version(const char *file);
void ast_unregister_file_version(const char *file)
{
}
/* static AST_RWLIST_HEAD_STATIC(acf_root, ast_custom_function); */
//extern char ast_config_AST_CONFIG_DIR[PATH_MAX];
+void ast_register_file_version(const char *file, const char *version);
void ast_register_file_version(const char *file, const char *version)
{
}
+void ast_unregister_file_version(const char *file);
void ast_unregister_file_version(const char *file)
{
}
+#if !defined(LOW_MEMORY)
int ast_add_profile(const char *x, uint64_t scale) { return 0;}
-
+#endif
/* Our own version of ast_log, since the expr parser uses it. -- stolen from utils/check_expr.c */
void ast_log(int level, const char *file, int line, const char *function, const char *fmt, ...) __attribute__ ((format (printf,5,6)));
}
#ifdef DEBUG_THREADS
-
+#if !defined(LOW_MEMORY)
void ast_mark_lock_acquired(void *lock_addr)
{
}
int line_num, const char *func, const char *lock_name, void *lock_addr)
{
}
-
+#endif
#endif
int testno = 1;
/* stuff we need to make this work with the hashtab stuff */
-
+#if !defined(LOW_MEMORY)
int64_t ast_mark(int prof_id, int x)
{
return 0;
}
+#endif
struct ht_element
{
return 0;
}
-
+#if !defined(LOW_MEMORY)
int ast_add_profile(const char *x, uint64_t scale)
{
return 0;
}
+#endif
int ast_loader_register(int (*updater)(void))
{
}
+void ast_register_file_version(const char *file, const char *version);
void ast_register_file_version(const char *file, const char *version)
{
}
+void ast_unregister_file_version(const char *file);
void ast_unregister_file_version(const char *file)
{
int testno = 2;
/* stuff we need to make this work with the astobj2 stuff */
-
+#if !defined(LOW_MEMORY)
int64_t ast_mark(int prof_id, int x)
{
return 0;
}
+#endif
/* my OBJECT */
struct ht_element
return 0;
}
-
+#if !defined(LOW_MEMORY)
int ast_add_profile(const char *x, uint64_t scale)
{
return 0;
}
+#endif
int ast_loader_register(int (*updater)(void))
{
}
+void ast_register_file_version(const char *file, const char *version);
void ast_register_file_version(const char *file, const char *version)
{
}
+void ast_unregister_file_version(const char *file);
void ast_unregister_file_version(const char *file)
{