20 #ifndef FREERDP_CRYPTO_PER_H
21 #define FREERDP_CRYPTO_PER_H
23 #include <freerdp/api.h>
25 #include <winpr/stream.h>
32 FREERDP_API BOOL per_read_length(
wStream* s, UINT16* length);
33 FREERDP_API BOOL per_write_length(
wStream* s, UINT16 length);
34 FREERDP_API BOOL per_read_choice(
wStream* s, BYTE* choice);
35 FREERDP_API BOOL per_write_choice(
wStream* s, BYTE choice);
36 FREERDP_API BOOL per_read_selection(
wStream* s, BYTE* selection);
37 FREERDP_API BOOL per_write_selection(
wStream* s, BYTE selection);
38 FREERDP_API BOOL per_read_number_of_sets(
wStream* s, BYTE* number);
39 FREERDP_API BOOL per_write_number_of_sets(
wStream* s, BYTE number);
40 FREERDP_API BOOL per_read_padding(
wStream* s, UINT16 length);
41 FREERDP_API BOOL per_write_padding(
wStream* s, UINT16 length);
42 FREERDP_API BOOL per_read_integer(
wStream* s, UINT32* integer);
43 FREERDP_API BOOL per_read_integer16(
wStream* s, UINT16* integer, UINT16 min);
44 FREERDP_API BOOL per_write_integer(
wStream* s, UINT32 integer);
45 FREERDP_API BOOL per_write_integer16(
wStream* s, UINT16 integer, UINT16 min);
46 FREERDP_API BOOL per_read_enumerated(
wStream* s, BYTE* enumerated, BYTE count);
47 FREERDP_API BOOL per_write_enumerated(
wStream* s, BYTE enumerated, BYTE count);
48 FREERDP_API BOOL per_write_object_identifier(
wStream* s,
const BYTE oid[6]);
49 FREERDP_API BOOL per_read_object_identifier(
wStream* s,
const BYTE oid[6]);
50 FREERDP_API BOOL per_read_octet_string(
wStream* s,
const BYTE* oct_str, UINT16 length,
52 FREERDP_API BOOL per_write_octet_string(
wStream* s,
const BYTE* oct_str, UINT16 length,
54 FREERDP_API BOOL per_read_numeric_string(
wStream* s, UINT16 min);
55 FREERDP_API BOOL per_write_numeric_string(
wStream* s,
const BYTE* num_str, UINT16 length,