Problem reading data from serial port.

I am new to programming with Digi kit. I have purchased the Digi development board with connect ME and net+OS. I have a serial device connected to the serial port 2 of the development board. I am trying to read and write data to this device. I do this using the serial port APIs open(), read() and write(). However, when I try to read a large chunk of data (around 200 bytes) the read the read function returns only a part of the data and not the entire data. I have provided a buffer large enough for my data to the read function but it doesnt help. Also the tcgetbuffers() function returns only a part of data when there is MORE data on the serial port. I have verified this using hyperterminal, it receives and displays the entire chunk of data. Can anyone help me with this?

Are there any settings I need to do to get this working?