118 lines
3.3 KiB
C
118 lines
3.3 KiB
C
#ifndef EFI_PROTOCOLS_STRING_SERVICES_H
|
|
#define EFI_PROTOCOLS_STRING_SERVICES_H
|
|
|
|
////
|
|
// Unicode Collation Protocol
|
|
///
|
|
|
|
#define EFI_UNICODE_COLLATION_PROTOCOL2_GUID {0xa4c751fc,0x23ae,0x4c3e, {0x92,0xe9,0x49,0x64,0xcf,0x63,0xf3,0x49}}
|
|
|
|
typedef struct _EFI_UNICODE_COLLATION_PROTOCOL EFI_UNICODE_COLLATION_PROTOCOL;
|
|
|
|
typedef
|
|
EFI_INTN
|
|
(EFIAPI *EFI_UNICODE_COLLATION_STRICOLL)(
|
|
IN EFI_UNICODE_COLLATION_PROTOCOL *This,
|
|
IN CHAR16 *s1,
|
|
IN CHAR16 *s2
|
|
);
|
|
|
|
typedef
|
|
EFI_BOOLEAN
|
|
(EFIAPI *EFI_UNICODE_COLLATION_METAIMATCH)(
|
|
IN EFI_UNICODE_COLLATION_PROTOCOL *This,
|
|
IN CHAR16 *String,
|
|
IN CHAR16 *Pattern
|
|
);
|
|
|
|
typedef
|
|
VOID
|
|
(EFIAPI *EFI_UNICODE_COLLATION_STRLWR)(
|
|
IN EFI_UNICODE_COLLATION_PROTOCOL *This,
|
|
IN OUT CHAR16 *String
|
|
);
|
|
|
|
typedef
|
|
VOID
|
|
(EFIAPI *EFI_UNICODE_COLLATION_STRUPR)(
|
|
IN EFI_UNICODE_COLLATION_PROTOCOL *This,
|
|
IN OUT CHAR16 *String
|
|
);
|
|
|
|
typedef
|
|
VOID
|
|
(EFIAPI *EFI_UNICODE_COLLATION_FATTOSTR)(
|
|
IN EFI_UNICODE_COLLATION_PROTOCOL *This,
|
|
IN EFI_UINTN FatSize,
|
|
IN CHAR8 *Fat,
|
|
OUT CHAR16 *String
|
|
);
|
|
|
|
typedef
|
|
EFI_BOOLEAN
|
|
(EFIAPI *EFI_UNICODE_COLLATION_STRTOFAT)(
|
|
IN EFI_UNICODE_COLLATION_PROTOCOL *This,
|
|
IN CHAR16 *String,
|
|
IN EFI_UINTN FatSize,
|
|
OUT CHAR8 *Fat
|
|
);
|
|
|
|
typedef struct _EFI_UNICODE_COLLATION_PROTOCOL {
|
|
EFI_UNICODE_COLLATION_STRICOLL StriColl;
|
|
EFI_UNICODE_COLLATION_METAIMATCH MetaiMatch;
|
|
EFI_UNICODE_COLLATION_STRLWR StrLwr;
|
|
EFI_UNICODE_COLLATION_STRUPR StrUpr;
|
|
EFI_UNICODE_COLLATION_FATTOSTR FatToStr;
|
|
EFI_UNICODE_COLLATION_STRTOFAT StrToFat;
|
|
CHAR8 *SupportedLanguages;
|
|
} EFI_UNICODE_COLLATION_PROTOCOL;
|
|
|
|
////
|
|
// Regular Expression Protocol
|
|
///
|
|
|
|
#define EFI_REGULAR_EXPRESSION_PROTOCOL_GUID {0xb3f79d9a,0x436c,0xdc11, {0xb0,0x52,0xcd,0x85,0xdf,0x52,0x4c,0xe6}}
|
|
|
|
// Syntax types
|
|
#define EFI_REGEX_SYNTAX_TYPE_POSIX_EXTENDED_GUID {0x5f05b20f,0x4a56,0xc231, {0xfa,0x0b,0xa7,0xb1,0xf1,0x10,0x04,0x1d}}
|
|
#define EFI_REGEX_SYNTAX_TYPE_PERL_GUID {0x63e60a51,0x497d,0xd427, {0xc4,0xa5,0xb8,0xab,0xdc,0x3a,0xae,0xb6}}
|
|
#define EFI_REGEX_SYNTAX_TYPE_ECMA_262_GUID {0x9a473a4a,0x4ceb,0xb95a, 0x41, {0x5e,0x5b,0xa0,0xbc,0x63,0x9b,0x2e}}
|
|
#define EFI_REGEX_SYNTAX_TYPE_POSIX_EXTENDED_ASCII_GUID {0x3fd32128,0x4bb1,0xf632, {0xbe,0x4f,0xba,0xbf,0x85,0xc9,0x36,0x76}}
|
|
#define EFI_REGEX_SYNTAX_TYPE_PERL_ASCII_GUID {0x87dfb76d,0x4b58,0xef3a, {0xf7,0xc6,0x16,0xa4,0x2a,0x68,0x28,0x10}}
|
|
#define EFI_REGEX_SYNTAX_TYPE_ECMA_262_ASCII_GUID {0xb2284a2f,0x4491,0x6d9d, {0xea,0xb7,0x11,0xb0,0x67,0xd4,0x9b,0x9a}}
|
|
|
|
typedef struct _EFI_REGULAR_EXPRESSION_PROTOCOL EFI_REGULAR_EXPRESSION_PROTOCOL;
|
|
|
|
typedef EFI_GUID EFI_REGEX_SYNTAX_TYPE;
|
|
|
|
typedef struct {
|
|
CONST CHAR16 *CapturePtr;
|
|
EFI_UINTN Length;
|
|
} EFI_REGEX_CAPTURE;
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_REGULAR_EXPRESSION_MATCH)(
|
|
IN EFI_REGULAR_EXPRESSION_PROTOCOL *This,
|
|
IN CHAR16 *String,
|
|
IN CHAR16 *Pattern,
|
|
IN EFI_REGEX_SYNTAX_TYPE *SyntaxType OPTIONAL,
|
|
OUT EFI_BOOLEAN *Result,
|
|
OUT EFI_REGEX_CAPTURE **Captures OPTIONAL,
|
|
OUT EFI_UINTN *CapturesCount
|
|
);
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_REGULAR_EXPRESSION_GET_INFO)(
|
|
IN EFI_REGULAR_EXPRESSION_PROTOCOL *This,
|
|
IN OUT EFI_UINTN *RegExSyntaxTypeListSize,
|
|
OUT EFI_REGEX_SYNTAX_TYPE *RegExSyntaxTypeList
|
|
);
|
|
|
|
typedef struct _EFI_REGULAR_EXPRESSION_PROTOCOL {
|
|
EFI_REGULAR_EXPRESSION_MATCH MatchString;
|
|
EFI_REGULAR_EXPRESSION_GET_INFO GetInfo;
|
|
} EFI_REGULAR_EXPRESSION_PROTOCOL;
|
|
|
|
#endif /* EFI_PROTOCOLS_STRING_SERVICES_H */
|