# Multiple Channel Stream (MCS) API Function List

### Initialization and Control

NNS_McsInit | This is the initialization function for communicating with devices.
NNS_McsPollingIdle | This is an `idle` function for calling the callback function. (inside the main loop)
NNS_McsVBlankInterrupt | This is an `idle` function for calling the callback function. (inside the V-Blank interrupt handler)
NNS_McsCartridgeInterrupt | This is an `idle` function for calling the callback function. (inside the Game Pak interrupt handler)
NNS_McsRegisterRecvCallback | Registers the function to be called back when data is received.
NNS_McsRegisterStreamRecvBuffer | Registers a buffer for receiving data.
NNS_McsUnregisterRecvResource | Unregisters the callback function used for receiving data, and unregisters buffer registration.

### Device Control

NNS_McsOpen | Opens a device.
NNS_McsClose | Closes an opened device.
NNS_McsGetMaxCaps | Gets the total number of communications devices currently connected to the target.
NNS_McsIsServerConnect | Gets whether the mcs server is connected to the NITRO hardware.

### Stream Input/Output

NNS_McsReadStream | Reads data from the stream.
NNS_McsWriteStream | Writes data to the stream.
NNS_McsGetStreamReadableSize | Gets the size of data that can be read with one call of the `NNS_McsReadStream()` function.
NNS_McsGetStreamWritableLength | Gets the maximum length of the buffer for data transmission.
NNS_McsGetTotalStreamReadableSize | Gets the sum total size of readable data in the receive buffer.

### File Input/Output and Directory Search

NNS_McsInitFileIO | Performs the initialization for the API that reads files on the host (PC) side.
NNS_McsOpenFile | Opens an existing file or a new file.
NNS_McsCloseFile | Closes an open file.
NNS_McsReadFile | Reads data from a file.
NNS_McsWriteFile | Writes data to a file.
NNS_McsSeekFile | Moves the file pointer to the specified location.
NNS_McsGetFileSize | Obtains the size of the file.
NNS_McsFindFirstFile | Searches inside the directory for files that match the specified filename pattern.
NNS_McsFindNextFile | Searches for the next file that matches the pattern specified by `NNS_McsFindFirstFile()`.
NNS_McsCloseFind | Ends the search started by `NNS_McsFindFirstFile()`.
NNS_McsGetServerErrorCode | Obtains the error code of the MCS server if an error occurred during the file input/output or directory search.

### String Output

NNS_McsInitPrint | Performs initialization for string output.
NNS_McsPutString | Outputs a string.
NNS_McsPrintf | Outputs a string with a format specification.

### For Windows

NNS_McsOpenStream | Opens a stream for Multiple Channel Stream.
NNS_McsOpenStreamEx | Opens a stream for Multiple Channel Stream. (and gets supplemental information)

CONFIDENTIAL