#pragma once
//
//============================================================
//
// Contents:  Network header file for external clients
//
// Owner   :  AndyG
// Created :  Aug 2 1999
//
// All Rights reserved worldwide (c) Microsoft
// This unpublished sourcecode is PROPRIETARY and CONFIDENTIAL               
//============================================================
//




//
// Different connection types
//
#define NP_NOT			0
#define NP_TCP			1
#define NP_IPX			2
#define NP_SERIAL		3
#define NP_MODEM		4
#define NP_ZONEMATCH	5








//
// Functionality: Creates the networking object.
//				  
void __stdcall gos_InitializeNetworking();

//
// Close any game in progress, clean up networking
//
void __stdcall gos_ShutdownNetwork();




//
// Returns true if connection supported
//
bool __stdcall gos_CheckConnectionAvailable( int Connection );

//
// Open a TCPIP connection
//
// You can pass the address of the server or NULL for the sub net.
//
//
bool __stdcall gos_ConnectTCP( char* IPAddress, WORD port );


//
// Open a TCPIP and ZoneMatch connection
//
// You can pass the address of the server or NULL for the sub net.
//
//
bool __stdcall gos_ConnectZoneMatch( char* IPAddress, WORD port );


//
// Open an IPX connection
//
bool __stdcall gos_ConnectIPX();

//
// Open a Serial connection
//
// You pass the number of the COM port to use
//
bool __stdcall gos_ConnectSerialPort( DWORD SerialPort );

//
// Open a Modem connection
//
// You pass a phone number and number of modem to use. If 0 is passed for the phone number Answer mode will be entered
//
bool __stdcall gos_ConnectModem( char* PhoneNumber, DWORD Modem );






//
// Create the game specified
//
// 0=OK
// 1=Bad game name
// 2=Bad player name
// 3=Failed
// 4=Waiting for answer
//
int __stdcall gos_CreateGame( char* GameName, char* PlayerName, int MaxPlayers, char* GamePassword=0, bool Secure=0 ,char* UserPassword=0);


//
// Join the game specified
//
// 0=OK
// 1=Bad game name
// 2=Bad player name
// 3=Failed to connect
// 4=No dial tone
// 5=Invalid password
// 6=Too many players in the game
//
int __stdcall gos_JoinGame( char* GameName, char* PlayerName, char* GamePassword=0 ,char* UserPassword=0);





//
// Functionality: If connected to a network protocol, gos_Disconnect resets the connection
//
void __stdcall gos_Disconnect();

















