From: Werner Almesberger Date: Tue, 16 Apr 2013 16:55:26 +0000 (-0300) Subject: tftp.c (format_request): pass opcode as argument X-Git-Tag: 24jan2021_ls180~2976 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=944dd5932decddd77d4f35c65737c3617505ed65;p=litex.git tftp.c (format_request): pass opcode as argument --- diff --git a/software/bios/tftp.c b/software/bios/tftp.c index e1a8fb52..ff34cc24 100644 --- a/software/bios/tftp.c +++ b/software/bios/tftp.c @@ -15,12 +15,12 @@ enum { TFTP_ERROR = 5, /* Error */ }; -static int format_request(uint8_t *buf, const char *filename) +static int format_request(uint8_t *buf, uint16_t op, const char *filename) { int len = strlen(filename); - *buf++ = 0x00; /* Opcode: Request */ - *buf++ = TFTP_RRQ; + *buf++ = op >> 8; /* Opcode */ + *buf++ = op; memcpy(buf, filename, len); buf += len; *buf++ = 0x00; @@ -98,7 +98,7 @@ int tftp_get(uint32_t ip, const char *filename, void *buffer) transfer_finished = 0; tries = 5; while(1) { - len = format_request(packet_data, filename); + len = format_request(packet_data, TFTP_RRQ, filename); microudp_send(PORT_IN, PORT_OUT, len); for(i=0;i<2000000;i++) { microudp_service();