clang  20.0.0git
Macros | Typedefs | Enumerations
ptrauth.h File Reference

Go to the source code of this file.

Macros

#define ptrauth_strip(__value, __key)
 
#define ptrauth_blend_discriminator(__pointer, __integer)
 
#define ptrauth_sign_constant(__value, __key, __data)
 
#define ptrauth_sign_unauthenticated(__value, __key, __data)
 
#define ptrauth_auth_and_resign(__value, __old_key, __old_data, __new_key, __new_data)
 
#define ptrauth_auth_function(__value, __old_key, __old_data)
 
#define ptrauth_auth_data(__value, __old_key, __old_data)
 
#define ptrauth_string_discriminator(__string)
 
#define ptrauth_type_discriminator(__type)   ((ptrauth_extra_data_t)0)
 
#define ptrauth_sign_generic_data(__value, __data)
 
#define ptrauth_cxx_vtable_pointer(key, address_discrimination, extra_discrimination...)
 

Typedefs

typedef __UINTPTR_TYPE__ ptrauth_extra_data_t
 
typedef __UINTPTR_TYPE__ ptrauth_generic_signature_t
 

Enumerations

enum  ptrauth_key {
  ptrauth_key_asia = 0 , ptrauth_key_asib = 1 , ptrauth_key_asda = 2 , ptrauth_key_asdb = 3 ,
  ptrauth_key_process_independent_code = ptrauth_key_asia , ptrauth_key_process_dependent_code = ptrauth_key_asib , ptrauth_key_process_independent_data = ptrauth_key_asda , ptrauth_key_process_dependent_data = ptrauth_key_asdb ,
  ptrauth_key_return_address = ptrauth_key_process_dependent_code , ptrauth_key_function_pointer = ptrauth_key_process_independent_code , ptrauth_key_cxx_vtable_pointer = ptrauth_key_process_independent_data , ptrauth_key_init_fini_pointer = ptrauth_key_process_independent_code
}
 

Macro Definition Documentation

◆ ptrauth_auth_and_resign

#define ptrauth_auth_and_resign (   __value,
  __old_key,
  __old_data,
  __new_key,
  __new_data 
)
Value:
({ \
(void)__old_key; \
(void)__old_data; \
(void)__new_key; \
(void)__new_data; \
__value; \
})

Definition at line 291 of file ptrauth.h.

◆ ptrauth_auth_data

#define ptrauth_auth_data (   __value,
  __old_key,
  __old_data 
)
Value:
({ \
(void)__old_key; \
(void)__old_data; \
__value; \
})

Definition at line 308 of file ptrauth.h.

◆ ptrauth_auth_function

#define ptrauth_auth_function (   __value,
  __old_key,
  __old_data 
)
Value:
({ \
(void)__old_key; \
(void)__old_data; \
__value; \
})

Definition at line 301 of file ptrauth.h.

◆ ptrauth_blend_discriminator

#define ptrauth_blend_discriminator (   __pointer,
  __integer 
)
Value:
({ \
(void)__pointer; \
(void)__integer; \
})
__UINTPTR_TYPE__ ptrauth_extra_data_t
Definition: ptrauth.h:53

Definition at line 270 of file ptrauth.h.

◆ ptrauth_cxx_vtable_pointer

#define ptrauth_cxx_vtable_pointer (   key,
  address_discrimination,
  extra_discrimination... 
)

Definition at line 331 of file ptrauth.h.

◆ ptrauth_sign_constant

#define ptrauth_sign_constant (   __value,
  __key,
  __data 
)
Value:
({ \
(void)__key; \
(void)__data; \
__value; \
})

Definition at line 277 of file ptrauth.h.

◆ ptrauth_sign_generic_data

#define ptrauth_sign_generic_data (   __value,
  __data 
)
Value:
({ \
(void)__value; \
(void)__data; \
})
static __inline__ void unsigned int __value
Definition: movdirintrin.h:20
__UINTPTR_TYPE__ ptrauth_generic_signature_t
Definition: ptrauth.h:56

Definition at line 323 of file ptrauth.h.

◆ ptrauth_sign_unauthenticated

#define ptrauth_sign_unauthenticated (   __value,
  __key,
  __data 
)
Value:
({ \
(void)__key; \
(void)__data; \
__value; \
})

Definition at line 284 of file ptrauth.h.

◆ ptrauth_string_discriminator

#define ptrauth_string_discriminator (   __string)
Value:
({ \
(void)__string; \
})

Definition at line 315 of file ptrauth.h.

◆ ptrauth_strip

#define ptrauth_strip (   __value,
  __key 
)
Value:
({ \
(void)__key; \
__value; \
})

Definition at line 264 of file ptrauth.h.

◆ ptrauth_type_discriminator

#define ptrauth_type_discriminator (   __type)    ((ptrauth_extra_data_t)0)

Definition at line 321 of file ptrauth.h.

Typedef Documentation

◆ ptrauth_extra_data_t

typedef __UINTPTR_TYPE__ ptrauth_extra_data_t

Definition at line 53 of file ptrauth.h.

◆ ptrauth_generic_signature_t

typedef __UINTPTR_TYPE__ ptrauth_generic_signature_t

Definition at line 56 of file ptrauth.h.

Enumeration Type Documentation

◆ ptrauth_key

Enumerator
ptrauth_key_asia 
ptrauth_key_asib 
ptrauth_key_asda 
ptrauth_key_asdb 
ptrauth_key_process_independent_code 
ptrauth_key_process_dependent_code 
ptrauth_key_process_independent_data 
ptrauth_key_process_dependent_data 
ptrauth_key_return_address 
ptrauth_key_function_pointer 
ptrauth_key_cxx_vtable_pointer 
ptrauth_key_init_fini_pointer 

Definition at line 13 of file ptrauth.h.