libnx  v4.2.0
Data Structures | Macros | Enumerations | Functions
hipc.h File Reference

Horizon Inter-Process Communication protocol. More...

#include "../result.h"
#include "../arm/tls.h"
#include "../kernel/svc.h"

Go to the source code of this file.

Data Structures

struct  HipcMetadata
 
struct  HipcHeader
 
struct  HipcSpecialHeader
 
struct  HipcStaticDescriptor
 
struct  HipcBufferDescriptor
 
struct  HipcRecvListEntry
 
struct  HipcRequest
 
struct  HipcParsedRequest
 
struct  HipcResponse
 

Macros

#define HIPC_AUTO_RECV_STATIC   UINT8_MAX
 
#define HIPC_RESPONSE_NO_PID   UINT32_MAX
 
#define hipcMakeRequestInline(_base, ...)   hipcMakeRequest((_base),(HipcMetadata){ __VA_ARGS__ })
 

Enumerations

enum  HipcBufferMode {
  HipcBufferMode_Normal = 0,
  HipcBufferMode_NonSecure = 1,
  HipcBufferMode_Invalid = 2,
  HipcBufferMode_NonDevice = 3
}
 

Functions

static HipcStaticDescriptor hipcMakeSendStatic (const void *buffer, size_t size, u8 index)
 
static HipcBufferDescriptor hipcMakeBuffer (const void *buffer, size_t size, HipcBufferMode mode)
 
static HipcRecvListEntry hipcMakeRecvStatic (void *buffer, size_t size)
 
static void * hipcGetStaticAddress (const HipcStaticDescriptor *desc)
 
static size_t hipcGetStaticSize (const HipcStaticDescriptor *desc)
 
static void * hipcGetBufferAddress (const HipcBufferDescriptor *desc)
 
static size_t hipcGetBufferSize (const HipcBufferDescriptor *desc)
 
static HipcRequest hipcCalcRequestLayout (HipcMetadata meta, void *base)
 
static HipcRequest hipcMakeRequest (void *base, HipcMetadata meta)
 
static HipcParsedRequest hipcParseRequest (void *base)
 
static HipcResponse hipcParseResponse (void *base)
 

Detailed Description

Horizon Inter-Process Communication protocol.

Author
fincs
SciresM