#define TIMEOUT_USECS 1000000
#define MAX_TIMEOUT 32000000
#include <windows.h>
#include <stdio.h>
typedef struct UCS
{
short UserSck;
}UCS;
void SrartTFTP(UCS *usck,char *Comline);
void StopTFTP();
UCS *sck;
int ExitOfTFTP=0;
SOCKET server;
int lisPort=69,canRed=1,canWri=1,redPort=10471,wriPort=11471;
char bootPath[MAX_PATH]="c:";
struct sendbuf
{
short pctcode;
short pakecode;
char buff[512];
};
struct readbuf
{
short pctcode;
char buff[512];
};
struct ackbuf
{
short pctcode;
short block;
};
struct canstk
{
SOCKET gsock;
struct sockaddr_in * readstk;
char * buff;
};
//---------------------------------------------------------------------
void error(SOCKET psock, struct sockaddr_in * sandstk,char *msg);
DWORD WINAPI getfile(LPVOID lpParam);
DWORD WINAPI putfile(LPVOID lpParam);
DWORD WINAPI createTFTP(LPVOID lpParam);
//------------------------
int WINAPI getcmdline(char *comm,char *cmdline,short cont)
{
short comdlast=1;
if((strncmp(comm+strlen(comm)-2,"\r\n",2))==0)
comdlast=2;
unsigned int i,geti=0,befi=0;
for(i=befi;i<(strlen(comm)-comdlast);i++)
{
if(comm[i]==' '&&geti<10)
{
strncpy(&cmdline[geti*cont],comm+befi,i-befi);
- 1
- 2
前往页