--- libaitrpc/src/blob.c 2011/08/19 12:51:50 1.2.4.2 +++ libaitrpc/src/blob.c 2011/08/29 23:26:56 1.3.2.1 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: blob.c,v 1.2.4.2 2011/08/19 12:51:50 misho Exp $ +* $Id: blob.c,v 1.3.2.1 2011/08/29 23:26:56 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -70,8 +70,8 @@ rpc_srv_blobCreate(rpc_srv_t * __restrict srv, int len again: rnd = random() % UINT_MAX; - memset(szFName, 0, MAXPATHLEN); - snprintf(szFName, MAXPATHLEN, BLOB_FILE, srv->srv_blob.dir, rnd); + memset(szFName, 0, sizeof szFName); + snprintf(szFName, sizeof szFName, BLOB_FILE, srv->srv_blob.dir, rnd); f = open(szFName, O_CREAT | O_EXCL | O_RDWR, 0600); if (f == -1) { if (errno == EEXIST) @@ -128,8 +128,8 @@ rpc_srv_blobMap(rpc_srv_t * __restrict srv, rpc_blob_t return -1; } - memset(szFName, 0, MAXPATHLEN); - snprintf(szFName, MAXPATHLEN, BLOB_FILE, srv->srv_blob.dir, blob->blob_var); + memset(szFName, 0, sizeof szFName); + snprintf(szFName, sizeof szFName, BLOB_FILE, srv->srv_blob.dir, blob->blob_var); f = open(szFName, O_RDWR); if (f == -1) { LOGERR; @@ -186,9 +186,9 @@ rpc_srv_blobFree(rpc_srv_t * __restrict srv, rpc_blob_ if (blob->blob_data) rpc_srv_blobUnmap(blob); - memset(szFName, 0, MAXPATHLEN); - snprintf(szFName, MAXPATHLEN, BLOB_FILE, srv->srv_blob.dir, blob->blob_var); - if (remove(szFName) == -1) { + memset(szFName, 0, sizeof szFName); + snprintf(szFName, sizeof szFName, BLOB_FILE, srv->srv_blob.dir, blob->blob_var); + if (unlink(szFName) == -1) { LOGERR; return -1; } @@ -216,7 +216,7 @@ rpc_srv_sendBLOB(rpc_cli_t * __restrict cli, rpc_blob_ } for (ret = blob->blob_len, pos = blob->blob_data; ret > 0; ret -= len, pos += len) { - len = send(cli->cli_sock, pos, ret > BLOBSIZ ? BLOBSIZ : ret, 0); + len = send(cli->cli_sock, pos, ret, 0); if (len == -1) { LOGERR; return -1; @@ -254,7 +254,7 @@ rpc_srv_recvBLOB(rpc_cli_t * __restrict cli, rpc_blob_ return -1; } - len = recv(cli->cli_sock, pos, BLOBSIZ, 0); + len = recv(cli->cli_sock, pos, ret, 0); if (len == -1) { LOGERR; return -1; @@ -274,7 +274,7 @@ rpc_srv_recvBLOB(rpc_cli_t * __restrict cli, rpc_blob_ * return: -1 error, 0 ok, 1 remote error */ int -rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, rpc_val_t * __restrict var, void * __restrict data) +rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var, void * __restrict data) { int ret, len; uint8_t *pos; @@ -291,14 +291,14 @@ rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, rpc_val_t hdr.hdr_cmd = set; hdr.hdr_var = 0; hdr.hdr_ret = 0; - hdr.hdr_len = var->val_len; - if (write(cli->cli_sock, &hdr, sizeof hdr) == -1) { + hdr.hdr_len = AIT_LEN(var); + if (send(cli->cli_sock, &hdr, sizeof hdr, 0) == -1) { LOGERR; return -1; } - for (ret = var->val_len, pos = data; ret > 0; ret -= len, pos += len) - if ((len = write(cli->cli_sock, pos, ret > BLOBSIZ ? BLOBSIZ : ret)) == -1) { + for (ret = AIT_LEN(var), pos = data; ret > 0; ret -= len, pos += len) + if ((len = send(cli->cli_sock, pos, ret, 0)) == -1) { LOGERR; return -1; } @@ -313,12 +313,12 @@ rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, rpc_val_t rpc_SetErr(ETIMEDOUT, "Error:: Timeout reached! Server not responde ...\n"); return -1; } - if (read(cli->cli_sock, &hdr, sizeof hdr) == -1) { + if (recv(cli->cli_sock, &hdr, sizeof hdr, 0) == -1) { LOGERR; return -1; } if (hdr.hdr_cmd != error) { - if (hdr.hdr_len != var->val_len) { + if (hdr.hdr_len != AIT_LEN(var)) { rpc_SetErr(ECANCELED, "Error:: Bad return length packet ...\n"); return -1; } @@ -337,7 +337,7 @@ rpc_cli_sendBLOB(rpc_cli_t * __restrict cli, rpc_val_t * return: -1 error, 0 ok, 1 remote error */ int -rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, rpc_val_t * __restrict var, void ** data) +rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var, void ** data) { int ret, len; uint8_t *pos; @@ -350,26 +350,26 @@ rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, rpc_val_t return -1; } - *data = malloc(var->val_len); + *data = malloc(AIT_LEN(var)); if (!*data) { LOGERR; return -1; } else - memset(*data, 0, var->val_len); + memset(*data, 0, AIT_LEN(var)); memcpy(&hdr.hdr_session, cli->cli_parent, sizeof(rpc_sess_t)); hdr.hdr_cmd = get; - hdr.hdr_var = (uint32_t) RPC_GET_BLOB(var); + hdr.hdr_var = (uint32_t) AIT_GET_BLOB(var); hdr.hdr_ret = 0; hdr.hdr_len = 0; - if (write(cli->cli_sock, &hdr, sizeof hdr) == -1) { + if (send(cli->cli_sock, &hdr, sizeof hdr, 0) == -1) { LOGERR; free(*data); *data = NULL; return -1; } - for (ret = var->val_len, pos = *data; ret > 0; ret -= len, pos += len) { + for (ret = AIT_LEN(var), pos = *data; ret > 0; ret -= len, pos += len) { FD_ZERO(&fds); FD_SET(cli->cli_sock, &fds); len = select(cli->cli_sock + 1, &fds, NULL, NULL, &tv); @@ -380,7 +380,7 @@ rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, rpc_val_t return -1; } - if ((len = read(cli->cli_sock, pos, BLOBSIZ)) == -1) { + if ((len = recv(cli->cli_sock, pos, ret, 0)) == -1) { LOGERR; free(*data); *data = NULL; @@ -402,14 +402,14 @@ rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, rpc_val_t *data = NULL; return -1; } - if (read(cli->cli_sock, &hdr, sizeof hdr) == -1) { + if (recv(cli->cli_sock, &hdr, sizeof hdr, 0) == -1) { LOGERR; free(*data); *data = NULL; return -1; } if (hdr.hdr_cmd != error) { - if (hdr.hdr_len != var->val_len) { + if (hdr.hdr_len != AIT_LEN(var)) { rpc_SetErr(ECANCELED, "Error:: Bad return length packet ...\n"); free(*data); *data = NULL; @@ -427,7 +427,7 @@ rpc_cli_recvBLOB(rpc_cli_t * __restrict cli, rpc_val_t * return: -1 error, 0 ok, 1 remote error */ int -rpc_cli_delBLOB(rpc_cli_t * __restrict cli, rpc_val_t * __restrict var) +rpc_cli_delBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var) { struct tagBLOBHdr hdr; fd_set fds; @@ -440,10 +440,10 @@ rpc_cli_delBLOB(rpc_cli_t * __restrict cli, rpc_val_t memcpy(&hdr.hdr_session, cli->cli_parent, sizeof(rpc_sess_t)); hdr.hdr_cmd = unset; - hdr.hdr_var = (uint32_t) RPC_GET_BLOB(var); + hdr.hdr_var = (uint32_t) AIT_GET_BLOB(var); hdr.hdr_ret = 0; hdr.hdr_len = 0; - if (write(cli->cli_sock, &hdr, sizeof hdr) == -1) { + if (send(cli->cli_sock, &hdr, sizeof hdr, 0) == -1) { LOGERR; return -1; } @@ -458,7 +458,7 @@ rpc_cli_delBLOB(rpc_cli_t * __restrict cli, rpc_val_t rpc_SetErr(ETIMEDOUT, "Error:: Timeout reached! Server not responde ...\n"); return -1; } - if (read(cli->cli_sock, &hdr, sizeof hdr) == -1) { + if (recv(cli->cli_sock, &hdr, sizeof hdr, 0) == -1) { LOGERR; return -1; } @@ -474,7 +474,7 @@ rpc_cli_delBLOB(rpc_cli_t * __restrict cli, rpc_val_t * return: -1 error, 0 ok, 1 remote error */ inline int -rpc_cli_getBLOB(rpc_cli_t * __restrict cli, rpc_val_t * __restrict var, void ** data) +rpc_cli_getBLOB(rpc_cli_t * __restrict cli, ait_val_t * __restrict var, void ** __restrict data) { int ret;