46 lines
1.1 KiB
C
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);
|
|
|