![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
utils.h@121:ee02790d00b7, 2015-05-08 (annotated)
- Committer:
- klauss
- Date:
- Fri May 08 04:15:23 2015 +0000
- Revision:
- 121:ee02790d00b7
- Parent:
- 119:ee6a53069455
- Child:
- 124:c1b6c893e1c3
compiling
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
klauss | 69:65665afbad5d | 1 | /** |
klauss | 69:65665afbad5d | 2 | * @file utils.h |
klauss | 69:65665afbad5d | 3 | * @Synopsis Funções de propósito geral são encontradas nesse arquivo. |
klauss | 69:65665afbad5d | 4 | * @author Jhonatan Casale |
klauss | 69:65665afbad5d | 5 | * @version 1 |
klauss | 69:65665afbad5d | 6 | * @date 2014-11-06 |
klauss | 69:65665afbad5d | 7 | */ |
klauss | 69:65665afbad5d | 8 | |
klauss | 0:4d17cd9c8f9d | 9 | #ifndef __UTILS_H__ |
klauss | 0:4d17cd9c8f9d | 10 | #define __UTILS_H__ |
klauss | 0:4d17cd9c8f9d | 11 | |
klauss | 74:81c47fff88a5 | 12 | #include "shared_variables.h" |
klauss | 121:ee02790d00b7 | 13 | #include <stdint.h> |
klauss | 69:65665afbad5d | 14 | |
klauss | 69:65665afbad5d | 15 | /** |
klauss | 69:65665afbad5d | 16 | * @Synopsis Responsavel por escutar a porta de conexão com o servidor, verificando se o mesmo mandou algum dado. |
klauss | 69:65665afbad5d | 17 | * |
klauss | 69:65665afbad5d | 18 | * @param v_cb Um vetor contendo todos os Call_box conhecidos pela Header em um determinado momento. |
klauss | 69:65665afbad5d | 19 | * @param v_call Um vetor contendo todas as vz_calls em andamento em um dado momento. |
klauss | 69:65665afbad5d | 20 | * |
klauss | 69:65665afbad5d | 21 | * @return 0 ( zero ) se tudo correu bem, um numero menor do que zero, caso algum problema tenha acontecido na execusão, e um numero |
klauss | 69:65665afbad5d | 22 | * maior que zero indicando o ramal que deve ser removido do vetor de ligações. |
klauss | 69:65665afbad5d | 23 | * |
klauss | 69:65665afbad5d | 24 | * Exemplo: |
klauss | 69:65665afbad5d | 25 | * @code |
klauss | 69:65665afbad5d | 26 | * ... |
klauss | 69:65665afbad5d | 27 | * Vector * v_cb = new Vector(); |
klauss | 69:65665afbad5d | 28 | * Vector * v_call = new Vector(); |
klauss | 69:65665afbad5d | 29 | * // assumindo que os vetores já foram populados. |
klauss | 69:65665afbad5d | 30 | * int ret = sip_manager( v_cb, v_call ); |
klauss | 69:65665afbad5d | 31 | * if( ret > 0x00 ){ |
klauss | 69:65665afbad5d | 32 | * // tratar esse request |
klauss | 69:65665afbad5d | 33 | * } |
klauss | 69:65665afbad5d | 34 | * ... |
klauss | 69:65665afbad5d | 35 | * @endcode |
klauss | 69:65665afbad5d | 36 | */ |
klauss | 72:895ca792c647 | 37 | |
klauss | 69:65665afbad5d | 38 | /** |
klauss | 69:65665afbad5d | 39 | * @Synopsis Função usada na ordenação dos CBx para exibição no comando "ls" |
klauss | 69:65665afbad5d | 40 | * |
klauss | 69:65665afbad5d | 41 | * @param a O primeiro ramal que se quer comparar. |
klauss | 69:65665afbad5d | 42 | * @param b O segundo ramal que se quer comparar. |
klauss | 69:65665afbad5d | 43 | * |
klauss | 69:65665afbad5d | 44 | * @return 0 ( zero ) se os valores forem iguais, maior que zero, se o primeiro valor ser maior que o segundo e retorna um numero |
klauss | 69:65665afbad5d | 45 | * negativo, caso o segundo valor seja maior que o primeiro. |
klauss | 69:65665afbad5d | 46 | * |
klauss | 69:65665afbad5d | 47 | * Exemplo: |
klauss | 69:65665afbad5d | 48 | * @code |
klauss | 69:65665afbad5d | 49 | * ... |
klauss | 69:65665afbad5d | 50 | * int a = 10; |
klauss | 69:65665afbad5d | 51 | * int b = 119; |
klauss | 69:65665afbad5d | 52 | * int result = ls_comp( ( const void * )&a, ( const void * )&b ); |
klauss | 69:65665afbad5d | 53 | * ... |
klauss | 69:65665afbad5d | 54 | * @endcode |
klauss | 69:65665afbad5d | 55 | */ |
klauss | 121:ee02790d00b7 | 56 | int ls_comp ( const void * a, const void * b ); |
klauss | 0:4d17cd9c8f9d | 57 | |
klauss | 69:65665afbad5d | 58 | /** |
klauss | 74:81c47fff88a5 | 59 | * @Synopsis Função que converte o ramal para a porta, por definição de projeto, cara ramo possui o numero da centena incremental |
klauss | 74:81c47fff88a5 | 60 | * permanecendo o resto igual, por exemplo no ramo pilo os ramais são 5000, 5001 -- no lote 1 5100, 5101 -- porem a porta sempre |
klauss | 74:81c47fff88a5 | 61 | * 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 |
klauss | 74:81c47fff88a5 | 62 | * dado um ramal, calcular a porta é o mesmo que eliminar a centena do numero. |
klauss | 74:81c47fff88a5 | 63 | * |
klauss | 74:81c47fff88a5 | 64 | * @param ext O ramal do qual se quer calcular a porta vinculada. |
klauss | 74:81c47fff88a5 | 65 | * |
klauss | 74:81c47fff88a5 | 66 | * @return O valor calculado da porta. |
klauss | 74:81c47fff88a5 | 67 | * |
klauss | 74:81c47fff88a5 | 68 | * Exemplo: |
klauss | 74:81c47fff88a5 | 69 | * @code |
klauss | 74:81c47fff88a5 | 70 | * ... |
klauss | 74:81c47fff88a5 | 71 | * int ext = 5220; |
klauss | 74:81c47fff88a5 | 72 | * int port = convert_ext_to_port( ext ); |
klauss | 74:81c47fff88a5 | 73 | * ... |
klauss | 74:81c47fff88a5 | 74 | * @endcode |
klauss | 69:65665afbad5d | 75 | */ |
klauss | 121:ee02790d00b7 | 76 | int convert_ext_to_port ( int ext ); |
klauss | 69:65665afbad5d | 77 | |
klauss | 74:81c47fff88a5 | 78 | void xstrcpy( uint8_t * dest, const uint8_t * src); |
klauss | 78:1353744f01e1 | 79 | void xmemcpy( uint8_t * dest, const uint8_t * src, uint16_t size ); |
klauss | 78:1353744f01e1 | 80 | void xmemcpy32( uint32_t * dest, uint32_t * src, uint16_t size ); |
klauss | 78:1353744f01e1 | 81 | uint8_t xstrmatch( const uint8_t * s1, const uint8_t * s2 ); |
klauss | 81:3656f00ab3db | 82 | uint8_t xmemmatch(const uint8_t * s1, const uint8_t * s2, uint16_t size); |
klauss | 117:e9facba9db27 | 83 | |
klauss | 119:ee6a53069455 | 84 | int hex_init(void); |
klauss | 119:ee6a53069455 | 85 | char * hex8 (uint8_t i); |
klauss | 119:ee6a53069455 | 86 | char * hex16 (uint16_t i); |
klauss | 117:e9facba9db27 | 87 | |
klauss | 0:4d17cd9c8f9d | 88 | #endif |