libtransistor
A userland library for the Nintendo Switch
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Functions
sm.h File Reference

Service Manager. More...

#include <libtransistor/types.h>
#include <libtransistor/ipc.h>
Include dependency graph for sm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

result_t sm_init ()
 Initialize Service Manager.
 
result_t sm_get_service (ipc_object_t *session, const char *name)
 Get a service by name. More...
 
result_t sm_get_service_ex (ipc_object_t *session, const char *name, bool require_override)
 Get a service by name, optinally requiring that it has been overriden by the loader. More...
 
result_t sm_register_service (port_h *port, const char *name, uint32_t max_sessions)
 Register a service by name. More...
 
result_t sm_unregister_service (const char *name)
 Unregister a service. More...
 
void sm_finalize ()
 Finalize Service Manager.
 
void sm_force_finalize ()
 Force Service Manager finalization. More...
 

Detailed Description

Service Manager.

Function Documentation

void sm_force_finalize ( )

Force Service Manager finalization.

This is a dangerous call; please make sure that sm has been initialized before calling this, and make sure that nothing else will use sm after calling this.

result_t sm_get_service ( ipc_object_t session,
const char *  name 
)

Get a service by name.

Parameters
sessionAcquired service
nameThe name of the service to get
result_t sm_get_service_ex ( ipc_object_t session,
const char *  name,
bool  require_override 
)

Get a service by name, optinally requiring that it has been overriden by the loader.

Parameters
sessionAcquired service
nameThe name of the service to get
require_overrideWhether or not to require that this service has been overriden by the loader
result_t sm_register_service ( port_h port,
const char *  name,
uint32_t  max_sessions 
)

Register a service by name.

Parameters
portOutput for newly created port
nameName to register service under
max_sessionsMaximum number of sessions allowed
result_t sm_unregister_service ( const char *  name)

Unregister a service.

Parameters
nameName of service to unregister