TianoCore EDK2 master
Loading...
Searching...
No Matches
RegularExpressionProtocol.h
Go to the documentation of this file.
1
13#ifndef __REGULAR_EXPRESSION_PROTOCOL_H__
14#define __REGULAR_EXPRESSION_PROTOCOL_H__
15
16#define EFI_REGULAR_EXPRESSION_PROTOCOL_GUID \
17 { \
18 0xB3F79D9A, 0x436C, 0xDC11, {0xB0, 0x52, 0xCD, 0x85, 0xDF, 0x52, 0x4C, 0xE6 } \
19 }
20
21#define EFI_REGEX_SYNTAX_TYPE_POSIX_EXTENDED_GUID \
22 { \
23 0x5F05B20F, 0x4A56, 0xC231, {0xFA, 0x0B, 0xA7, 0xB1, 0xF1, 0x10, 0x04, 0x1D } \
24 }
25
26#define EFI_REGEX_SYNTAX_TYPE_PERL_GUID \
27 { \
28 0x63E60A51, 0x497D, 0xD427, {0xC4, 0xA5, 0xB8, 0xAB, 0xDC, 0x3A, 0xAE, 0xB6 } \
29 }
30
31#define EFI_REGEX_SYNTAX_TYPE_ECMA_262_GUID \
32 { \
33 0x9A473A4A, 0x4CEB, 0xB95A, {0x41, 0x5E, 0x5B, 0xA0, 0xBC, 0x63, 0x9B, 0x2E } \
34 }
35
37
38typedef struct {
39 CONST CHAR16 *CapturePtr; // Pointer to the start of the captured sub-expression
40 // within matched String.
41
42 UINTN Length; // Length of captured sub-expression.
44
46
47//
48// Protocol member functions
49//
50
83typedef
87 IN OUT UINTN *RegExSyntaxTypeListSize,
88 OUT EFI_REGEX_SYNTAX_TYPE *RegExSyntaxTypeList
89 );
90
140typedef
144 IN CHAR16 *String,
145 IN CHAR16 *Pattern,
147 OUT BOOLEAN *Result,
148 OUT EFI_REGEX_CAPTURE **Captures OPTIONAL,
149 OUT UINTN *CapturesCount
150 );
151
155};
156
157extern EFI_GUID gEfiRegularExpressionProtocolGuid;
158
159//
160// For regular expression rules specified in the POSIX Extended Regular
161// Expression (ERE) Syntax:
162//
163extern EFI_GUID gEfiRegexSyntaxTypePosixExtendedGuid;
164
165//
166// For regular expression rules specifiedin the ECMA 262 Specification
167//
168extern EFI_GUID gEfiRegexSyntaxTypeEcma262Guid;
169
170//
171// For regular expression rules specified in the Perl standard:
172//
173extern EFI_GUID gEfiRegexSyntaxTypePerlGuid;
174
175#endif
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
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)
EFI_STATUS(EFIAPI * EFI_REGULAR_EXPRESSION_GET_INFO)(IN EFI_REGULAR_EXPRESSION_PROTOCOL *This, IN OUT UINTN *RegExSyntaxTypeListSize, OUT EFI_REGEX_SYNTAX_TYPE *RegExSyntaxTypeList)
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
Definition: Base.h:213