XenevaOS
Loading...
Searching...
No Matches
RegularExpressionProtocol.h
Go to the documentation of this file.
1
19#ifndef __REGULAR_EXPRESSION_PROTOCOL_H__
20#define __REGULAR_EXPRESSION_PROTOCOL_H__
21
22#define EFI_REGULAR_EXPRESSION_PROTOCOL_GUID \
23 { \
24 0xB3F79D9A, 0x436C, 0xDC11, {0xB0, 0x52, 0xCD, 0x85, 0xDF, 0x52, 0x4C, 0xE6 } \
25 }
26
27#define EFI_REGEX_SYNTAX_TYPE_POSIX_EXTENDED_GUID \
28 { \
29 0x5F05B20F, 0x4A56, 0xC231, {0xFA, 0x0B, 0xA7, 0xB1, 0xF1, 0x10, 0x04, 0x1D } \
30 }
31
32#define EFI_REGEX_SYNTAX_TYPE_PERL_GUID \
33 { \
34 0x63E60A51, 0x497D, 0xD427, {0xC4, 0xA5, 0xB8, 0xAB, 0xDC, 0x3A, 0xAE, 0xB6 } \
35 }
36
37#define EFI_REGEX_SYNTAX_TYPE_ECMA_262_GUID \
38 { \
39 0x9A473A4A, 0x4CEB, 0xB95A, {0x41, 0x5E, 0x5B, 0xA0, 0xBC, 0x63, 0x9B, 0x2E } \
40 }
41
43
44
45typedef struct {
46 CONST CHAR16 *CapturePtr; // Pointer to the start of the captured sub-expression
47 // within matched String.
48
49 UINTN Length; // Length of captured sub-expression.
51
53
54//
55// Protocol member functions
56//
89typedef
93 IN OUT UINTN *RegExSyntaxTypeListSize,
94 OUT EFI_REGEX_SYNTAX_TYPE *RegExSyntaxTypeList
95 );
96
146typedef
150 IN CHAR16 *String,
151 IN CHAR16 *Pattern,
153 OUT BOOLEAN *Result,
154 OUT EFI_REGEX_CAPTURE **Captures, OPTIONAL
155 OUT UINTN *CapturesCount
156 );
157
162
164
165//
166// For regular expression rules specified in the POSIX Extended Regular
167// Expression (ERE) Syntax:
168//
170
171//
172// For regular expression rules specifiedin the ECMA 262 Specification
173//
175
176//
177// For regular expression rules specified in the Perl standard:
178//
180
181#endif
UINT64 UINTN
Definition ProcessorBind.h:118
unsigned short CHAR16
Definition ProcessorBind.h:105
#define EFIAPI
Definition ProcessorBind.h:172
#define CONST
Definition Base.h:327
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
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 BOOLEAN *Result, OUT EFI_REGEX_CAPTURE **Captures, OPTIONAL OUT UINTN *CapturesCount)
Definition RegularExpressionProtocol.h:148
EFI_GUID gEfiRegexSyntaxTypeEcma262Guid
EFI_GUID EFI_REGEX_SYNTAX_TYPE
Definition RegularExpressionProtocol.h:52
EFI_GUID gEfiRegexSyntaxTypePosixExtendedGuid
EFI_STATUS(EFIAPI * EFI_REGULAR_EXPRESSION_GET_INFO)(IN EFI_REGULAR_EXPRESSION_PROTOCOL *This, IN OUT UINTN *RegExSyntaxTypeListSize, OUT EFI_REGEX_SYNTAX_TYPE *RegExSyntaxTypeList)
Definition RegularExpressionProtocol.h:91
EFI_GUID gEfiRegexSyntaxTypePerlGuid
EFI_GUID gEfiRegularExpressionProtocolGuid
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
unsigned char BOOLEAN
Definition actypes.h:235
Definition RegularExpressionProtocol.h:45
UINTN Length
Definition RegularExpressionProtocol.h:49
CONST CHAR16 * CapturePtr
Definition RegularExpressionProtocol.h:46
Definition Base.h:281
Definition RegularExpressionProtocol.h:158
EFI_REGULAR_EXPRESSION_MATCH MatchString
Definition RegularExpressionProtocol.h:159
EFI_REGULAR_EXPRESSION_GET_INFO GetInfo
Definition RegularExpressionProtocol.h:160