unix: add new fscrypt declarations from Linux v5.4

Create Go bindings for the updated fscrypt UAPI from Linux v5.4:

- Various new ioctls.  We use the regex FS_IOC_.*ENCRYPTION to match
  both the new and existing fscrypt ioctls.

- Various new structures for passing to the ioctls

- Various new constants named like FSCRYPT_*

- FscryptPolicy was renamed to FscryptPolicyV1.  (But the old name is
  still available for source compatibility.)

- The existing fscrypt-related constants named like FS_* (besides the
  ioctls) were renamed to FSCRYPT_*.  (But the old names are still
  available for source compatibility.)

For reference, see fscrypt.h:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/fscrypt.h?h=v5.4

Fixes golang/go#35856

Change-Id: I48ddd37cfa7c1e0e7eb227baa6f220c848ddc880
Reviewed-on: https://go-review.googlesource.com/c/sys/+/208898
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Eric Biggers
2019-11-26 10:29:11 -08:00
committed by Ian Lance Taylor
parent 8a8471f7e5
commit 63cb32ae39
28 changed files with 37385 additions and 36341 deletions

View File

@@ -440,6 +440,20 @@ type FscryptPolicy C.struct_fscrypt_policy
type FscryptKey C.struct_fscrypt_key
type FscryptPolicyV1 C.struct_fscrypt_policy_v1
type FscryptPolicyV2 C.struct_fscrypt_policy_v2
type FscryptGetPolicyExArg C.struct_fscrypt_get_policy_ex_arg
type FscryptKeySpecifier C.struct_fscrypt_key_specifier
type FscryptAddKeyArg C.struct_fscrypt_add_key_arg
type FscryptRemoveKeyArg C.struct_fscrypt_remove_key_arg
type FscryptGetKeyStatusArg C.struct_fscrypt_get_key_status_arg
// Structure for Keyctl
type KeyctlDHParams C.struct_keyctl_dh_params