Source code
Revision control
Copy as Markdown
Other Tools
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# WARNING: the syntax of the builtin types is not checked, so please
# don't add something syntactically invalid. It will not be fun to
# track down the bug.
# C types
# These types don't live in any namespace, so can't be imported with `using`
# statements like normal C++ types.
CTypes = (
"bool",
"char",
"short",
"int",
"long",
"float",
"double",
)
# C++ types
# These types must be fully qualified, and will be `typedef`-ed into IPDL
# structs to make them readily available when used.
Types = (
# stdint types
"int8_t",
"uint8_t",
"int16_t",
"uint16_t",
"int32_t",
"uint32_t",
"int64_t",
"uint64_t",
"intptr_t",
"uintptr_t",
# Mozilla types: "less" standard things we know how serialize/deserialize
"nsresult",
"nsString",
"nsCString",
"mozilla::ipc::Shmem",
"mozilla::ipc::ByteBuf",
"mozilla::UniquePtr",
"mozilla::ipc::FileDescriptor",
)
# MozPromise.h and Shmem.h to those protocols that really use them?
HeaderIncludes = (
"mozilla/Attributes.h",
"IPCMessageStart.h",
"mozilla/RefPtr.h",
"nsString.h",
"nsTArray.h",
"nsTHashtable.h",
"mozilla/MozPromise.h",
"mozilla/OperatorNewExtensions.h",
"mozilla/UniquePtr.h",
"mozilla/ipc/ByteBuf.h",
"mozilla/ipc/FileDescriptor.h",
"mozilla/ipc/IPCForwards.h",
"mozilla/ipc/Shmem.h",
)
CppIncludes = (
"ipc/IPCMessageUtils.h",
"ipc/IPCMessageUtilsSpecializations.h",
"nsIFile.h",
"mozilla/ipc/Endpoint.h",
"mozilla/ipc/ProtocolMessageUtils.h",
"mozilla/ipc/ProtocolUtils.h",
"mozilla/ipc/ShmemMessageUtils.h",
"mozilla/ipc/TaintingIPCUtils.h",
)