libtransistor
A userland library for the Nintendo Switch
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Functions
parcel.h File Reference

Data structures and functions for packing/unpacking Android Parcels. More...

#include <libtransistor/types.h>
Include dependency graph for parcel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  parcel_t
 Represents a parcel. More...
 

Functions

void parcel_initialize (parcel_t *parcel)
 Initialize an empty Parcel. More...
 
result_t parcel_load (parcel_t *parcel, uint8_t *flattened)
 Load a Parcel. More...
 
uint8_t * parcel_finalize_writing (parcel_t *parcel, size_t *length)
 Finalize writing a Parcel. More...
 
size_t parcel_read_remaining (parcel_t *parcel)
 Query how much data is left that can be read. More...
 
void * parcel_read_inplace (parcel_t *parcel, size_t length)
 Returns a pointer to the read head, then bumps it length bytes. More...
 
result_t parcel_read_binder (parcel_t *parcel, struct binder_t *binder)
 Read a binder_t from the Parcel. More...
 
uint32_t parcel_read_u32 (parcel_t *parcel)
 Read a uint32 from the Parcel. More...
 
const char * parcel_read_string16 (parcel_t *parcel)
 Read a string16 from the Parcel. More...
 
size_t parcel_write_remaining (parcel_t *parcel)
 Query how much space is left for writing. More...
 
void * parcel_write_inplace (parcel_t *parcel, size_t length)
 Returns a pointer to the write head, them bumps it length bytes. More...
 
void parcel_write_u32 (parcel_t *parcel, uint32_t value)
 Write a uint32 to the Parcel. More...
 
void parcel_write_string16 (parcel_t *parcel, const char *string)
 Write a string16 to the Parcel. More...
 
void parcel_write_interface_token (parcel_t *parcel, const char *token)
 Write an interface token to the Parcel. More...
 

Detailed Description

Data structures and functions for packing/unpacking Android Parcels.

Function Documentation

uint8_t* parcel_finalize_writing ( parcel_t parcel,
size_t *  length 
)

Finalize writing a Parcel.

Parameters
parcelDescription
lengthDescription
void parcel_initialize ( parcel_t parcel)

Initialize an empty Parcel.

Parameters
parcelDescription
result_t parcel_load ( parcel_t parcel,
uint8_t *  flattened 
)

Load a Parcel.

Parameters
parcelDescription
flattenedDescription
result_t parcel_read_binder ( parcel_t parcel,
struct binder_t binder 
)

Read a binder_t from the Parcel.

Parameters
parcelDescription
binderDescription
void* parcel_read_inplace ( parcel_t parcel,
size_t  length 
)

Returns a pointer to the read head, then bumps it length bytes.

Parameters
parcelDescription
lengthDescription
size_t parcel_read_remaining ( parcel_t parcel)

Query how much data is left that can be read.

Parameters
parcelDescription
const char* parcel_read_string16 ( parcel_t parcel)

Read a string16 from the Parcel.

Parameters
parcelDescription
uint32_t parcel_read_u32 ( parcel_t parcel)

Read a uint32 from the Parcel.

Parameters
parcelDescription
void* parcel_write_inplace ( parcel_t parcel,
size_t  length 
)

Returns a pointer to the write head, them bumps it length bytes.

Parameters
parcelDescription
lengthDescription
void parcel_write_interface_token ( parcel_t parcel,
const char *  token 
)

Write an interface token to the Parcel.

Parameters
parcelDescription
tokenDescription
size_t parcel_write_remaining ( parcel_t parcel)

Query how much space is left for writing.

Parameters
parcelDescription
void parcel_write_string16 ( parcel_t parcel,
const char *  string 
)

Write a string16 to the Parcel.

Parameters
parcelDescription
stringDescription
void parcel_write_u32 ( parcel_t parcel,
uint32_t  value 
)

Write a uint32 to the Parcel.

Parameters
parcelDescription
valueDescription