• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

build/25-Apr-2025-1,5561,234

c2hal/25-Apr-2025-4,2732,843

hashing/25-Apr-2025-261169

hidl2aidl/25-Apr-2025-4,7233,605

host_utils/25-Apr-2025-977633

lint/25-Apr-2025-3,3002,549

metadata/25-Apr-2025-213134

scripts/25-Apr-2025-188124

test/25-Apr-2025-11,3398,973

utils/25-Apr-2025-1,147697

.clang-formatD25-Apr-2025291 1413

AST.cppD25-Apr-202532.7 KiB955701

AST.hD25-Apr-202513.7 KiB373187

Android.bpD25-Apr-20254.2 KiB175166

Annotation.cppD25-Apr-20253.1 KiB12879

Annotation.hD25-Apr-20252 KiB8140

ArrayType.cppD25-Apr-202514.8 KiB549429

ArrayType.hD25-Apr-20253.9 KiB13178

CleanSpec.mkD25-Apr-20252.2 KiB492

CompoundType.cppD25-Apr-202566.8 KiB2,0551,650

CompoundType.hD25-Apr-20256.5 KiB195125

ConstantExpression.cppD25-Apr-202529.5 KiB846569

ConstantExpression.hD25-Apr-20259 KiB247135

Coordinator.cppD25-Apr-202534.9 KiB1,068806

Coordinator.hD25-Apr-20258.2 KiB219104

DeathRecipientType.cppD25-Apr-20252.5 KiB8752

DeathRecipientType.hD25-Apr-20251.6 KiB5726

DocComment.cppD25-Apr-20253.3 KiB10664

DocComment.hD25-Apr-20252.1 KiB8140

EnumType.cppD25-Apr-202530.9 KiB989762

EnumType.hD25-Apr-20257.5 KiB240154

FmqType.cppD25-Apr-20254.7 KiB188140

FmqType.hD25-Apr-20252.3 KiB8147

FormattingConstants.hD25-Apr-2025717 235

HandleType.cppD25-Apr-20255 KiB193144

HandleType.hD25-Apr-20252.6 KiB9152

HidlTypeAssertion.cppD25-Apr-20251.6 KiB6134

HidlTypeAssertion.hD25-Apr-20251.3 KiB4715

Interface.cppD25-Apr-202533 KiB992823

Interface.hD25-Apr-20256.2 KiB184107

Location.cppD25-Apr-20253 KiB10970

Location.hD25-Apr-20252.3 KiB8743

MemoryType.cppD25-Apr-20257 KiB250197

MemoryType.hD25-Apr-20252.9 KiB9757

Method.cppD25-Apr-202510.2 KiB345268

Method.hD25-Apr-20254.4 KiB14389

NOTICED25-Apr-202511.1 KiB203169

NamedType.cppD25-Apr-20251.5 KiB5528

NamedType.hD25-Apr-20251.5 KiB6126

OWNERSD25-Apr-202597 75

PREUPLOAD.cfgD25-Apr-2025102 86

PointerType.cppD25-Apr-20252.8 KiB10365

PointerType.hD25-Apr-20252.1 KiB7440

README.mdD25-Apr-20251.6 KiB5940

Reference.hD25-Apr-20254.7 KiB169101

ScalarType.cppD25-Apr-20258.2 KiB340276

ScalarType.hD25-Apr-20253.2 KiB11874

Scope.cppD25-Apr-20258.5 KiB303222

Scope.hD25-Apr-20253.6 KiB12668

StringType.cppD25-Apr-20255.8 KiB227172

StringType.hD25-Apr-20252.7 KiB9253

TEST_MAPPINGD25-Apr-2025411 3130

Type.cppD25-Apr-202521 KiB794595

Type.hD25-Apr-202513.7 KiB391228

TypeDef.cppD25-Apr-20252.2 KiB8651

TypeDef.hD25-Apr-20251.6 KiB6127

VectorType.cppD25-Apr-202516.7 KiB662519

VectorType.hD25-Apr-20253.9 KiB12884

generateCpp.cppD25-Apr-202564.2 KiB1,9371,558

generateCppImpl.cppD25-Apr-20254.8 KiB168110

generateDependencies.cppD25-Apr-20251.2 KiB4321

generateFormattedHidl.cppD25-Apr-20251.4 KiB4521

generateInheritanceHierarchy.cppD25-Apr-20251.6 KiB5330

generateJava.cppD25-Apr-202518.7 KiB630483

generateJavaImpl.cppD25-Apr-20253.1 KiB9457

generateVts.cppD25-Apr-20252.9 KiB9659

hidl-gen_l.hD25-Apr-2025943 327

hidl-gen_l.llD25-Apr-20257.9 KiB223183

hidl-gen_y-helpers.hD25-Apr-20251 KiB3210

hidl-gen_y.yyD25-Apr-202535.6 KiB1,1561,022

main.cppD25-Apr-202548.2 KiB1,4521,185

update-all-google-makefiles.shD25-Apr-2025435 115

update-makefiles-helper.shD25-Apr-20253.1 KiB12277

README.md

1# hidl-gen
2
3Full documentation can be found here:
4<https://source.android.com/devices/architecture/hidl/>
5
6hidl-gen is a compiler for the HIDL (HAL Interface Design Language) which generates
7C++ and Java endpoints for RPC mechanisms. The main userspace libraries which this
8compiler uses can be found at system/libhidl.
9
10## 1. Build
11
12```
13m hidl-gen
14```
15
16## 2. Run
17
18Note that options for hidl-gen expected to be invoked by the build system
19are marked with 'internal' in the help menu.
20
21```
22hidl-gen -h
23
24hidl-gen -o output -L c++-impl -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport [email protected]
25```
26
27Some defaults for package roots are also provided
28
29```
30hidl-gen -o output -L c++-impl [email protected]
31hidl-gen -o output -L vts [email protected]
32hidl-gen -L hash [email protected]
33```
34
35Example command for vendor project
36
37```
38hidl-gen -L c++-impl -r vendor.foo:vendor/foo/interfaces [email protected]
39```
40
41See update-makefiles-helper.sh and update-all-google-makefiles.sh for examples
42of how to generate HIDL makefiles (using the -Landroidbp option).
43
44> **_NOTE:_**  When using the -Landroidbp option, you can force generated
45> modules to be installed in `/system_ext` rather than other partition by putting a
46> marker file `.hidl_for_system_ext` alongside `*.hal` files.
47
48> **_NOTE:_**  You can also install the vendor variant of the generated modules
49> to be installed in `/odm` rather than `/vendor` by putting a marker file
50> `.hidl_for_odm` alongside `*.hal` files.
51
52# c2hal
53
54This is a helper tool to convert C headers to valid .hal files.
55
56```
57m c2hal && c2hal -h
58```
59