Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
utils.h
00001 /** 00002 * @file utils.h 00003 * @Synopsis Funções de propósito geral são encontradas nesse arquivo. 00004 * @author Jhonatan Casale 00005 * @version 1 00006 * @date 2014-11-06 00007 */ 00008 00009 #ifndef __UTILS_H__ 00010 #define __UTILS_H__ 00011 00012 #include "shared_variables.h" 00013 #include <stdint.h> 00014 00015 /** 00016 * @Synopsis Responsavel por escutar a porta de conexão com o servidor, verificando se o mesmo mandou algum dado. 00017 * 00018 * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento. 00019 * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento. 00020 * 00021 * @return 0 ( zero ) se tudo correu bem, um numero menor do que zero, caso algum problema tenha acontecido na execusão, e um numero 00022 * maior que zero indicando o ramal que deve ser removido do vetor de ligações. 00023 * 00024 * Exemplo: 00025 * @code 00026 * ... 00027 * Vector * v_cb = new Vector(); 00028 * Vector * v_call = new Vector(); 00029 * // assumindo que os vetores já foram populados. 00030 * int ret = sip_manager( v_cb, v_call ); 00031 * if( ret > 0x00 ){ 00032 * // tratar esse request 00033 * } 00034 * ... 00035 * @endcode 00036 */ 00037 00038 /** 00039 * @Synopsis Função usada na ordenação dos CBx para exibição no comando "ls" 00040 * 00041 * @param a O primeiro ramal que se quer comparar. 00042 * @param b O segundo ramal que se quer comparar. 00043 * 00044 * @return 0 ( zero ) se os valores forem iguais, maior que zero, se o primeiro valor ser maior que o segundo e retorna um numero 00045 * negativo, caso o segundo valor seja maior que o primeiro. 00046 * 00047 * Exemplo: 00048 * @code 00049 * ... 00050 * int a = 10; 00051 * int b = 119; 00052 * int result = ls_comp( ( const void * )&a, ( const void * )&b ); 00053 * ... 00054 * @endcode 00055 */ 00056 int ls_comp ( const void * a, const void * b ); 00057 00058 int wake_comp ( const void * a, const void * b ); 00059 00060 /** 00061 * @Synopsis Função que converte o ramal para a porta, por definição de projeto, cara ramo possui o numero da centena incremental 00062 * permanecendo o resto igual, por exemplo no ramo pilo os ramais são 5000, 5001 -- no lote 1 5100, 5101 -- porem a porta sempre 00063 * se manteve a mesma, o CBx esta configurado como ramal 5000 e porta 5000, assim como o ramal 5100 e porta 5000, em outras palavras 00064 * dado um ramal, calcular a porta é o mesmo que eliminar a centena do numero. 00065 * 00066 * @param ext O ramal do qual se quer calcular a porta vinculada. 00067 * 00068 * @return O valor calculado da porta. 00069 * 00070 * Exemplo: 00071 * @code 00072 * ... 00073 * int ext = 5220; 00074 * int port = convert_ext_to_port( ext ); 00075 * ... 00076 * @endcode 00077 */ 00078 int convert_ext_to_port ( int ext ); 00079 00080 void xmemcpy( uint8_t * dest, const uint8_t * src, uint16_t size ); 00081 void xmemcpy32( uint32_t * dest, uint32_t * src, uint16_t size ); 00082 uint8_t xstrmatch( const uint8_t * s1, const uint8_t * s2 ); 00083 uint8_t xmemmatch(const uint8_t * s1, const uint8_t * s2, uint16_t size); 00084 00085 int hex_init(void); 00086 char * hex8 (uint8_t i); 00087 char * hex16 (uint16_t i); 00088 00089 #endif
Generated on Tue Jul 12 2022 16:25:14 by
