/* ***************************************************************************************** */ int writeBinaryFile(char *binaryFileName, int nItemsToWrite, float *arrayToWrite, int swab_flag) { FILE *outputStream= fopen(binaryFileName,"wb"); if (outputStream == NULL) { eprintf("\n ERROR: Cannot open file %s for writing\n",binaryFileName); return(FAIL); } if(OK != writeBinaryDataToFile(outputStream, nItemsToWrite, arrayToWrite, swab_flag) ) { eprintf("\n ERROR: Writing Binary File"); return(FAIL); } fclose(outputStream); return(OK); }
int unpackTftpDataPacket()//code from server { debug("ok: packet is data_packet."); pTftpDataPacket = (struct tftpDataPacket *) pTftpPacket; pHandleTftpDataPacket->opcode = pHandleTftpPacket->opcode; pHandleTftpDataPacket->blockNrTftpDataPacket = ntohs(pTftpDataPacket->blockNrNetOrder); pPrepareTftpErrorPacket->lastBlockNr = pHandleTftpDataPacket->blockNrTftpDataPacket; pHandleTftpDataPacket->sizeBlockDataReceive = pHandleTftpPacket->sizeWithoutOpcode - 2; pHandleTftpDataPacket->pBlockDataReceive = pTftpDataPacket->aBlockData; pAboutWriteFile->sizeFile += pHandleTftpDataPacket->sizeBlockDataReceive; if(pHandleTftpDataPacket->sizeBlockDataReceive < blockDataMax) { debug("ok: set: reachEofReceive = 1"); pHandleTftpDataPacket->reachEofReceive = 1; } if(dbug){printf("ok: pHandleTftpDataPacket->blockNrTftpDataPacket:%d.\n",pHandleTftpDataPacket->blockNrTftpDataPacket);} pPrepareTftpErrorPacket->expectedOpcode = 3; //pPrepareTftpErrorPacket->expectedBlockNr = 1; if(checkOpcodeAndBlockNr()) { debug("ERR: opcode or blockNr."); exit(1); } pPrepareTftpAckPacket->blockNr = pHandleTftpDataPacket->blockNrTftpDataPacket; packTftpAckPacket(); packAndSendUdpPacket(); pAboutWriteFile->pWriteBuffer = pHandleTftpDataPacket->pBlockDataReceive; pAboutWriteFile->sizeWriteData = pHandleTftpDataPacket->sizeBlockDataReceive; pAboutWriteFile->sizeWriteUnit = sizeof(char); if(dbug){printf("ok: sizeWriteData = sizeBlockDataReceive:%d.\n",pAboutWriteFile->sizeWriteData);} writeBinaryDataToFile(); return 0; }