| { | |
| "$id": "https://json.schemastore.org/ffigen", | |
| "$comment": "This file is generated. To regenerate run: dart tool/generate_json_schema.dart in github.com/dart-lang/native/tree/main/pkgs/ffigen", | |
| "$schema": "https://json-schema.org/draft/2020-12/schema", | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "exclude-all-by-default": { | |
| "type": "boolean" | |
| }, | |
| "llvm-path": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "output": { | |
| "$oneOf": [ | |
| { | |
| "$ref": "#/$defs/filePath" | |
| }, | |
| { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "bindings": { | |
| "$ref": "#/$defs/filePath" | |
| }, | |
| "objc-bindings": { | |
| "$ref": "#/$defs/filePath" | |
| }, | |
| "symbol-file": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "output": { | |
| "$ref": "#/$defs/filePath" | |
| }, | |
| "import-path": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "output", | |
| "import-path" | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "bindings" | |
| ] | |
| } | |
| ] | |
| }, | |
| "language": { | |
| "enum": [ | |
| "c", | |
| "objc" | |
| ] | |
| }, | |
| "headers": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "entry-points": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "include-directives": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "required": [ | |
| "entry-points" | |
| ] | |
| }, | |
| "ignore-source-errors": { | |
| "type": "boolean" | |
| }, | |
| "compiler-opts": { | |
| "$oneOf": [ | |
| { | |
| "type": "string" | |
| }, | |
| { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| ] | |
| }, | |
| "compiler-opts-automatic": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "macos": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include-c-standard-library": { | |
| "type": "boolean" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "library-imports": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "functions": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "member-rename": { | |
| "$ref": "#/$defs/memberRename" | |
| }, | |
| "symbol-address": { | |
| "$ref": "#/$defs/includeExclude" | |
| }, | |
| "expose-typedefs": { | |
| "$ref": "#/$defs/includeExclude" | |
| }, | |
| "leaf": { | |
| "$ref": "#/$defs/includeExclude" | |
| }, | |
| "variadic-arguments": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "type": "array", | |
| "items": { | |
| "$oneOf": [ | |
| { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "types": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "postfix": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "types" | |
| ] | |
| } | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "structs": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "member-rename": { | |
| "$ref": "#/$defs/memberRename" | |
| }, | |
| "dependency-only": { | |
| "$ref": "#/$defs/dependencyOnly" | |
| }, | |
| "pack": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "enum": [ | |
| "none", | |
| 1, | |
| 2, | |
| 4, | |
| 8, | |
| 16 | |
| ] | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "unions": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "member-rename": { | |
| "$ref": "#/$defs/memberRename" | |
| }, | |
| "dependency-only": { | |
| "$ref": "#/$defs/dependencyOnly" | |
| } | |
| } | |
| }, | |
| "enums": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "member-rename": { | |
| "$ref": "#/$defs/memberRename" | |
| }, | |
| "as-int": { | |
| "$ref": "#/$defs/includeExclude" | |
| } | |
| } | |
| }, | |
| "unnamed-enums": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "as-int": { | |
| "$ref": "#/$defs/includeExclude" | |
| } | |
| } | |
| }, | |
| "globals": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "symbol-address": { | |
| "$ref": "#/$defs/includeExclude" | |
| } | |
| } | |
| }, | |
| "macros": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| } | |
| } | |
| }, | |
| "typedefs": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| } | |
| } | |
| }, | |
| "objc-interfaces": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "member-rename": { | |
| "$ref": "#/$defs/memberRename" | |
| }, | |
| "member-filter": { | |
| "$ref": "#/$defs/memberFilter" | |
| }, | |
| "module": { | |
| "$ref": "#/$defs/objcModule" | |
| } | |
| } | |
| }, | |
| "objc-protocols": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "member-rename": { | |
| "$ref": "#/$defs/memberRename" | |
| }, | |
| "member-filter": { | |
| "$ref": "#/$defs/memberFilter" | |
| }, | |
| "module": { | |
| "$ref": "#/$defs/objcModule" | |
| } | |
| } | |
| }, | |
| "objc-categories": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "rename": { | |
| "$ref": "#/$defs/rename" | |
| }, | |
| "member-rename": { | |
| "$ref": "#/$defs/memberRename" | |
| }, | |
| "member-filter": { | |
| "$ref": "#/$defs/memberFilter" | |
| } | |
| } | |
| }, | |
| "import": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "symbol-files": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| }, | |
| "type-map": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "typedefs": { | |
| "$ref": "#/$defs/mappedTypes" | |
| }, | |
| "structs": { | |
| "$ref": "#/$defs/mappedTypes" | |
| }, | |
| "unions": { | |
| "$ref": "#/$defs/mappedTypes" | |
| }, | |
| "native-types": { | |
| "$ref": "#/$defs/mappedTypes" | |
| } | |
| } | |
| }, | |
| "include-unused-typedefs": { | |
| "type": "boolean" | |
| }, | |
| "include-transitive-objc-interfaces": { | |
| "type": "boolean" | |
| }, | |
| "include-transitive-objc-protocols": { | |
| "type": "boolean" | |
| }, | |
| "include-transitive-objc-categories": { | |
| "type": "boolean" | |
| }, | |
| "generate-for-package-objective-c": { | |
| "type": "boolean" | |
| }, | |
| "sort": { | |
| "type": "boolean" | |
| }, | |
| "use-supported-typedefs": { | |
| "type": "boolean" | |
| }, | |
| "comments": { | |
| "$oneOf": [ | |
| { | |
| "type": "boolean" | |
| }, | |
| { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "style": { | |
| "enum": [ | |
| "doxygen", | |
| "any" | |
| ] | |
| }, | |
| "length": { | |
| "enum": [ | |
| "brief", | |
| "full" | |
| ] | |
| } | |
| } | |
| } | |
| ] | |
| }, | |
| "name": { | |
| "$ref": "#/$defs/publicDartClass" | |
| }, | |
| "description": { | |
| "$ref": "#/$defs/nonEmptyString" | |
| }, | |
| "preamble": { | |
| "type": "string" | |
| }, | |
| "ffi-native": { | |
| "$oneOf": [ | |
| { | |
| "enum": [ | |
| null | |
| ] | |
| }, | |
| { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "asset-id": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "asset-id" | |
| ] | |
| }, | |
| { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "assetId": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "assetId" | |
| ] | |
| } | |
| ] | |
| }, | |
| "silence-enum-warning": { | |
| "type": "boolean" | |
| }, | |
| "external-versions": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "ios": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "min": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "macos": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "min": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "required": [ | |
| "output", | |
| "headers" | |
| ], | |
| "$defs": { | |
| "filePath": { | |
| "type": "string", | |
| "description": "A file path" | |
| }, | |
| "fullMatchOrRegexpList": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "rename": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "memberRename": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "includeExclude": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "include": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| }, | |
| "exclude": { | |
| "$ref": "#/$defs/fullMatchOrRegexpList" | |
| } | |
| } | |
| }, | |
| "dependencyOnly": { | |
| "enum": [ | |
| "full", | |
| "opaque" | |
| ] | |
| }, | |
| "memberFilter": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "$ref": "#/$defs/includeExclude" | |
| } | |
| } | |
| }, | |
| "objcModule": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "type": "string" | |
| } | |
| } | |
| }, | |
| "mappedTypes": { | |
| "type": "object", | |
| "patternProperties": { | |
| ".*": { | |
| "type": "object", | |
| "additionalProperties": false, | |
| "properties": { | |
| "lib": { | |
| "type": "string" | |
| }, | |
| "c-type": { | |
| "type": "string" | |
| }, | |
| "dart-type": { | |
| "type": "string" | |
| } | |
| } | |
| } | |
| } | |
| }, | |
| "publicDartClass": { | |
| "type": "string", | |
| "description": "A public dart class name.", | |
| "pattern": "^[a-zA-Z]+[_a-zA-Z0-9]*$" | |
| }, | |
| "nonEmptyString": { | |
| "type": "string", | |
| "pattern": ".+" | |
| } | |
| } | |
| } |