//----------------------------------------------------------------------------------
// <copyright file="FileTransfer.h" company="LiquidRobotics">
//	Copyright (c) Liquid Robotics Corporation.  All rights reserved.
// </copyright>
//
// <summary>
// 	This is the header file for the structures used byt the sensor blocks for the
//  file transfer command protocol
// </summary>
//
// <owner>Jim Kirklin</owner>
//----------------------------------------------------------------------------------

#ifndef _FILE_TRANSFER_H_
#define _FILE_TRANSFER_H_

//typedef struct _ACK_FILE_LIST_COMMON_HEADER_
//{
//	uint16_t	storageControllerAddress;	// storage controller address from request
//	uint16_t	offset;				// number of files reported before this
//	uint8_t		lastReport;			// 0 = not last report, 0xFF = last report
//	uint16_t	numFiles;			// number of files in this message
//}ACK_FILE_LIST_COMMON_HEADER, *PACK_FILE_LIST_COMMON_HEADER;
//
//typedef struct _ACK_FILE_LIST_RECORD_
//{
//	char		fileName[11];		// padded file name
//	uint32_t	fileID;				// ID of file
//	uint32_t	fileSize;			// size of file
//	uint8_t		fileAttributes;		// attributes of file
//}ACK_FILE_LIST_RECORD, *PACK_FILE_LIST_RECORD;
//
//typedef struct _ACK_FILE_LIST_
//{
//	ACK_FILE_LIST_COMMON_HEADER common;
//	ACK_FILE_LIST_RECORD records[1];
//	uint16_t	crc;
//}ACK_FILE_LIST, *PACK_FILE_LIST;
//
//typedef struct _ACK_FILE_LIST_DETAILED_RECORD_
//{
//	char		fileName[11];		// padded file name
//	uint32_t	fileID;				// ID of file
//	uint32_t	fileSize;			// size of file
//	DATE_TIME	creationDate;		// creation date from file
//	DATE_TIME	modifiedDate;		// modified date from file
//	uint8_t		fileAttributes;		// attributes of file
//	uint16_t	providedCRC;		// CRC provided at initialization
//	MD5			providedMD5;		// MD5 provided at initialization
//	uint16_t	calculatedCRC;		// CRC calculated at last check
//	MD5			calculatedMD5;		// MD5 calculated at last check
//}ACK_FILE_LIST_DETAILED_RECORD, *PACK_FILE_LIST_DETAILED_RECORD;
//
//typedef struct _ACK_FILE_LIST_DETAILED_
//{
//	ACK_FILE_LIST_COMMON_HEADER common;
//	ACK_FILE_LIST_DETAILED_RECORD records[1];
//	uint16_t	crc;
//}ACK_FILE_LIST_DETAILED, *PACK_FILE_LIST_DETAILED;
//
//typedef struct _ACK_NEW_FILE_AVAILABLE_
//{
//	uint16_t	storageControllerAddress;	// storage controller reporting new file
//	char		fileName[11];		// padded file name
//	uint32_t	fileSize;			// size of file
//	DATE_TIME	creationDate;		// creation date from file
//	DATE_TIME	modifiedDate;		// modified date from file
//	uint8_t		fileAttributes;		// attributes of file
//	uint16_t	providedCRC;		// CRC provided at initialization
//	MD5			providedMD5;		// MD5 provided at initialization
//	uint16_t	calculatedCRC;		// CRC calculated at last check
//	MD5			calculatedMD5;		// MD5 calculated at last check
//	uint16_t	crc;
//}ACK_NEW_FILE_AVAILABLE, *PACK_NEW_FILE_AVAILABLE;
//
//typedef struct _FS_REPORT_
//{
//	LRI_COMM_WRAPPER 		headers;
//	LRI_GENERIC_ACK			ackInfo;
//	uint8_t					type;
//	union
//	{
//		ACK_NEW_FILE_AVAILABLE	newFile;
//		ACK_FILE_LIST			fileSummary;
//		ACK_FILE_LIST_DETAILED	fileDetail;
//	};
//}FS_REPORT, *PFS_REPORT;

#endif
