As is the case for the transport SPI, a name space provider is initialized with a call to NSPStartup and is terminated with a final call to NSPCleanup. Calls to the startup function may be nested, but will be matched by corresponding calls to the cleanup function. A provider should employ reference counting to determine when the final call to NSPCleanup has occurred.