mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 12:32:40 +02:00
53 lines
1.9 KiB
C
53 lines
1.9 KiB
C
/**
|
|
* @file pl.h
|
|
* @brief pl:u service IPC wrapper.
|
|
* @author yellows8
|
|
* @copyright libnx Authors
|
|
*/
|
|
#pragma once
|
|
#include "../types.h"
|
|
#include "../sf/service.h"
|
|
|
|
typedef enum {
|
|
PlServiceType_User = 0, ///< Initializes pl:u.
|
|
PlServiceType_System = 1, ///< Initializes pl:s. With [16.0.0+] SharedFont is no longer available with this, pl:u must be used for that.
|
|
} PlServiceType;
|
|
|
|
/// SharedFontType
|
|
typedef enum {
|
|
PlSharedFontType_Standard = 0, ///< Japan, US and Europe
|
|
PlSharedFontType_ChineseSimplified = 1, ///< Chinese Simplified
|
|
PlSharedFontType_ExtChineseSimplified = 2, ///< Extended Chinese Simplified
|
|
PlSharedFontType_ChineseTraditional = 3, ///< Chinese Traditional
|
|
PlSharedFontType_KO = 4, ///< Korean (Hangul)
|
|
PlSharedFontType_NintendoExt = 5, ///< Nintendo Extended. This font only has the special Nintendo-specific characters, which aren't available with the other fonts.
|
|
PlSharedFontType_Total, ///< Total fonts supported by this enum.
|
|
} PlSharedFontType;
|
|
|
|
/// FontData
|
|
typedef struct {
|
|
u32 type; ///< \ref PlSharedFontType
|
|
u32 offset; ///< Offset of the font in sharedmem.
|
|
u32 size; ///< Size of the font.
|
|
void* address; ///< Address of the actual font.
|
|
} PlFontData;
|
|
|
|
/// Initialize pl.
|
|
Result plInitialize(PlServiceType service_type);
|
|
|
|
/// Exit pl.
|
|
void plExit(void);
|
|
|
|
/// Gets the Service object for the actual pl service session.
|
|
Service* plGetServiceSession(void);
|
|
|
|
/// Gets the address of the SharedMemory.
|
|
void* plGetSharedmemAddr(void);
|
|
|
|
///< Gets a specific shared-font via \ref PlSharedFontType.
|
|
Result plGetSharedFontByType(PlFontData* font, PlSharedFontType SharedFontType);
|
|
|
|
///< Gets shared font(s).
|
|
Result plGetSharedFont(u64 LanguageCode, PlFontData* fonts, s32 max_fonts, s32* total_fonts);
|
|
|