libnx  v4.7.0
Data Structures | Macros | Enumerations | Functions
cmif.h File Reference

Common Message Interface Framework protocol. More...

#include "hipc.h"

Go to the source code of this file.

Data Structures

struct  CmifInHeader
 
struct  CmifOutHeader
 
struct  CmifDomainInHeader
 
struct  CmifDomainOutHeader
 
struct  CmifRequestFormat
 
struct  CmifRequest
 
struct  CmifResponse
 

Macros

#define CMIF_IN_HEADER_MAGIC   0x49434653
 
#define CMIF_OUT_HEADER_MAGIC   0x4F434653
 

Enumerations

enum  CmifCommandType {
  CmifCommandType_Invalid = 0 ,
  CmifCommandType_LegacyRequest = 1 ,
  CmifCommandType_Close = 2 ,
  CmifCommandType_LegacyControl = 3 ,
  CmifCommandType_Request = 4 ,
  CmifCommandType_Control = 5 ,
  CmifCommandType_RequestWithContext = 6 ,
  CmifCommandType_ControlWithContext = 7
}
 
enum  CmifDomainRequestType {
  CmifDomainRequestType_Invalid = 0 ,
  CmifDomainRequestType_SendMessage = 1 ,
  CmifDomainRequestType_Close = 2
}
 

Functions

static void * cmifGetAlignedDataStart (u32 *data_words, void *base)
 
static CmifRequest cmifMakeRequest (void *base, CmifRequestFormat fmt)
 
static void * cmifMakeControlRequest (void *base, u32 request_id, u32 size)
 
static void cmifMakeCloseRequest (void *base, u32 object_id)
 
static void cmifRequestInBuffer (CmifRequest *req, const void *buffer, size_t size, HipcBufferMode mode)
 
static void cmifRequestOutBuffer (CmifRequest *req, void *buffer, size_t size, HipcBufferMode mode)
 
static void cmifRequestInOutBuffer (CmifRequest *req, void *buffer, size_t size, HipcBufferMode mode)
 
static void cmifRequestInPointer (CmifRequest *req, const void *buffer, size_t size)
 
static void cmifRequestOutFixedPointer (CmifRequest *req, void *buffer, size_t size)
 
static void cmifRequestOutPointer (CmifRequest *req, void *buffer, size_t size)
 
static void cmifRequestInAutoBuffer (CmifRequest *req, const void *buffer, size_t size, HipcBufferMode mode)
 
static void cmifRequestOutAutoBuffer (CmifRequest *req, void *buffer, size_t size, HipcBufferMode mode)
 
static void cmifRequestObject (CmifRequest *req, u32 object_id)
 
static void cmifRequestHandle (CmifRequest *req, Handle handle)
 
static Result cmifParseResponse (CmifResponse *res, void *base, bool is_domain, u32 size)
 
static u32 cmifResponseGetObject (CmifResponse *res)
 
static Handle cmifResponseGetCopyHandle (CmifResponse *res)
 
static Handle cmifResponseGetMoveHandle (CmifResponse *res)
 
static Result cmifConvertCurrentObjectToDomain (Handle h, u32 *out_object_id)
 
static Result cmifCopyFromCurrentDomain (Handle h, u32 object_id, Handle *out_h)
 
static Result cmifCloneCurrentObject (Handle h, Handle *out_h)
 
static Result cmifQueryPointerBufferSize (Handle h, u16 *out_size)
 
static Result cmifCloneCurrentObjectEx (Handle h, u32 tag, Handle *out_h)
 

Detailed Description

Common Message Interface Framework protocol.

Author
fincs
SciresM