Browse Source

mudança sintaxe documentação

dev
Diego Nakaniwa 3 months ago
parent
commit
267ea3cbdc
  1. 92
      src/ami.c
  2. 108
      src/ami_c.h
  3. 136
      src/asterisk.c
  4. 150
      src/asterisk.h
  5. 34
      src/net.c
  6. 30
      src/net.h
  7. 6
      src/parse_action.c
  8. 2
      src/parse_action.h
  9. 6
      src/parse_event.c
  10. 6
      src/parse_event.h
  11. 46
      src/parse_string.c
  12. 46
      src/parse_string.h

92
src/ami.c

@ -18,8 +18,8 @@ static suseconds_t micro_action = 0;
/*!
* Primeira função que deverá ser chamada. Essa função inicializa a estrutura necessária.\n
* \warning Não deve ser liberada diretamente esse ponteiro. Use a função close_ami.
* \return retorna NULL caso tenha erro
* @warning Não deve ser liberada diretamente esse ponteiro. Use a função close_ami.
* @return retorna NULL caso tenha erro
*/
AMI *ami_init(){
AMI *ami = (AMI *)calloc(1, sizeof(AMI));
@ -33,7 +33,7 @@ AMI *ami_init(){
/*!
* Essa função encerrará essa instância com ami. A memória será liberada dessa instância
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_close(AMI *ami){
void *res;
@ -69,7 +69,7 @@ int ami_unpause(AMI *ami){
/*!
* A conexão com a AMI e algumas informações serão refeitas
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_restart(AMI *ami){
ami_connect_login_down(&ami->net, &ami->asterisk);
@ -79,7 +79,7 @@ int ami_restart(AMI *ami){
/*!
* Defini as credenciais necessárias para fazer login com a ami
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_set_credentials( AMI *ami, const char *username, const char *password ){
@ -107,7 +107,7 @@ int ami_set_credentials( AMI *ami, const char *username, const char *password ){
/*!
* defini o caminho para conectar ao ami
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_set_net( AMI *ami, const char *address, int port ){
@ -130,7 +130,7 @@ int ami_set_net( AMI *ami, const char *address, int port ){
/*!
* Começa o processo de conexão, obter informação e receber dados do ami
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_c (AMI *ami ){
@ -144,7 +144,7 @@ int ami_c (AMI *ami ){
/*!
* Retorna o socket dessa instância que está sendo usado
* \return socket(int)
* @return socket(int)
*/
int ami_get_socket(AMI *ami){
return ami->net.sock;
@ -155,7 +155,7 @@ int ami_get_socket(AMI *ami){
/*!
* Está connectado ao ami do asterisk.\n
* Caso não esteja conectado, a biblioteca continuará tentando conectar. A biblioteca irá parar de tentar conectar com a função close_ami.
* \return connectado 1, falha -1
* @return connectado 1, falha -1
*/
int ami_is_connected(AMI *ami){
return ami->net.is_connected;
@ -165,7 +165,7 @@ int ami_is_connected(AMI *ami){
/*!
* Verifica se a comunicação está com login sucesso. Retorna 0 a biblioteca tentará fazer o mesmo login. Para parar as tentativas use função close_ami.
* \return sucesso 1, falha -1
* @return sucesso 1, falha -1
*/
int ami_is_logged(AMI *ami){
return ami->asterisk.is_logged;
@ -174,7 +174,7 @@ int ami_is_logged(AMI *ami){
/*!
* Envia a action que está na struct ss_action
* \return sucesso actionid, fail -1
* @return sucesso actionid, fail -1
*/
int ami_send_action(AMI *ami, struct ss_action *action ){
int return_send = -1;
@ -215,7 +215,7 @@ int ami_send_action(AMI *ami, struct ss_action *action ){
* };\n
* Use destroy_action para liberar esse ponteiro
*
* \return poteiro do tipo ss_action. A action será criada automaticamente na primeira posição dos argumentos
* @return poteiro do tipo ss_action. A action será criada automaticamente na primeira posição dos argumentos
*/
struct ss_action *ami_create_new_action(unsigned int args){
@ -250,7 +250,7 @@ struct ss_action *ami_create_new_action(unsigned int args){
/*!
* Libera ponteiro para para estrutura ss_action
* \return sucesso 0 sempre
* @return sucesso 0 sempre
*/
int ami_destroy_action(struct ss_action *action){
if(!action){
@ -267,7 +267,7 @@ int ami_destroy_action(struct ss_action *action){
/*!
* Libera a lista de eventos passados fora da estrutura, isto é, os eventos através do get_events
*
* \param events lista de eventos obtidas pela função get_events
* @param events lista de eventos obtidas pela função get_events
*
*/
void ami_destroy_events(AMI *ami, EVENT *events){
@ -278,8 +278,8 @@ void ami_destroy_events(AMI *ami, EVENT *events){
/*!
* libera o ponteiro da estrutura response
* \param ami instância da estrutura
* \param response ponteiro da estrutura response
* @param ami instância da estrutura
* @param response ponteiro da estrutura response
*/
void ami_destroy_response(AMI *ami, RESPONSE *response){
ami_response_free(response);
@ -288,9 +288,9 @@ void ami_destroy_response(AMI *ami, RESPONSE *response){
/*!
* Libera memória da informações da ACTION recebida pela ami
* \param ami Instância AMI
* \param actionid identifica a action
* \return 0 sucesso, -1 actionid não corresponde a nenhuma action
* @param ami Instância AMI
* @param actionid identifica a action
* @return 0 sucesso, -1 actionid não corresponde a nenhuma action
*/
int ami_destroy_action_return( AMI *ami, const char *actionid ){
@ -304,8 +304,8 @@ int ami_destroy_action_return( AMI *ami, const char *actionid ){
/*!
* Obter os eventos recebido na lista EVENT
* \param ami a sua instância que está usando a biblioteca
* \return events lista de eventos, NULL caso não tenha eventos
* @param ami a sua instância que está usando a biblioteca
* @return events lista de eventos, NULL caso não tenha eventos
*/
EVENT *ami_get_events(AMI *ami){
EVENT *events;
@ -320,9 +320,9 @@ EVENT *ami_get_events(AMI *ami){
/*!
* Obter as RESPONSE das actions
* \param ami instância que a biblioteca vai identificar
* \param actionid da action que vai procurar
* \return response ou NULL não RESPONSE (talvez AMI ainda não retornou)
* @param ami instância que a biblioteca vai identificar
* @param actionid da action que vai procurar
* @return response ou NULL não RESPONSE (talvez AMI ainda não retornou)
*/
RESPONSE *ami_get_actions_response(AMI *ami, const char *actionid){
RESPONSE *response = NULL;
@ -336,9 +336,9 @@ RESPONSE *ami_get_actions_response(AMI *ami, const char *actionid){
/*!
* obter os eventos das actions
* \param ami instância da biblioteca
* \param actionid identificação das actions
* \return event ou NULL não eventos (talvez AMI ainda não enviou)
* @param ami instância da biblioteca
* @param actionid identificação das actions
* @return event ou NULL não eventos (talvez AMI ainda não enviou)
*/
EVENT *ami_get_actions_event(AMI *ami, const char *actionid){
EVENT *events = NULL;
@ -353,9 +353,9 @@ EVENT *ami_get_actions_event(AMI *ami, const char *actionid){
/*!
* disativa os eventos sem actionid
* \param ami
* \param status status > 0 eventos OFF, status <= 0 eventos ON
* \return sempre 0
* @param ami
* @param status status > 0 eventos OFF, status <= 0 eventos ON
* @return sempre 0
*/
int ami_set_disable_events( AMI *ami, int status ){
@ -374,8 +374,8 @@ int ami_set_disable_events( AMI *ami, int status ){
/*!
* Retorna se os eventos sem actionid estão desativados
* \param ami instânca da biblioteca ami
* \return 0 eventos ON, 1 eventos OFF
* @param ami instânca da biblioteca ami
* @return 0 eventos ON, 1 eventos OFF
*/
int ami_get_disable_events(AMI *ami){
@ -385,9 +385,9 @@ int ami_get_disable_events(AMI *ami){
/*!
* Obtém o valor dos argumentos do Response ou EVENTS
* \param args
* \pamra key
* \return value ou NULL se o valor é nulo ou não existe
* @param args
* @param key
* @return value ou NULL se o valor é nulo ou não existe
*/
const char *ami_get_value( AMI *ami, ARGS *args, const char *key ){
@ -401,9 +401,9 @@ const char *ami_get_value( AMI *ami, ARGS *args, const char *key ){
/*!
* Verifica se a chave existi na lista de argumentos
* \param args lista de argumentos
* \param value a chave
* \return existe 0 ou não existe -1
* @param args lista de argumentos
* @param value a chave
* @return existe 0 ou não existe -1
*/
int ami_has_key( AMI *ami, ARGS *args, const char *key){
@ -416,10 +416,10 @@ int ami_has_key( AMI *ami, ARGS *args, const char *key){
/*!
* Busca o primeiro evento encontrado na lista de eventos
* \param ami Instância AMI
* \param list_event lista de eventos
* \param event_name nome do evento que será procurado
* \return event ou NULL evento não eocntrado na lista
* @param ami Instância AMI
* @param list_event lista de eventos
* @param event_name nome do evento que será procurado
* @return event ou NULL evento não eocntrado na lista
*/
EVENT *ami_get_event_name( AMI *ami, EVENT *list_event, const char *event_name ){
@ -438,8 +438,8 @@ EVENT *ami_get_event_name( AMI *ami, EVENT *list_event, const char *event_name )
/*
* Recebe o texto usado quando é conectado ao manager
* \param ami estrutura opaca
* \return mensagem
* @param ami estrutura opaca
* @return mensagem
*/
const char *get_welcome( AMI *ami ){
return ami->asterisk.welcome;
@ -448,8 +448,8 @@ const char *get_welcome( AMI *ami ){
/*
* RESPONSE da action de login. ACTION
* \param ami estrutura opaca
* \return response de login
* @param ami estrutura opaca
* @return response de login
*/
RESPONSE *get_response_login(AMI *ami){
return ami->asterisk.response_login;

108
src/ami_c.h

@ -97,8 +97,8 @@ typedef struct ami AMI;
/*!
* Primeira função que deverá ser chamada. Essa função inicializa a estrutura necessária.\n
* \warning Não deve ser liberada diretamente esse ponteiro. Use a função close_ami.
* \return retorna NULL caso tenha erro
* @warning Não deve ser liberada diretamente esse ponteiro. Use a função close_ami.
* @return retorna NULL caso tenha erro
*/
AMI *ami_init();
@ -107,7 +107,7 @@ AMI *ami_init();
/*!
* Essa função encerrará essa instância com ami. A memória será liberada dessa instância
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_close(AMI *ami);
@ -116,7 +116,7 @@ int ami_close(AMI *ami);
/*!
* A conexão com a AMI e algumas informações serão refeitas
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_restart(AMI *ami);
@ -125,9 +125,9 @@ int ami_restart(AMI *ami);
/*!
* Defini as credenciais necessárias para fazer login com a ami
* \param username manager
* \param password manager (secret)
* \return sucesso 0, falha -1
* @param username manager
* @param password manager (secret)
* @return sucesso 0, falha -1
*/
int ami_set_credentials( AMI *ami, const char *username, const char *password );
@ -136,9 +136,9 @@ int ami_set_credentials( AMI *ami, const char *username, const char *password );
/*!
* defini o caminho para conectar ao ami
* \param address ip
* \param port valor 0 defini porta padrão automaticamente
* \return sucesso 0, falha -1
* @param address ip
* @param port valor 0 defini porta padrão automaticamente
* @return sucesso 0, falha -1
*/
int ami_set_net( AMI *ami, const char *address, int port );
@ -147,7 +147,7 @@ int ami_set_net( AMI *ami, const char *address, int port );
/*!
* Começa o processo de conexão, obter informação e receber dados do ami
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_c (AMI *ami );
@ -156,7 +156,7 @@ int ami_c (AMI *ami );
/*!
* Retorna o socket dessa instância que está sendo usado
* \return socket(int)
* @return socket(int)
*/
int ami_get_socket(AMI *ami);
@ -166,7 +166,7 @@ int ami_get_socket(AMI *ami);
/*!
* Está connectado ao ami do asterisk.\n
* Caso não esteja conectado, a biblioteca continuará tentando conectar. A biblioteca irá parar de tentar conectar com a função close_ami.
* \return connectado 1, falha 0
* @return connectado 1, falha 0
*/
int ami_is_connected(AMI *ami);
@ -175,7 +175,7 @@ int ami_is_connected(AMI *ami);
/*!
* Verifica se a comunicação está com login sucesso. Retorna 0 a biblioteca tentará fazer o mesmo login. Para parar as tentativas use função close_ami.
* \return sucesso 1, falha 0
* @return sucesso 1, falha 0
*/
int ami_is_logged(AMI *ami);
@ -184,8 +184,8 @@ int ami_is_logged(AMI *ami);
/*!
* Envia a action que está na struct ss_action
* \param action
* \return sucesso actionid, fail -1
* @param action
* @return sucesso actionid, fail -1
*/
int ami_send_action(AMI *ami, struct ss_action *action );
@ -208,8 +208,8 @@ int ami_send_action(AMI *ami, struct ss_action *action );
* };\n
* Use destroy_action para liberar esse ponteiro
*
* \param args quantidade de argumentos. O actionid não precisa ser contado e será preenchido automáticamente
* \return poteiro do tipo ss_action. A action será criada automaticamente na primeira posição dos argumentos
* @param args quantidade de argumentos. O actionid não precisa ser contado e será preenchido automáticamente
* @return poteiro do tipo ss_action. A action será criada automaticamente na primeira posição dos argumentos
*/
struct ss_action *ami_create_new_action(unsigned int args);
@ -218,7 +218,7 @@ struct ss_action *ami_create_new_action(unsigned int args);
/*!
* Libera ponteiro para para estrutura ss_action
* \return sucesso 0 sempre
* @return sucesso 0 sempre
*/
int ami_destroy_action(struct ss_action *action);
@ -227,7 +227,7 @@ int ami_destroy_action(struct ss_action *action);
/*!
* Libera a lista de eventos passados fora da estrutura, isto é, os eventos através do get_events
*
* \param events lista de eventos obtidas pela função get_events
* @param events lista de eventos obtidas pela função get_events
*
*/
void ami_destroy_events(AMI *ami, EVENT *events);
@ -236,8 +236,8 @@ void ami_destroy_events(AMI *ami, EVENT *events);
/*!
* libera o ponteiro da estrutura response
* \param ami instância da estrutura
* \param response ponteiro da estrutura response
* @param ami instância da estrutura
* @param response ponteiro da estrutura response
*
*/
void ami_destroy_response(AMI *ami, RESPONSE *response);
@ -245,17 +245,17 @@ void ami_destroy_response(AMI *ami, RESPONSE *response);
/*!
* Libera memória da informações da ACTION recebida pela ami
* \param ami Instância AMI
* \param actionid identifica a action
* \return 0 sucesso, -1 actionid não corresponde a nenhuma action
* @param ami Instância AMI
* @param actionid identifica a action
* @return 0 sucesso, -1 actionid não corresponde a nenhuma action
*/
int ami_destroy_action_return( AMI *ami, const char *actionid );
/*!
* Obter os eventos recebido na lista EVENT
* \param ami estrutura
* \return events lista de eventos, NULL caso não tenha eventos
* @param ami estrutura
* @return events lista de eventos, NULL caso não tenha eventos
*/
EVENT *ami_get_events(AMI *ami);
@ -263,9 +263,9 @@ EVENT *ami_get_events(AMI *ami);
/*!
* Obter as RESPONSE das actions
* \param ami instância que a biblioteca vai identificar
* \param actionid da action que vai procurar
* \return response ou NULL não RESPONSE (talvez AMI ainda não retornou)
* @param ami instância que a biblioteca vai identificar
* @param actionid da action que vai procurar
* @return response ou NULL não RESPONSE (talvez AMI ainda não retornou)
*/
RESPONSE *ami_get_actions_response(AMI *ami, const char *actionid);
@ -273,9 +273,9 @@ RESPONSE *ami_get_actions_response(AMI *ami, const char *actionid);
/*!
* obter os eventos das actions
* \param ami instância da biblioteca
* \param actionid identificação das actions
* \return event ou NULL não eventos (talvez AMI ainda não enviou)
* @param ami instância da biblioteca
* @param actionid identificação das actions
* @return event ou NULL não eventos (talvez AMI ainda não enviou)
*/
EVENT *ami_get_actions_event(AMI *ami, const char *actionid);
@ -283,9 +283,9 @@ EVENT *ami_get_actions_event(AMI *ami, const char *actionid);
/*!
* disativa os eventos sem actionid
* \param ami
* \param status status > 0 eventos OFF, status <= 0 eventos ON
* \return sempre 0
* @param ami
* @param status status > 0 eventos OFF, status <= 0 eventos ON
* @return sempre 0
*/
int ami_set_disable_events( AMI *ami, int status );
@ -293,8 +293,8 @@ int ami_set_disable_events( AMI *ami, int status );
/*!
* Retorna se os eventos sem actionid estão desativados
* \param ami instânca da biblioteca ami, estrutura opaca
* \return 0 eventos ON, 1 eventos OFF
* @param ami instânca da biblioteca ami, estrutura opaca
* @return 0 eventos ON, 1 eventos OFF
*/
int ami_get_disable_events(AMI *ami);
@ -302,10 +302,10 @@ int ami_get_disable_events(AMI *ami);
/*!
* Obtém o valor dos argumentos do Response ou EVENTS
* \param ami estrutura opaca
* \param args lista de argumentos
* \pamra key chave do argumento
* \return value ou NULL se o valor é nulo ou não existe
* @param ami estrutura opaca
* @param args lista de argumentos
* @param key chave do argumento
* @return value ou NULL se o valor é nulo ou não existe
*/
const char *ami_get_value(AMI *ami, ARGS *args, const char *key );
@ -313,36 +313,36 @@ const char *ami_get_value(AMI *ami, ARGS *args, const char *key );
/*!
* Verifica se a chave existi na lista de argumentos
* \param ami estrutura opaca
* \param args lista de argumentos
* \param value a chave
* \return existe 0 ou não existe -1
* @param ami estrutura opaca
* @param args lista de argumentos
* @param value a chave
* @return existe 0 ou não existe -1
*/
int ami_has_key( AMI *ami, ARGS *args, const char *key);
/*!
* Busca o primeiro evento encontrado na lista de eventos
* \param ami Instância AMI
* \param list_event lista de eventos
* \param event_name nome do evento que será procurado
* \return event ou NULL evento não eocntrado na lista
* @param ami Instância AMI
* @param list_event lista de eventos
* @param event_name nome do evento que será procurado
* @return event ou NULL evento não eocntrado na lista
*/
EVENT *ami_get_event_name( AMI *ami, EVENT *list_event, const char *event_name );
/*
* Recebe o texto usado quando é conectado ao manager
* \param ami estrutura opaca
* \return mensagem
* @param ami estrutura opaca
* @return mensagem
*/
const char *get_welcome( AMI *ami );
/*
* RESPONSE da action de login. ACTION
* \param ami estrutura opaca
* \return response de login
* @param ami estrutura opaca
* @return response de login
*/
RESPONSE *get_response_login(AMI *ami);

136
src/asterisk.c

@ -37,9 +37,9 @@ int ami_list_actionid_free( ACTIONID *list_actionid ){
/*!
* Verifica se o evento continua esperando informação da AMI
*
* \param list_actions lista das actionid ativas, ou seja, esperando concluir a resposta
* \param actionid valor da actionid que será verificada
* \return sucesso 0, falha -1
* @param list_actions lista das actionid ativas, ou seja, esperando concluir a resposta
* @param actionid valor da actionid que será verificada
* @return sucesso 0, falha -1
*/
int ami_is_actionid(ACTIONID **list_actions, const char *actionid){
@ -60,10 +60,10 @@ int ami_is_actionid(ACTIONID **list_actions, const char *actionid){
/*!
* Adicionar novas actionid. A biblioteca obterá apenas actionid que estão nessa estrutura
*
* \param list_actions lista de actionid ativas
* \param actionid será adicionada na lista
* @param list_actions lista de actionid ativas
* @param actionid será adicionada na lista
*
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_actionid_add(ACTIONID **list_actions, const char *actionid){
@ -84,9 +84,9 @@ int ami_actionid_add(ACTIONID **list_actions, const char *actionid){
* remove a actionid da lista de actionid ativas. A biblioteca vai ignorar actionid que estão fora dessa estrutura.\n
* Apenas quando essa actionid for concluída
*
* \param list_actions lista de actionid ativas
* \param actionid actionid que será excluída da lista
* \return sucesso 0, falha -1
* @param list_actions lista de actionid ativas
* @param actionid actionid que será excluída da lista
* @return sucesso 0, falha -1
*/
int ami_actionid_remove( ACTIONID **list_actions, const char *actionid ){
@ -110,8 +110,8 @@ int ami_actionid_remove( ACTIONID **list_actions, const char *actionid ){
/*!
* Libera o actionid
* \param drop_actionid ponteiro para estrutura
* \return 0 sempre
* @param drop_actionid ponteiro para estrutura
* @return 0 sempre
*/
int ami_actionid_free( ACTIONID *drop_actionid ){
@ -122,9 +122,9 @@ int ami_actionid_free( ACTIONID *drop_actionid ){
/*!
* Verificar se essa actionid é uma actionid do usuário
* \param args lista de actionid
* \param arg actionid que será verificada se está na lista
* \return 0 não existe, 1 existe
* @param args lista de actionid
* @param arg actionid que será verificada se está na lista
* @return 0 não existe, 1 existe
*/
int ami_exist_actionid(ACTIONID **list_actionid, ACTIONID *actionid){
@ -145,9 +145,9 @@ int ami_exist_actionid(ACTIONID **list_actionid, ACTIONID *actionid){
/*!
* Redireciona se o evento é uma resposta ou não da action
*
* \param ami identifica a instância da biblioteca AMI
* \param event estrutura evento
* \return sucesso 0, falha -1 ( o ponteiro event é liberado)
* @param ami identifica a instância da biblioteca AMI
* @param event estrutura evento
* @return sucesso 0, falha -1 ( o ponteiro event é liberado)
*/
int ami_event_redirect(AMI *ami, EVENT *event){
const char *str_actionid = "ActionID";
@ -175,8 +175,8 @@ int ami_event_redirect(AMI *ami, EVENT *event){
/*!
* Adicionar eventos lista de eventos da ami.
* \param event lista de eventos recebido do AMI
* \param next próximo evento que será incluído na lista de eventos
* @param event lista de eventos recebido do AMI
* @param next próximo evento que será incluído na lista de eventos
*/
void ami_event_add(EVENT **event, EVENT *next){
@ -202,9 +202,9 @@ void ami_event_add(EVENT **event, EVENT *next){
/*!
* Cria a estrutura de um novo evento.
*
* \warning Esse ponteiro deve ser liberado através do free_event.
* @warning Esse ponteiro deve ser liberado através do free_event.
*
* \return p_event um novo espaço para alocar eventos da AMI
* @return p_event um novo espaço para alocar eventos da AMI
*/
EVENT *ami_event_create(){
EVENT *p_event = (EVENT *)calloc(1, sizeof(EVENT));
@ -215,7 +215,7 @@ EVENT *ami_event_create(){
/*!
* Libera ponteiro do EVENT único e seus argumentos. Não vai liberar os próximos eventos "event->next"
*
* \param event estrutura que contém um evento da AMI
* @param event estrutura que contém um evento da AMI
*/
void ami_event_free( EVENT *event ){
@ -234,7 +234,7 @@ void ami_event_free( EVENT *event ){
/*!
* Libera a lista do eventos da AMI
*
* \param event lista de eventos que serão liberadas
* @param event lista de eventos que serão liberadas
*/
void ami_list_event_free(EVENT *event){
@ -252,8 +252,8 @@ void ami_list_event_free(EVENT *event){
/*!
* Adiciona argumento para estrutura RESPONSE
*
* \param args lista de argumentos
* \param arg argumento que será inserido
* @param args lista de argumentos
* @param arg argumento que será inserido
*/
void ami_args_add( ARGS **args, ARGS *arg ){
@ -268,7 +268,7 @@ void ami_args_add( ARGS **args, ARGS *arg ){
/*!
* Cria uma estrutura para um argumento.
* \return arg estrutura do tipo ARGS
* @return arg estrutura do tipo ARGS
*/
ARGS *ami_arg_create(){
ARGS *arg = (ARGS *)calloc(1, sizeof(ARGS));
@ -278,7 +278,7 @@ ARGS *ami_arg_create(){
/*!
* libera o ponteiro para estrutura do argumento.
* \param arg liberar ponteiro
* @param arg liberar ponteiro
*/
void ami_args_free(ARGS *arg){
@ -295,7 +295,7 @@ void ami_args_free(ARGS *arg){
/*!
* libera lista de argumentos. O ponteiro atuais e membros next args->next
* \param args pointeiro para essa lista
* @param args pointeiro para essa lista
*
*/
void ami_list_args_free(ARGS *args){
@ -309,8 +309,8 @@ void ami_list_args_free(ARGS *args){
/*!
* Obter a actionid de argumentos, serve para o EVENT e ACTION
* \param args lista de argumentos
* \return sucesso actionid, NULL não existe actionid(ou valoe é nulo)
* @param args lista de argumentos
* @return sucesso actionid, NULL não existe actionid(ou valoe é nulo)
*/
const char *ami_get_actionid(ARGS **args){
@ -330,9 +330,9 @@ const char *ami_get_actionid(ARGS **args){
/*!
* obter o valor da chave de determinado lista de argumentos
* \param args lista de argumentos
* \param key chave que será procurada
* \return retorna o valor da chave, NULL chave não existe ou o valor é nulo( use exist_key para verificar se chave existe)
* @param args lista de argumentos
* @param key chave que será procurada
* @return retorna o valor da chave, NULL chave não existe ou o valor é nulo( use exist_key para verificar se chave existe)
*/
const char *ami_get_key_value(ARGS **args, const char *key){
@ -355,9 +355,9 @@ const char *ami_get_key_value(ARGS **args, const char *key){
/*!
* Verifica se a chave na lista de argumentos existe
*
* \param args lista de argumentos
* \param key chave do argumento
* \return existe 0, não existe -1
* @param args lista de argumentos
* @param key chave do argumento
* @return existe 0, não existe -1
*/
int ami_exist_key(ARGS **args, const char *key){
@ -376,7 +376,7 @@ int ami_exist_key(ARGS **args, const char *key){
////* RESPONSE *////
/*!
* Cria estrutura RESPONSE
* \return response estrutura vazia que será usada para preencher resposta da AMI
* @return response estrutura vazia que será usada para preencher resposta da AMI
*/
RESPONSE *ami_response_create(){
RESPONSE *response;
@ -387,8 +387,8 @@ RESPONSE *ami_response_create(){
/*!
* Adiciona Response na estrutura Action
* \param action estrutura action
* \param response será adicionado para o ACtion
* @param action estrutura action
* @param response será adicionado para o ACtion
*/
void ami_action_response_add(ACTION *action, RESPONSE *response){
@ -400,7 +400,7 @@ void ami_action_response_add(ACTION *action, RESPONSE *response){
/*!
* Libera espaço do ponteiro da entrutura RESPONSE
* \param response estrutura response que será liberada
* @param response estrutura response que será liberada
*/
int ami_response_free(RESPONSE *response){
@ -418,7 +418,7 @@ int ami_response_free(RESPONSE *response){
////* ACTION *////
/*!
* criar estrutura para preenche-la com resposta da action
* \return action nova estrutura ACTION
* @return action nova estrutura ACTION
*/
ACTION *ami_action_create(){
ACTION * action;
@ -429,9 +429,9 @@ ACTION *ami_action_create(){
/*!
* liberar uma action da estrutura
* \param action lista de actions
* \param toremove o action que será escluída da lista
* \return
* @param action lista de actions
* @param toremove o action que será escluída da lista
* @return
*/
int ami_action_remove(ACTION **list_action, ACTION *toremove){
@ -453,9 +453,9 @@ int ami_action_remove(ACTION **list_action, ACTION *toremove){
/*!
* remove uma ACTION pelo actionid da lista de ACTION e invoca ami_action_free para liberar memória
* \param list_action lista de estruturas ACTION
* \param actionid que será procura na lista de actionid
* \return 0 sucesso ou -1 não foi encontrado uma ACTION com actionid
* @param list_action lista de estruturas ACTION
* @param actionid que será procura na lista de actionid
* @return 0 sucesso ou -1 não foi encontrado uma ACTION com actionid
*/
int ami_action_remove_actionid( ACTION **list_action, const char *actionid ){
@ -478,8 +478,8 @@ int ami_action_remove_actionid( ACTION **list_action, const char *actionid ){
/*!
* libera toda a lista do action
* \param list_action lista das action
* \return 0
* @param list_action lista das action
* @return 0
*/
int ami_list_action_free(ACTION *list_action){
@ -495,8 +495,8 @@ int ami_list_action_free(ACTION *list_action){
/*!
* libera action a estrutura action
* \param action ponteiro para estrutura action
* \return sempre sucesso 0
* @param action ponteiro para estrutura action
* @return sempre sucesso 0
*/
int ami_action_free(ACTION *action){
@ -515,9 +515,9 @@ int ami_action_free(ACTION *action){
/*!
* Adicionar action na lista de action
* \param action lista action
* \param next estrutura action que será inserida
* \return sucesso 0, falha -1 (ponteiro next será liberado)
* @param action lista action
* @param next estrutura action que será inserida
* @return sucesso 0, falha -1 (ponteiro next será liberado)
*/
int ami_action_add(ACTION **action, ACTION *next){
@ -549,9 +549,9 @@ int ami_action_add(ACTION **action, ACTION *next){
/*!
* Adiociona o event dentro da actions. Esse event precisa ser resposta e estar com uma action.
*
* \param list_action lista de actions
* \para event estrutura EVENT
* \return sucesso 0, event não adicionado -1
* @param list_action lista de actions
* @param event estrutura EVENT
* @return sucesso 0, event não adicionado -1
*/
int ami_action_event_add(ACTION **list_action, EVENT *event){
@ -578,8 +578,8 @@ int ami_action_event_add(ACTION **list_action, EVENT *event){
/*!
* Copia a actionid do response na estrutura action
* \param action ponteiro action
* \return sucesso 0, falha -1
* @param action ponteiro action
* @return sucesso 0, falha -1
*/
int ami_set_action_actionid( ACTION *action ){
@ -601,9 +601,9 @@ int ami_set_action_actionid( ACTION *action ){
/*!
* Obter a ACTION que corresponde o actionid
* \param list_actions lista das actions
* \param actionid procurar a actions que tem o mesmo
* \return sucesso action, NULL não existe action com aquela actionid
* @param list_actions lista das actions
* @param actionid procurar a actions que tem o mesmo
* @return sucesso action, NULL não existe action com aquela actionid
*/
ACTION *ami_get_action(ACTION **list_actions, const char* actionid){
if(!(*list_actions)){
@ -626,8 +626,8 @@ ACTION *ami_get_action(ACTION **list_actions, const char* actionid){
/*!
* Retira os eventos dentro da estrutura ami e coloca NULL no ami->events
* \param events lista de eventos
* \return np_events
* @param events lista de eventos
* @return np_events
*/
EVENT *ami_isolate_events(EVENT **events){
EVENT *np_events;
@ -640,8 +640,8 @@ EVENT *ami_isolate_events(EVENT **events){
/*!
* Retirar response da estrutura action
* \param action estrutura da resposta
* \return reponse
* @param action estrutura da resposta
* @return reponse
*/
RESPONSE *ami_isolate_action_response( ACTION *action ){
@ -660,8 +660,8 @@ RESPONSE *ami_isolate_action_response( ACTION *action ){
/*!
* Retirar eventos da action
* \param action estrutura de resposta
* \return events
* @param action estrutura de resposta
* @return events
*/
EVENT *ami_isolate_action_events(ACTION *action){

150
src/asterisk.h

@ -17,7 +17,7 @@ int ami_list_actionid_free( ACTIONID *list_actionid );
/*!
* A função é usado para inicializar ami com métodos que retornarão informação ami ami
* \param ami estrutura sobre informações da ami (asterisk)
* @param ami estrutura sobre informações da ami (asterisk)
*/
int ami_init_methods( AMI *ami );
@ -26,9 +26,9 @@ int ami_init_methods( AMI *ami );
/*!
* Verifica se o evento continua esperando informação da AMI
*
* \param list_actions lista das actionid ativas, ou seja, esperando concluir a resposta
* \param actionid valor da actionid que será verificada
* \return sucesso 0, falha -1
* @param list_actions lista das actionid ativas, ou seja, esperando concluir a resposta
* @param actionid valor da actionid que será verificada
* @return sucesso 0, falha -1
*/
int ami_is_actionid(ACTIONID **list_actions, const char *actionid);
@ -37,10 +37,10 @@ int ami_is_actionid(ACTIONID **list_actions, const char *actionid);
/*!
* Adicionar novas actionid. A biblioteca obterá apenas actionid que estão nessa estrutura
*
* \param list_actions lista de actionid ativas
* \param actionid será adicionada na lista
* @param list_actions lista de actionid ativas
* @param actionid será adicionada na lista
*
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_actionid_add(ACTIONID **list_actions, const char *actionid);
@ -50,10 +50,10 @@ int ami_actionid_add(ACTIONID **list_actions, const char *actionid);
* remove a actionid da lista de actionid ativas. A biblioteca vai ignorar actionid que estão fora dessa estrutura.\n
* Apenas quando essa actionid for concluída
*
* \param list_actions lista de actionid ativas
* \param actionid actionid que será excluída da lista
* @param list_actions lista de actionid ativas
* @param actionid actionid que será excluída da lista
*
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_actionid_remove( ACTIONID **list_actions, const char *actionid );
@ -61,8 +61,8 @@ int ami_actionid_remove( ACTIONID **list_actions, const char *actionid );
/*!
* Libera o actionid
* \param drop_actionid ponteiro para estrutura
* \return 0 sempre
* @param drop_actionid ponteiro para estrutura
* @return 0 sempre
*/
int ami_actionid_free( ACTIONID *drop_actionid );
@ -70,9 +70,9 @@ int ami_actionid_free( ACTIONID *drop_actionid );
/*!
* Verificar se essa actionid é uma actionid do usuário
* \param args lista de actionid
* \param arg actionid que será verificada se está na lista
* \return 0 não existe, 1 existe
* @param args lista de actionid
* @param arg actionid que será verificada se está na lista
* @return 0 não existe, 1 existe
*/
int ami_exist_actionid(ACTIONID **list_actionid, ACTIONID *actionid);
@ -80,9 +80,9 @@ int ami_exist_actionid(ACTIONID **list_actionid, ACTIONID *actionid);
/*!
* Verificar se essa actionid é uma actionid da biblioteca
* \param args lista de actionid interno da biblioteca
* \param arg actionid que será verificada
* \return 0 não existe, 1 existe
* @param args lista de actionid interno da biblioteca
* @param arg actionid que será verificada
* @return 0 não existe, 1 existe
*/
int ami_exist_actionid_internal(ACTIONID **list_actionid, ACTIONID *actionid);
@ -90,9 +90,9 @@ int ami_exist_actionid_internal(ACTIONID **list_actionid, ACTIONID *actionid);
/*!
* Redireciona se o evento é uma resposta ou não da action
*
* \param ami identifica a instância da biblioteca AMI
* \param event estrutura evento
* \return sucesso 0, falha -1 ( o ponteiro event é liberado)
* @param ami identifica a instância da biblioteca AMI
* @param event estrutura evento
* @return sucesso 0, falha -1 ( o ponteiro event é liberado)
*/
int ami_event_redirect(AMI *ami, EVENT *event);
@ -101,8 +101,8 @@ int ami_event_redirect(AMI *ami, EVENT *event);
/*!
* Adicionar eventos lista de eventos da ami.
*
* \param event lista de eventos recebido do AMI
* \param next próximo evento que será incluído na lista de eventos
* @param event lista de eventos recebido do AMI
* @param next próximo evento que será incluído na lista de eventos
*
*/
void ami_event_add(EVENT **event, EVENT *next);
@ -112,9 +112,9 @@ void ami_event_add(EVENT **event, EVENT *next);
/*!
* Cria a estrutura de um novo evento.
*
* \warning Esse ponteiro deve ser liberado através do free_event.
* @warning Esse ponteiro deve ser liberado através do free_event.
*
* \return p_event um novo espaço para alocar eventos da AMI
* @return p_event um novo espaço para alocar eventos da AMI
*/
EVENT *ami_event_create();
@ -123,7 +123,7 @@ EVENT *ami_event_create();
/*!
* Libera ponteiro do EVENT único e seus argumentos. Não vai liberar os próximos eventos "event->next"
*
* \param event estrutura que contém um evento da AMI
* @param event estrutura que contém um evento da AMI
*/
void ami_event_free( EVENT *event );
@ -132,7 +132,7 @@ void ami_event_free( EVENT *event );
/*!
* Libera a lista do eventos da AMI
*
* \param event lista de eventos que serão liberadas
* @param event lista de eventos que serão liberadas
*/
void ami_list_event_free(EVENT *event);
@ -141,8 +141,8 @@ void ami_list_event_free(EVENT *event);
/*!
* Adiciona o argumento dentro do evento
*
* \param event estrutura de evento que será
* \param arg
* @param event estrutura de evento que será
* @param arg
*
*/
void ami_args_event_add(EVENT *event, ARGS *arg);
@ -152,26 +152,26 @@ void ami_args_event_add(EVENT *event, ARGS *arg);
/*!
* Verifica se a chave na lista de argumentos existe
*
* \param args lista de argumentos
* \param key chave do argumento
* \return existe 0, não existe -1
* @param args lista de argumentos
* @param key chave do argumento
* @return existe 0, não existe -1
*/
int ami_exist_key(ARGS **args, const char *key);
/*!
* obter o valor da chave de determinado lista de argumentos
* \param args lista de argumentos
* \param key chave que será procurada
* \return retorna o valor da chave, NULL chave não existe ou o valor é nulo( use exist_key para verificar se chave existe)
* @param args lista de argumentos
* @param key chave que será procurada
* @return retorna o valor da chave, NULL chave não existe ou o valor é nulo( use exist_key para verificar se chave existe)
*/
const char *ami_get_key_value(ARGS **args, const char *key);
/*!
* Adiciona argumento para estrutura RESPONSE
* \param args lista de argumentos
* \param arg argumento que será inserido na lista
* @param args lista de argumentos
* @param arg argumento que será inserido na lista
*/
void ami_args_add( ARGS **args, ARGS *arg );
@ -179,7 +179,7 @@ void ami_args_add( ARGS **args, ARGS *arg );
/*!
* Cria uma estrutura para um argumento.
* \return arg estrutura do tipo ARGS
* @return arg estrutura do tipo ARGS
*/
ARGS *ami_arg_create();
@ -188,7 +188,7 @@ ARGS *ami_arg_create();
/*!
* libera o ponteiro para estrutura do argumento.
*
* \return void
* @return void
*/
void ami_args_free(ARGS *arg);
@ -196,7 +196,7 @@ void ami_args_free(ARGS *arg);
/*!
* libera lista de argumentos. O ponteiro atuais e membros next args->next
* \param args pointeiro para essa lista
* @param args pointeiro para essa lista
*
*/
void ami_list_args_free(ARGS *args);
@ -205,7 +205,7 @@ void ami_list_args_free(ARGS *args);
/*!
* Cria estrutura RESPONSE
* \return response estrutura vazia que será usada para preencher resposta da AMI
* @return response estrutura vazia que será usada para preencher resposta da AMI
*/
RESPONSE *ami_response_create();
@ -213,8 +213,8 @@ RESPONSE *ami_response_create();
/*!
* Adiciona Response na estrutura Action
* \param action estrutura action
* \param response será adicionado para o ACtion
* @param action estrutura action
* @param response será adicionado para o ACtion
*/
void ami_action_response_add(ACTION *action, RESPONSE *response);
@ -222,7 +222,7 @@ void ami_action_response_add(ACTION *action, RESPONSE *response);
/*!
* Libera espaço do ponteiro da entrutura RESPONSE
* \param response estrutura response que será liberada
* @param response estrutura response que será liberada
*/
int ami_response_free(RESPONSE *response);
@ -230,7 +230,7 @@ int ami_response_free(RESPONSE *response);
/*!
* criar estrutura para preenche-la com resposta da action
* \return ACTION nova estrutura ACTION
* @return ACTION nova estrutura ACTION
*/
ACTION *ami_action_create();
@ -238,26 +238,26 @@ ACTION *ami_action_create();
/*!
* liberar uma action da estrutura
* \param action lista de actions
* \param toremove o action que será escluída da lista
* \return 0 sempre
* @param action lista de actions
* @param toremove o action que será escluída da lista
* @return 0 sempre
*/
int ami_action_remove(ACTION **list_action, ACTION *toremove);
/*!
* remove uma ACTION pelo actionid da lista de ACTION e invoca ami_action_free para liberar memória
* \param list_action lista de estruturas ACTION
* \param actionid que será procura na lista de actionid
* \return 0 sucesso ou -1 não foi encontrado uma ACTION com actionid
* @param list_action lista de estruturas ACTION
* @param actionid que será procura na lista de actionid
* @return 0 sucesso ou -1 não foi encontrado uma ACTION com actionid
*/
int ami_action_remove_actionid( ACTION **list_action, const char *actionid );
/*!
* libera toda a lista do action
* \param list_action lista das action
* \return 0
* @param list_action lista das action
* @return 0
*/
int ami_list_action_free(ACTION *list_action);
@ -267,10 +267,10 @@ int ami_list_action_free(ACTION *list_action);
* remove a actionid da lista de actionid ativas. A biblioteca vai ignorar actionid que estão fora dessa estrutura.\n
* Apenas quando essa actionid for concluída
*
* \param list_actions lista de actionid ativas
* \param actionid actionid que será excluída da lista
* @param list_actions lista de actionid ativas
* @param actionid actionid que será excluída da lista
*
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_actionid_remove( ACTIONID **list_actions, const char *actionid );
@ -278,8 +278,8 @@ int ami_actionid_remove( ACTIONID **list_actions, const char *actionid );
/*!
* libera action a estrutura action
* \param action ponteiro para estrutura action
* \return sempre sucesso 0
* @param action ponteiro para estrutura action
* @return sempre sucesso 0
*/
int ami_action_free(ACTION *action);
@ -287,9 +287,9 @@ int ami_action_free(ACTION *action);
/*!
* Adicionar action na lista de action
* \param action lista action
* \param next estrutura action que será inserida
* \return sucesso 0, falha -1
* @param action lista action
* @param next estrutura action que será inserida
* @return sucesso 0, falha -1
*/
int ami_action_add(ACTION **action, ACTION *next);
@ -297,8 +297,8 @@ int ami_action_add(ACTION **action, ACTION *next);
/*!
* Defini a actionid do response na estrutura action
* \param action ponteiro action
* \return sucesso 0, falha -1
* @param action ponteiro action
* @return sucesso 0, falha -1
*/
int ami_set_action_actionid( ACTION *action );
@ -306,42 +306,42 @@ int ami_set_action_actionid( ACTION *action );
/*!
* Adiociona o event dentro da actions. Esse event precisa ser resposta e estar com uma action.
*
* \param list_action lista de actions
* \para event estrutura EVENT
* \return sucesso 0, event não adicionado -1
* @param list_action lista de actions
* @param event estrutura EVENT
* @return sucesso 0, event não adicionado -1
*/
int ami_action_event_add(ACTION **list_action, EVENT *event);
/*!
* Obter a ACTION que corresponde o actionid
* \param list_actions lista das actions
* \param actionid procurar a actions que tem o mesmo
* \return sucesso action, NULL não existe action com aquela actionid
* @param list_actions lista das actions
* @param actionid procurar a actions que tem o mesmo
* @return sucesso action, NULL não existe action com aquela actionid
*/
ACTION *ami_get_action(ACTION **list_actions, const char* actionid);
/*!
* Retira os eventos dentro da estrutura ami e coloca NULL no ami->events
* \param events lista de eventos
* \return np_events
* @param events lista de eventos
* @return np_events
*/
EVENT *ami_isolate_events(EVENT **events);
/*!
* Retirar response da estrutura action
* \param action estrutura da resposta
* \return reponse
* @param action estrutura da resposta
* @return reponse
*/
RESPONSE *ami_isolate_action_response( ACTION *action );
/*!
* Retirar eventos da action
* \param action estrutura de resposta
* \return events
* @param action estrutura de resposta
* @return events
*/
EVENT *ami_isolate_action_events(ACTION *action);

34
src/net.c

@ -17,7 +17,7 @@
/*!
* Cria um sockect e defini opções desse conexão
*
* \return sucesso 0
* @return sucesso 0
*/
static int ami_create_socket(NET *net);
@ -25,8 +25,8 @@ static int ami_create_socket(NET *net);
/*!
* O módulo net começa ser usada. Essa função fará thread para começar a conexão.
* \param ami identifica qual instância da conexão
* \return sucesso 0
* @param ami identifica qual instância da conexão
* @return sucesso 0
*/
int ami_net_start(AMI *ami){
@ -40,8 +40,8 @@ int ami_net_start(AMI *ami){
/*!
* Começará a conexão com a ami de acordo com os parâmetro passado
* \param void_ami identifica qual instância da conexão em tipo void *
* \return void *
* @param void_ami identifica qual instância da conexão em tipo void *
* @return void *
*/
void *ami_net(void *void_ami){
AMI *ami = (AMI *)void_ami;
@ -91,7 +91,7 @@ void ami_connect_login_down(NET *net, ASTERISK *asterisk){
/*!
* Derruba a conexão com o ami
* \param net estrutura de informações de rede da biblioteca
* @param net estrutura de informações de rede da biblioteca
*/
void ami_connect_down(NET *net){
@ -106,7 +106,7 @@ void ami_connect_down(NET *net){
/*!
* Levanta a conexão, isto é, define na estrutura que a conexão está conectada.
* \param net estrutura responsável por tratar rede
* @param net estrutura responsável por tratar rede
*/
void ami_connect_up(NET *net){
net->is_connected = 1;
@ -116,8 +116,8 @@ void ami_connect_up(NET *net){
/*!
* Define na estrutura que não está logado
* \param asterisk estrutura sobre o asterisk a ami do outro lado
* \return void
* @param asterisk estrutura sobre o asterisk a ami do outro lado
* @return void
*/
void ami_login_down(ASTERISK *asterisk){
asterisk->is_logged = 0;
@ -137,10 +137,10 @@ void ami_login_up(ASTERISK *asterisk){
/*!
* Envia uma action para asterisk. send_action é função externa. dispatch_action é uma função interna
* \param ami estrutura de instância da biblioteca
* \param action texto que será enviado ao ami do asterisk
* \warning Essa função ainda não tem tratamento de erro
* \return sucesso 1, falha -1
* @param ami estrutura de instância da biblioteca
* @param action texto que será enviado ao ami do asterisk
* @warning Essa função ainda não tem tratamento de erro
* @return sucesso 1, falha -1
*/
int ami_dispatch_action(AMI *ami, const char *action){
@ -171,7 +171,7 @@ int ami_dispatch_action(AMI *ami, const char *action){
/*!
* envia a action para login ami
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_dispatch_login(AMI *ami){
@ -236,7 +236,7 @@ int ami_sock_close(int sock){
/*!
* Connectar a ami e retorna está conectado
*
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_connect_ami(NET *net){
@ -258,7 +258,7 @@ int ami_connect_ami(NET *net){
/*!
* Cria um sockect e defini opções desse conexão
* \return sucesso 0
* @return sucesso 0
*/
static int ami_create_socket(NET *net){
@ -278,7 +278,7 @@ static int ami_create_socket(NET *net){
/*!
* Começa receber dados do ami, essa função é depois que connect_ami e dispatch_login
* Direciona os dados que chegam da ami para determinados ramos
* \return void
* @return void
*/
int ami_communication_ami(AMI *ami){

30
src/net.h

@ -11,8 +11,8 @@
/*!
* O módulo net começa ser usada. Essa função fará thread para começar a conexão.
* \param ami identifica qual instância da conexão
* \return sucesso 0
* @param ami identifica qual instância da conexão
* @return sucesso 0
*/
int ami_net_start(AMI *ami);
@ -21,8 +21,8 @@ int ami_net_start(AMI *ami);
/*!
* Começará a conexão com a ami de acordo com os parâmetro passado
* \param void_ami identifica qual instância da conexão em tipo void *
* \return void *
* @param void_ami identifica qual instância da conexão em tipo void *
* @return void *
*/
void *ami_net(void *void_ami);
@ -40,7 +40,7 @@ void ami_connect_login_down(NET *net, ASTERISK *asterisk);
/*!
* Derruba a conexão com o ami
* \param net estrutura de informações de rede da biblioteca
* @param net estrutura de informações de rede da biblioteca
*/
void ami_connect_down(NET *net);
@ -49,8 +49,8 @@ void ami_connect_down(NET *net);
/*!
* Levanta a conexão, isto é, define na estrutura que a conexão está conectada.
* \param net l
* \return
* @param net l
* @return
*/
void ami_connect_up(NET *net);
@ -59,8 +59,8 @@ void ami_connect_up(NET *net);
/*!
* Define na estrutura que não está logado
* \param asterisk estrutura sobre o asterisk a ami do outro lado
* \return void
* @param asterisk estrutura sobre o asterisk a ami do outro lado
* @return void
*/
void ami_login_down(ASTERISK *asterisk);
@ -78,9 +78,9 @@ void ami_login_up(ASTERISK *asterisk);
/*!
* Envia uma action para asterisk. send_action é função externa. dispatch_action é uma função interna
* \param ami estrutura de instância da biblioteca
* \param action action que será enviado
* \return sucesso 1, falha -1
* @param ami estrutura de instância da biblioteca
* @param action action que será enviado
* @return sucesso 1, falha -1
*/
int ami_dispatch_action(AMI *ami, const char *action);
@ -89,7 +89,7 @@ int ami_dispatch_action(AMI *ami, const char *action);
/*!
* envia a action para login ami
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_dispatch_login(AMI *ami);
@ -108,7 +108,7 @@ int ami_sock_close(int sock);
/*!
* Connectar a ami e retorna está conectado
*
* \return sucesso 0, falha -1
* @return sucesso 0, falha -1
*/
int ami_connect_ami(NET *net);
@ -118,7 +118,7 @@ int ami_connect_ami(NET *net);
/*!
* Começa receber dados do ami, essa função é depois que connect_ami e dispatch_login
* Direciona os dados que chegam da ami para determinados ramos
* \return void
* @return void
*/
int ami_communication_ami(AMI *ami);

6
src/parse_action.c

@ -11,9 +11,9 @@
/*!
* Cuida das respostas que chegam da AMi das actions enviadas
* \param ami estrutura da AMI, a principal estrutura da AMI
* \param buffer
* \return void
* @param ami estrutura da AMI, a principal estrutura da AMI
* @param buffer
* @return void
*/
void parse_response(AMI *ami, const char *buffer, int *incomplete){

2
src/parse_action.h

@ -11,7 +11,7 @@
/*!
* Tratará das respostas das actions
* \param substring inicio da resposta
* @param substring inicio da resposta
*
*/
void parse_response(AMI *ami, const char *buffer, int *incomplete);

6
src/parse_event.c

@ -11,9 +11,9 @@
/*!
* Colocar cada evento dentro da estrutura Event.
*
* \param substring
* \param ami
* \return diferente de NULL significa que o evento será completado na proxima revc
* @param substring
* @param ami
* @return diferente de NULL significa que o evento será completado na proxima revc
*/
void parse_event(AMI *ami, char *buffer, int *incomplete){
char *end_event = "\r\n\r";

6
src/parse_event.h

@ -11,9 +11,9 @@
/*!
* Colocar cada evento dentro da estrutura Event.
* \param substring
* \param ami
* \return diferente de NULL significa que o evento será completado na proxima revc
* @param substring
* @param ami
* @return diferente de NULL significa que o evento será completado na proxima revc
*/
void parse_event(AMI *ami, char *buffer, int *incomplete);

46
src/parse_string.c

@ -18,7 +18,7 @@
/*!
* Constrói o msg de login de acordo com as credenciais informadas pelo usuários
*
* \return action para ser enviado ao login, para dar free use a função free_str_login
* @return action para ser enviado ao login, para dar free use a função free_str_login
*/
const char *build_str_login(CREDENTIAL *credential) {
@ -34,7 +34,7 @@ const char *build_str_login(CREDENTIAL *credential) {
/*!
* libera ponteiro que está o action do login
* \param str_login action em texto
* @param str_login action em texto
*/
void free_str_login(char *str_login){
free(str_login);
@ -43,8 +43,8 @@ void free_str_login(char *str_login){
/*!
* Constrói texto da action de acordo com parâmetros que foi criado pelo create_new_action e preenchido pelo usuário
* \param action estrutura criada pelo create_new_action
* \return string da action, essa action deve ser chamada free_str_action para liberar
* @param action estrutura criada pelo create_new_action
* @return string da action, essa action deve ser chamada free_str_action para liberar
*/
const char *build_str_action(struct ss_action *action){
@ -69,7 +69,7 @@ const char *build_str_action(struct ss_action *action){
/*!
* Será usado para liberar action criada pelo create_new_action
* \param str_action liberar ponteiro que está o texto action
* @param str_action liberar ponteiro que está o texto action
*/
void str_action_free(char *str_action){
free(str_action);
@ -78,8 +78,8 @@ void str_action_free(char *str_action){
/*!
* Comprimento do nome da action que vem da ami
* \param str texto da AMI
* \return retorna o comprimento da AMI ou 0 se encontrar byte \0
* @param str texto da AMI
* @return retorna o comprimento da AMI ou 0 se encontrar byte \0
*/
size_t len_action_ami(const char *str){
@ -98,8 +98,8 @@ size_t len_action_ami(const char *str){
/*!
* tamanho da chave que vem no texto da AMI
* \param str texto da AMI
* \return comprimento da ami ou 0 se encontrar byte nulo
* @param str texto da AMI
* @return comprimento da ami ou 0 se encontrar byte nulo
*/
size_t len_key_ami(const char *str){
@ -118,8 +118,8 @@ size_t len_key_ami(const char *str){
/*!
* Comprimento do valor da chave
* \param str texto do evento da ami
* \return comprimento do valor ou 0 se encontrar byte nulo \0
* @param str texto do evento da ami
* @return comprimento do valor ou 0 se encontrar byte nulo \0
*/
size_t len_value_ami( const char *str, int type ){
@ -147,9 +147,9 @@ size_t len_value_ami( const char *str, int type ){
* outros blocos:\n
* point = define_block(NULL, &point_block);
*
* \param str
* \param saveptr
* \return sucesso bloco de dados ou NULL não tem mais blocos definidos
* @param str
* @param saveptr
* @return sucesso bloco de dados ou NULL não tem mais blocos definidos
*/
char *define_block(char *str, char **saveptr){
@ -188,8 +188,8 @@ char *define_block(char *str, char **saveptr){
/* Verifica se existe a string "--END COMMAND--\r\n\r" esse trecho é usado no asterisk 13 e anterior
* Caso estiver esse texto, retornará quando caracteres até ele
* \param command cadeia que verificará se existe a frase
* \return len quantidade de carcteres até a frase, falha 0 significa que a string não existe
* @param command cadeia que verificará se existe a frase
* @return len quantidade de carcteres até a frase, falha 0 significa que a string não existe
*/
size_t len_command_old_ami(const char *command){
@ -212,9 +212,9 @@ size_t len_command_old_ami(const char *command){
/*!
* O mesmo que strcmp, porém testa NULL
* \param str1 primeiro valor
* \param str2 segundo valor
* \return os mesmos valores de strcmp
* @param str1 primeiro valor
* @param str2 segundo valor
* @return os mesmos valores de strcmp
*/
int strcmp_n(const char *str1, const char *str2){
@ -233,10 +233,10 @@ int strcmp_n(const char *str1, const char *str2){
/*!
* strncasecmp_n é similar ao strncasecmp, porém verifica se str2 e str1 é nulo
* \param str1 string para comparar
* \param str2 string para comparar
* \param comprimento da string
* \return os mesmos valores de strncasecmp
* @param str1 string para comparar
* @param str2 string para comparar
* @param comprimento da string
* @return os mesmos valores de strncasecmp
*/
int strcasecmp_n( const char *str1, const char *str2){

46
src/parse_string.h

@ -12,22 +12,22 @@
/*!
* Constrói o msg de login de acordo com as credenciais informadas pelo usuários
*
* \return action para ser enviado ao login, para dar free use a função free_str_login
* @return action para ser enviado ao login, para dar free use a função free_str_login
*/
const char *build_str_login(CREDENTIAL *credential);
/*!
* libera ponteiro que está o action do login
* \param str_login action em texto
* @param str_login action em texto
*/
void free_str_login(char *str_login);
/*!
* Constrói texto da action de acordo com parâmetros que foi criado pelo create_new_action e preenchido pelo usuário
* \param action estrutura criada pelo create_new_action
* \return string da action, essa action deve ser chamada free_str_action para liberar
* @param action estrutura criada pelo create_new_action
* @return string da action, essa action deve ser chamada free_str_action para liberar
*/
const char *build_str_action(struct ss_action *action);
@ -42,25 +42,25 @@ void free_str_action(char *str_action);
/*!
* Comprimento do nome da action que vem da ami
* \param str texto da AMI
* \return retorna o comprimento da AMI ou 0 se encontrar byte \0
* @param str texto da AMI
* @return retorna o comprimento da AMI ou 0 se encontrar byte \0
*/
size_t len_action_ami(const char *str);
/*!
* tamanho da chave que vem no texto da AMI
* \param str texto da AMI
* \return comprimento da ami ou 0 se encontrar byte nulo
* @param str texto da AMI
* @return comprimento da ami ou 0 se encontrar byte nulo
*/
size_t len_key_ami(const char *str);
/*!
* Comprimento do valor da chave
* \param str texto do evento da ami
* \param type
* \return comprimento do valor ou 0 se encontrar byte nulo \0
* @param str texto do evento da ami
* @param type
* @return comprimento do valor ou 0 se encontrar byte nulo \0
*/
size_t len_value_ami( const char *str, int type );
@ -68,17 +68,17 @@ size_t len_value_ami( const char *str, int type );
/*!
* define o bloco dos dados da AMI colocando um \\0 no último \\n
* Essa função é similar ao strtok_r
* \param str começo do dados da AMI
* \param saveptr esse ponteiro será preenchido para o próxima chamada
* \return sucesso dados não null, falha NULL não tem blocos definidos
* @param str começo do dados da AMI
* @param saveptr esse ponteiro será preenchido para o próxima chamada
* @return sucesso dados não null, falha NULL não tem blocos definidos
*/
char *define_block(char *str, char **saveptr);
/* Verifica se existe a string "--END COMMAND--\r\n\r" esse trecho é usado no asterisk 13 e anterior
* Caso estiver esse texto, retornará quando caracteres até ele
* \param command cadeia que verificará se existe a frase
* \return len quantidade de carcteres até a frase, falha 0 significa que a string não existe
* @param command cadeia que verificará se existe a frase
* @return len quantidade de carcteres até a frase, falha 0 significa que a string não existe
*/
size_t len_command_old_ami(const char *command);
@ -93,18 +93,18 @@ void str_action_free(char *str_action);
/*!
* O mesmo que strcmp, porém testa NULL
* \param str1 primeiro valor
* \param str2 segundo valor
* \return os mesmos valores de strcmp
* @param str1 primeiro valor
* @param str2 segundo valor
* @return os mesmos valores de strcmp
*/
int strcmp_n(const char *s1, const char *s2);
/*!
* strncasecmp_n é similar ao strncasecmp, porém verifica se str2 e str1 é nulo
* \param str1 string para comparar
* \param str2 string para comparar
* \param comprimento da string
* \return os mesmos valores de strncasecmp
* @param str1 string para comparar
* @param str2 string para comparar
* @param comprimento da string
* @return os mesmos valores de strncasecmp
*/
int strcasecmp_n( const char *str1, const char *str2);

Loading…
Cancel
Save