/*H*************************************************************************************************/ /*! \File libstat.c \Description This sample links in all DirtySock EE code, so that the linker-generated map file may be used to estimate DirtySock EE code size. \Notes None. \Copyright Copyright (c) Tiburon Entertainment / Electronic Arts 2004. ALL RIGHTS RESERVED. \Version 1.0 02/02/04 (JLB) First Version */ /*************************************************************************************************H*/ /*** Include files *********************************************************************/ #include #include #include #include "DirtySDK/platform.h" // dirtysock includes #include "DirtySDK/game/connapi.h" #include "DirtySDK/dirtysock.h" #include "DirtySDK/dirtysock/dirtymem.h" #include "DirtySDK/dirtysock/netconn.h" #include "DirtySDK/graph/dirtygif.h" #include "DirtySDK/graph/dirtygraph.h" #include "DirtySDK/graph/dirtyjpg.h" // crypt includes #include "DirtySDK/crypt/cryptarc4.h" #include "DirtySDK/crypt/cryptmd5.h" #include "DirtySDK/crypt/cryptrsa.h" #include "DirtySDK/crypt/cryptsha1.h" // lobby includes #include "DirtySDK/util/base64.h" #include "DirtySDK/util/utf8.h" // netgame includes #include "DirtySDK/game/netgamedist.h" #include "DirtySDK/game/netgamedistserv.h" #include "DirtySDK/game/netgamelink.h" #include "DirtySDK/game/netgameutil.h" // proto includes #include "DirtySDK/proto/protohttp.h" #include "DirtySDK/proto/protomangle.h" #include "DirtySDK/proto/protoname.h" #include "DirtySDK/proto/protostream.h" #include "DirtySDK/proto/protoupnp.h" // voip includes #include "DirtySDK/voip/voip.h" #include "DirtySDK/voip/voiptunnel.h" // xml includes #include "DirtySDK/xml/xmlformat.h" #include "DirtySDK/xml/xmlparse.h" /*** Defines ***************************************************************************/ /*** Macros ****************************************************************************/ /*** Type Definitions ******************************************************************/ /*** Function Prototypes ***************************************************************/ /*** Variables *************************************************************************/ // Private variables // Public variables /*** Public Functions ******************************************************************/ /* Required alloc/free functions */ #ifndef DIRTYCODE_DLL void *DirtyMemAlloc(int32_t iSize, int32_t iMemModule, int32_t iMemGroup, void *pMemGroupUserData) { return(malloc(iSize)); } void DirtyMemFree(void *pMem, int32_t iMemModule, int32_t iMemGroup, void *pMemGroupUserData) { free(pMem); } #endif /* init routines - the following routines are provided to make sure the modules link into the application */ /* main routine */ static void _CryptModules(void) { // cryptarc4 CryptArc4Init(NULL, NULL, 0, 0); // cryptmd5 CryptMD5Init(NULL); // cryptrsa CryptRSAInit(NULL, NULL, 0, NULL, 0); // cryptsha1 CryptSha1Init(NULL); } static void _DirtysockModules(void) { // dirtylibps2 NetTick(); //dirtygif DirtyGifIdentify(NULL, 0); //dirtygraph DirtyGraphCreate(); //dirtyjpg DirtyJpgCreate(); // netconn/netconnps2 NetConnMAC(); // Proto Includes // protohttp ProtoHttpCreate(0); // protomangle ProtoMangleCreate("", 0, "", ""); // protoname ProtoNameAsync("", 0); // protostream ProtoStreamCreate(0); // protoupnp ProtoUpnpStatus(NULL, 0, NULL, 0); } static void _NetgameModules(void) { // netgamelink-e NetGameLinkCreate(NULL, 0, 0); // netgameutil-e NetGameUtilCreate(); // netgamedist NetGameDistCreate(NULL, NULL, NULL, NULL, 0, 0); // netgamedistserv NetGameDistServCreate(0, 0); //connapi ConnApiGetClientList(NULL); } static void _LobbyModules(void) { // base64 Base64Encode(0, NULL, NULL); // lobbyutf8 Utf8Strip(NULL, 0, NULL); } static void _XmlModules(void) { // xmlformat XmlInit(NULL, 0, 0); // xmlparse XmlSkip(NULL); } static void _ContribModules(void) { // voip VoipStartup(1, 0); //voiptunnel VoipTunnelCreate(0, 0, 0); } int main(int32_t argc, char *argv[]) { // pull in crypt modules _CryptModules(); // pull in DirtySock modules _DirtysockModules(); // pull in lobby modules _LobbyModules(); // pull in netgame modules _NetgameModules(); // pull in xml modules _XmlModules(); // pull in contrib modules _ContribModules(); // done return(0); }