XPCOM provides a number of global functions which are used to initialize and shut down the XPCOM library, as well as to allocate memory, get access to services, and to instantiate interfaces.

NS_Alloc
Infallibly allocates a block of memory using the XPCOM memory manager.
NS_Free
Frees a block of memory using the XPCOM memory manager.
NS_GetComponentManager
The NS_GetComponentManager function returns a reference to the XPCOM Component Manager.
NS_GetComponentRegistrar
The NS_GetComponentRegistrar function returns a reference to the XPCOM Component Registrar.
NS_GetMemoryManager
The NS_GetMemoryManager function returns a reference to the XPCOM Memory Manager.
NS_GetServiceManager
The NS_GetServiceManager function returns a reference to the XPCOM service manager.
NS_InitXPCOM2
The NS_InitXPCOM2 function initiates use of XPCOM in the calling process.
NS_InitXPCOM3
The NS_InitXPCOM3 function initiates use of XPCOM in the calling process with support for statically defined XPCOM modules.
NS_NewLocalFile
The NS_NewLocalFile function creates an instance of nsILocalFile that provides a platform independent representation of a file path.
NS_NewNativeLocalFile
The NS_NewNativeLocalFile function creates an instance of nsILocalFile that provides a platform independent representation of a file path.
NS_Realloc
Reallocates a block of memory using the XPCOM memory manager.
NS_ShutdownXPCOM
The NS_ShutdownXPCOM function terminates use of XPCOM in the calling process.
nsresult
The nsresult data type is a strongly-typed enum used to represent a value returned by an XPCOM function; these are typically error or status codes. For a list of defined result values, see Error codes returned by Mozilla APIs.