Recently I been writing a PXE Net Bootstrap Program to load my kernel into my recently bought server, this is due to the fact that it does not contains a CD-ROM and really PXE is on my TODO list. I read that you can use GRUB or syslinux for this but, using other people's stuff is not as fun as rolling your own

my problem is the following: (please note I searched the forum and the whole site as the forum rules indicates)
So far I'm able to make API calls to open and read from the TFTP server. my kernel is about 1MB is size, but the API TFTP Read call is loading only 512 bytes from the server into my buffer. In the TFTP Read parameter structure I'm setting the buffer size parameter to the value retrieved from the TFTP Open parameter structure after been called.
my question is, how can I do to download the whole kernel?
please any suggestions or ideas are greatly appreciated!
Thanks.