diff options
Diffstat (limited to 'src/ogAdmLib.c')
-rw-r--r-- | src/ogAdmLib.c | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/src/ogAdmLib.c b/src/ogAdmLib.c index 1efb1ce..9766eae 100644 --- a/src/ogAdmLib.c +++ b/src/ogAdmLib.c @@ -241,125 +241,3 @@ char* reservaMemoria(int lon) memset(mem,0,lon); return(mem); } -//______________________________________________________________________________________________________ -// Función: ampliaMemoria -// -// Descripción: -// Amplia memoria para una variable -// Parámetros: -// - ptr: Puntero al buffer de memoria que se quiere ampliar -// - lon: Longitud en bytes de la amplicación -// Devuelve: -// Un puntero a la zona de memoria reservada que ha sido previamente rellena con zeros o nulos -//______________________________________________________________________________________________________ -char* ampliaMemoria(char* ptr,int lon) -{ - char *mem; - - mem=(char*)realloc(ptr,lon*sizeof(char*)); - if(mem!=NULL) - return(mem); - return(NULL); -} -//______________________________________________________________________________________________________ -// Función: liberaMemoria -// -// Descripción: -// Libera memoria para una variable -// Parámetros: -// - ptr: Puntero al buffer de memoria que se quiere liberar -// Devuelve: -// Nada -//______________________________________________________________________________________________________ -void liberaMemoria(void* ptr) -{ - if(ptr){ - free (ptr); - } -} -// ________________________________________________________________________________________________________ -// Función: sendData -// -// Descripción: -// Envía datos por la red a través de un socket -// Parametros: -// - sock : El socket por donde se envía -// - datos: El contenido a enviar -// - lon: Cantidad de bites a enviar -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -// ________________________________________________________________________________________________________ -BOOLEAN sendData(SOCKET *sock, char* datos,int lon) -{ - int idx,ret; - idx = 0; - while (lon > 0) { - ret = send(*sock,&datos[idx],lon, 0); - if (ret == 0) { // Conexión cerrada por parte del cliente (Graceful close) - break; - } - else{ - if (ret == -1) - return (FALSE); - } - lon -= ret; - idx += ret; - } - return (TRUE); -} -// ________________________________________________________________________________________________________ -// Función: mandaTrama -// -// Descripción: -// Envía una trama por la red -// Parametros: -// - sock : El socket del host al que se dirige la trama -// - trama: El contenido de la trama -// - lon: Longitud de la parte de parametros de la trama que se va a mandar -// Devuelve: -// TRUE: Si el proceso es correcto -// FALSE: En caso de ocurrir algún error -// ________________________________________________________________________________________________________ -BOOLEAN mandaTrama(SOCKET *sock, TRAMA* ptrTrama) -{ - int lonprm; - char *buffer,hlonprm[LONHEXPRM+1]; - BOOLEAN res; - - lonprm=strlen(ptrTrama->parametros); - sprintf(hlonprm,"%05X",LONGITUD_CABECERATRAMA+LONHEXPRM+lonprm); // Convierte en hexadecimal la longitud - - buffer=reservaMemoria(LONGITUD_CABECERATRAMA+LONHEXPRM+lonprm); // Longitud total de la trama - if(buffer==NULL) - return(FALSE); - memcpy(buffer,ptrTrama,LONGITUD_CABECERATRAMA); // Copia cabecera de trama - memcpy(&buffer[LONGITUD_CABECERATRAMA],hlonprm,LONHEXPRM); // Copia longitud de la trama - memcpy(&buffer[LONGITUD_CABECERATRAMA+LONHEXPRM],ptrTrama->parametros,lonprm); - res=sendData(sock,buffer,LONGITUD_CABECERATRAMA+LONHEXPRM+lonprm); - liberaMemoria(buffer); - return (res); -} - -//______________________________________________________________________________________________________ -// Función: initParammetros -// -// Descripción: -// Libera memoria del buffer de los parametros de la trama y vuelve a reservar espacio -// Parámetros: -// - parametros : Puntero a la zona donde están los parametros de una trama -// - lon : Tamaño de la nueva reserva de espacio para los parametros -// Devuelve: -// Un puntero a la nueva zona de memoria o NULL si ha habido algún error -// Especificaciones: -// En caso de que el parámetro lon valga cero el tamaño a reservar será el estandar -//______________________________________________________________________________________________________ -BOOLEAN initParametros(TRAMA* ptrTrama,int lon) -{ - if(lon==0) lon=LONGITUD_PARAMETROS; - ptrTrama->parametros=(char*)ampliaMemoria(ptrTrama->parametros,lon); - if(!ptrTrama->parametros) - return(FALSE); - else - return(TRUE); -} |