module base;

include ipc/ipc.h, bal/hw.h;

type Bool = __ctype(bool);

type Size = __ctype(size_t);

type Ptr = __ctype(uintptr_t);

type S8 = __ctype(int8_t);

type U8 = __ctype(uint8_t);

type S16 = __ctype(int16_t);

type U16 = __ctype(uint16_t);

type S32 = __ctype(int32_t);

type U32 = __ctype(uint32_t);

type S64 = __ctype(int64_t);

type U64 = __ctype(uint64_t);

type F32 = __ctype(float);

type F64 = __ctype(double);

[packfn(ipc_pack_str, ipc_unpack_str)]
type Str = __ctype;

type IpcProto = __ctype;

type IpcCap = __ctype;

[packfn(ipc_pack_handle, ipc_unpack_handle)]
type IpcHnd = __ctype(BrHandle);

[packfn(bal_mem_pack, bal_mem_unpack)]
type IpcMem = __ctype(BalMem);

[packfn(bal_fb_pack, bal_fb_unpack)]
type IpcFb = __ctype(BalFb);
