LoadMaster
==========

SWIS
~~~~

LoadMaster_MonitorState
	On Exit:
		R0 = number of state changes since start.

LoadMaster_EnumerateDownloads
	On Entry:
		R0 = -1 (for 1st, or UID passed out)
		R1 = NULL or pointer to buffer for URL
		R2 = length of buffer (or 0 if none)
		R3 = NULL or pointer to buffer for filename
		R4 = length of buffer (or 0 if none)

	On Exit:
		R0 = Current UID
		R1 => Buffer filled in with null terminated URL.
		R2 = Number of chars that didn't fit. Including terminator.
		R3 => Buffer fulled in with null terminated filename.
		R4 = Number of chars that didn't fit. Including terminator.
		R5 = Next UID

LoadMaster_DownloadProgress
	On Entry:
		R0 = UID
	
	On Exit:
		R1 = Number of bytes received
		R2 = Total number of bytes (or -1 if unknown)
		R3 = Pending flag
		R4 = State (See h.loadmaster for states)

LoadMaster_StopDownload
	On Entry:
		R0 = UID
		R1 = 1 for Removal, 2 for Requeue, all others reserved.

LoadMaster_ForcePending
	On Entry:
		R0 = UID (or 0 for all)

LoadMaster_StartDownload
	On Entry:
		R0 = UID

LoadMaster_NewDownloads
	On Entry:
		R0 = URL
		R1 = Filename

LoadMaster_Reconfigure
	No Registers: Forces rereading of Choices:LoadMaster.Config.

*Commands:
~~~~~~~~~~

LoadMaster_ListDownloads:

	Args: None.
	Purpose: Duh!

LoadMaster_AddDownload:

	Args: <URL> <filename>
	Purpose: Adds a new fetch.

LoadMaster_ForcePending:

	Args: None
	Purpose: Forces all downloads to have the pending flag set.
