aboutsummaryrefslogtreecommitdiffstats
path: root/docs/syscall_descriptions_syntax.md
Commit message (Collapse)AuthorAgeFilesLines
* pkg/compiler: add builtin bool type aliasesDmitry Vyukov2018-01-081-0/+9
| | | | | | | | | | | | | | | | This adds builtin: type bool8 int8[0:1] type bool16 int16[0:1] type bool32 int32[0:1] type bool64 int64[0:1] type boolptr intptr[0:1] We used to use just int's for bools. But bool types provide several advantages: - make true/false probability equal - improve description expressiveness - reduce search space (we will take advantage of this later)
* sys: support type aliases (aka typedefs)Dmitry Vyukov2018-01-081-0/+22
| | | | | | | | | | | | | | | | | | | | | | Complex types that are often repeated can be given short type aliases using the following syntax: ``` type identifier underlying_type ``` For example: ``` type signalno int32[0:65] type net_port proc[20000, 4, int16be] ``` Then, type alias can be used instead of the underlying type in any contexts. Underlying type needs to be described as if it's a struct field, that is, with the base type if it's required. However, type alias can be used as syscall arguments as well. Underlying types are currently restricted to integer types, `ptr`, `ptr64`, `const`, `flags` and `proc` types.
* pkg/compiler: add bitsize typeDmitry Vyukov2018-01-061-2/+4
| | | | This is need for few crypto/xfrm descriptions.
* Update syscall_descriptions_syntax.mdDmitry Vyukov2017-09-131-1/+1
|
* sys: support ptr64 typeDmitry Vyukov2017-09-021-1/+2
| | | | | | ptr64 is like ptr, but always takes 8 bytes of space. Needed for some APIs. Unfortunately, most of these APIs use buffer type, so we can't use ptr64 immidiately.
* pkg/compiler: check and generate typesDmitry Vyukov2017-09-021-1/+2
| | | | | | Move most of the logic from sysgen to pkg/compiler. Update #217
* sys: change proc arguments to the format used by const/flags/lenDmitry Vyukov2017-08-311-2/+3
| | | | | | | | All other types have optional underlying type as the last argument. Proc have it as first. This creates very irregular syntax and complicates parsing. Make type the last argument. Note: this is a breaking change if you have descriptions on the side.
* docs: small fixesAndrey Konovalov2017-07-241-49/+67
|
* Parse incdir "incdir" in syscall description file to add custom include ↵Yuzhe Han2017-06-261-1/+1
| | | | | | | | | | | | directories. (#180) * Parse #incdir "incdir" in syscall description file to add custom include directories. * add flagLinux * remove '#' in incdir flag * Update sys/README.md AUTHORS CONTRIBUTORS.
* docs: various improvementsAndrey Konovalov2017-06-141-0/+163