
*	PROGRAMMER NOTES	*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Description
~~~~~~~~~~~
This application recieves data from a UDP socket (Braodcast / Non-broadcats) and transmits it via
computer's serial port (COM ports).
BEFOR sending the data, the application calls a DLL function 'CreateBlockA' (or 'CreateBlockB' if the first does not exist) 
(located at UdpToRS232.DLL) with the data that was recieved in order to let the DLL manipulate it. 
only after DLL function returns application sends the updated data via COM port.

if the DLL file does not exist or does not include any of those finctions application will send the data as it is.

this feature was design to let any client manipulate the data as he/she likes.


Installation
~~~~~~~~~~~~
None. just run the application.

Author:
~~~~~~~
Shai Kurianski , Israel.
email: shkori@netvision.net.il
(c)Copyright June 2000.


Computer / OS.
~~~~~~~~~~~~~~
Minimum: 80386 based computer with at least one COM output.
Tested on: Windows 98.
Supports but not tested yet: Windows 95/NT/2000.
Winsock.dll must be installed.

License:
~~~~~~~~
FREE.
you may distribute this application as much as you like.


~~~~~~~~~~~~~~	UDPtoRS232.DLL	interface ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Functions definition:

unsigned long pascal CreateBlockA (SkBUFFER		*dataBuf);
unsigned long pascal CreateBlockB (char *data,unsigned long *sizeOfData,unsigned long sizeOfDataArray);

parameters:	
~~~~~~~~~~~
dataBuf			-	pointer to a SkBUFFER that contains the data recieved from the UDP socket.
*data			-	pointer an an array that contains the data recieved from the UDP socket.
*sizeOfData		-	pointer to an unsigned long that specifies the number of data bytes in the array.
sizeOfDataAerry	-	an unsigned long value that specifies the size of the data array (NOT data size !)


return values:
~~~~~~~~~~~~~~
zero on success.
non-zero in case of error.


remakrs:
~~~~~~~~
DLL should implement only one function ('CreateBlockA ' or 'CreateBlockB').
client application looks for 'CreateBlockA' first , only if it does not exist it will look for 'CreateBlockB'.


SkBUFFER object (see CreateBlockA) is not available for web users yet. web users should implement CreateBlockB function only.

