libctru/libctru/include/3ds/services/srvpm.h
2018-01-07 01:35:19 +01:00

46 lines
1.1 KiB
C

/**
* @file srvpm.h
* @brief srv:pm service.
*/
#pragma once
/// Initializes srv:pm and the service API.
Result srvPmInit(void);
/// Exits srv:pm and the service API.
void srvPmExit(void);
/**
* @brief Gets the current srv:pm session handle.
* @return The current srv:pm session handle.
*/
Handle *srvPmGetSessionHandle(void);
/**
* @brief Publishes a notification to a process.
* @param notificationId ID of the notification.
* @param process Process to publish to.
*/
Result SRVPM_PublishToProcess(u32 notificationId, Handle process);
/**
* @brief Publishes a notification to all processes.
* @param notificationId ID of the notification.
*/
Result SRVPM_PublishToAll(u32 notificationId);
/**
* @brief Registers a process with SRV.
* @param pid ID of the process.
* @param count Number of services within the service access control data.
* @param serviceAccessControlList Service Access Control list.
*/
Result SRVPM_RegisterProcess(u32 pid, u32 count, const char (*serviceAccessControlList)[8]);
/**
* @brief Unregisters a process with SRV.
* @param pid ID of the process.
*/
Result SRVPM_UnregisterProcess(u32 pid);