Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

C:/temp/src/j2k/Net/TFTP/TFTP_Packet.hpp

Go to the documentation of this file.
00001 #ifndef __J2K__TFTP_Packet_HPP__
00002 #define __J2K__TFTP_Packet_HPP__
00003 
00004 #include <math.h>
00005 #include <j2k/Fred/Standard.hpp>
00006 #include <j2k/Net/TFTP/TFTP_header.hpp>
00007 
00008 //This class creates and sends each packets
00009 
00010 class TFTP_Packet {
00011 public:
00012   TFTP_Packet();
00013 
00014   // Set the opcode value
00015   inline void   setOpCode( enum OpCode_t op );
00016 
00017   // Return the opcode value
00018   inline short  getOpCode();
00019 
00020          void create_RRQ_WRQ();
00021   inline void   sendRRQ();
00022   inline void   sendWRQ();
00023 
00024   // data IS NOT NULL TERMINATED !
00025          void   createData( short blockNo, char* data, size_t sz );
00026   inline void   createData(       const char* rawData, size_t sz );
00027   inline void     sendData( short blockNo, char* data, size_t sz );
00028   inline void     send();
00029   
00030          void   createAck( short blockNo );
00031          void     sendAck( short blockNo );
00032 
00033          void   createError( enum TFTP_errcode_t e, const char* errmsg = "" );
00034   inline void     sendError( enum TFTP_errcode_t e, const char* errmsg = "" );
00035   inline char*     getErrorMsg();
00036 
00037          void   createOAck();
00038   inline void     sendOAck();
00039     
00040   inline double getTimeStamp();
00041   inline void   setTimeStamp( double t );
00042 
00043   inline double getID();
00044   inline char*  getData();
00045 
00046          short  getBlockNo();
00047 
00048   inline size_t getpktLength();
00049 
00050 private:
00051   short    opCode;
00052   short    block;
00053   short    err;
00054 
00055 public:
00056   char*    pkt;
00057   size_t   pktLength;
00058 
00059   char*    errorMsg;
00060   double   timestamp;
00061 
00062 public:
00063   short    resent;
00064 };
00065 
00066 #include <j2k/Net/TFTP/TFTP_Option.hpp>
00067 #include <j2k/Net/UDP/UDP_Socket.hpp>
00068 #include <j2k/Net/UDP/UDP_SocketClient.hpp>
00069 #include <j2k/Net/UDP/UDP_SocketServer.hpp>
00070 
00071 #endif
00072 
00073 
00074 

Generated on Sun Oct 14 18:46:34 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001