Lines Matching +full:ascii +full:. +full:d
4 This is the include file for any module of type base. Base modules only use
6 environment. There are a set of base libraries in the Mde Package that can
7 be used to implement base modules.
9 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
10 Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
22 #include <ProcessorBind.h>
26 // Disable warning when last field of data structure is a zero sized array.
33 // if the /OPT:REF linker option is used. We defined a macro as this is a
39 /// it after all compiler and linker optimizations have been performed.
46 /// to it after all compiler and linker optimizations have been performed.
54 // warnings.
59 /// Signal compilers and analyzers that this call is not reachable. It is
60 /// up to the compiler to remove any code past that point.
66 /// Signal compilers and analyzers that this call is not reachable. It is
67 /// up to the compiler to remove any code past that point.
75 /// Signal compilers and analyzers that this call is not reachable. It is
76 /// up to the compiler to remove any code past that point.
85 // false positives.
90 /// Signal compilers and analyzers that the function cannot return.
92 /// flagged with this attribute.
97 /// Signal compilers and analyzers that the function cannot return.
99 /// flagged with this attribute.
104 /// Signal compilers and analyzers that the function cannot return.
106 /// flagged with this attribute.
114 // returns warnings.
120 /// Signal the analyzer that this call is not reachable.
121 /// This excludes compilers.
129 /// Signal the analyzer that this call is not reachable.
130 /// This excludes compilers.
139 // NULL-check. This may lead to false positives, such as when using ASSERT()
140 // for verification.
146 /// Signal analyzers that the function cannot return.
147 /// This excludes compilers.
155 /// Signal the analyzer that the function cannot return.
156 /// This excludes compilers.
163 /// Tell the code optimizer that the function will return twice.
164 /// This prevents wrong optimizations which can cause bugs.
169 /// Tell the code optimizer that the function will return twice.
170 /// This prevents wrong optimizations which can cause bugs.
175 /// Tell the code optimizer that the function will return twice.
176 /// This prevents wrong optimizations which can cause bugs.
194 /// on symbols in assembly language.
201 // with assembly functions. Put at the end of your .S files
203 #define ASM_FUNCTION_REMOVE_IF_UNREFERENCED .subsections_via_symbols
211 // as a prefix for the structure.
219 /// 128 bit buffer containing a unique identifier value.
220 /// Unless otherwise specified, aligned on a 64 bit boundary.
230 /// 4-byte buffer. An IPv4 internet protocol address.
237 /// 16-byte buffer. An IPv6 internet protocol address.
244 // 8-bytes unsigned value that represents a physical system address.
249 /// LIST_ENTRY structure definition.
254 /// _LIST_ENTRY structure definition.
266 /// Datum is read-only.
271 /// Datum is scoped to the current file or function.
276 /// Undeclared type.
281 // Modifiers for Data Types used to self document code.
282 // This concept is borrowed for UEFI specification.
286 /// Datum is passed to the function.
291 /// Datum is returned from the function.
297 /// is passed if the value is not supplied.
302 // UEFI specification claims 1 and 0. We are concerned about the
303 // compiler portability so we did it this way.
307 /// Boolean true value. UEFI Specification defines this value to be 1,
308 /// but this form is more portable.
313 /// Boolean false value. UEFI Specification defines this value to be 0,
314 /// but this form is more portable.
524 // Support for variable argument lists in freestanding edk2 modules.
527 // argument lists, refer to "StdLib/Include/stdarg.h".
529 // VA_LIST - typedef for argument list.
530 // VA_START (VA_LIST Marker, argument before the ...) - Init Marker for use.
533 // the ... list. You must know the type and pass it in this macro. Type
535 // according to the default argument promotions.)
536 // VA_COPY (VA_LIST Dest, VA_LIST Start) - Initialize Dest as a copy of Start.
544 // ...
557 // // The ... list is a series of UINTN values, so sum them up.
568 // argument list and must be declared EFIAPI.
569 // - Functions that call VA_COPY() / VA_END() must be declared EFIAPI.
570 // - Functions that only use VA_LIST and VA_ARG() need not be EFIAPI.
574 Return the size of argument that has been aligned to sizeof (UINTN).
576 @param n The parameter size to be aligned.
578 @return The aligned size.
584 // RVCT ARM variable argument list support.
588 /// Variable used to traverse the list of arguments. This type can vary by
589 /// implementation and could be an array or structure.
614 // MSFT ARM variable argument list support.
628 // X64 only. Use MS ABI version of GCC built-in macros for variable argument lists.
635 /// Variable used to traverse the list of arguments. This type can vary by
636 /// implementation and could be an array or structure.
650 // Use GCC built-in macros for variable argument lists.
654 /// Variable used to traverse the list of arguments. This type can vary by
655 /// implementation and could be an array or structure.
671 /// Variable used to traverse the list of arguments. This type can vary by
672 /// implementation and could be an array or structure.
678 the name of the parameter that immediately precedes the variable argument list.
681 argument list that immediately follows Parameter. The method for computing the
683 EFIAPI ABI.
685 @param Marker The VA_LIST used to traverse the list of arguments.
687 the variable argument list.
689 @return A pointer to the beginning of a variable argument list.
696 the pointer to the variable argument list to point to the next argument.
699 of the variable argument list specified by Marker. Marker is then updated to point
700 to the next argument in the variable argument list. The method for computing the
701 pointer to the next argument in the argument list is CPU-specific following the EFIAPI ABI.
703 @param Marker VA_LIST used to traverse the list of arguments.
705 of the variable argument list.
707 @return An argument of the type specified by TYPE.
713 Terminates the use of a variable argument list.
715 This function initializes Marker so it can no longer be used with VA_ARG().
717 by using VA_START() again.
719 @param Marker VA_LIST used to traverse the list of arguments.
725 Initializes a VA_LIST as a copy of an existing VA_LIST.
729 the present state of Start.
731 @param Dest VA_LIST used to traverse the list of arguments.
732 @param Start VA_LIST used to traverse the list of arguments.
740 /// Pointer to the start of a variable argument list stored in a memory buffer. Same as UINT8 *.
745 Returns the size of a data type in sizeof(UINTN) units rounded up to the nearest UINTN boundary.
747 @param TYPE The date type to determine the size of.
749 @return The size of TYPE in sizeof (UINTN) units rounded up to the nearest UINTN boundary.
755 the pointer to the variable argument list to point to the next argument.
758 of the variable argument list specified by Marker. Marker is then updated to point
759 to the next argument in the variable argument list. The method for computing the
760 pointer to the next argument in the argument list is CPU specific following the EFIAPI ABI.
762 @param Marker The pointer to the beginning of a variable argument list.
764 of the variable argument list.
766 @return An argument of the type specified by TYPE.
772 The macro that returns the byte offset of a field in a data structure.
775 beginning of the data structure specified by TYPE. If TYPE does not contain Field,
776 the module will not compile.
778 @param TYPE The name of the data structure that contains the field specified by Field.
779 @param Field The name of the field in the data structure.
781 @return Offset, in bytes, of field.
793 Portable definition for compile time assertions.
794 Equivalent to C11 static_assert macro from assert.h.
796 @param Expression Boolean expression.
797 @param Message Raised compiler diagnostic message when expression is false.
809 // Verify that ProcessorBind.h produced UEFI Data Types that are compliant with
810 // Section 2.3.1 of the UEFI 2.3 Specification.
827 // configuration for enum types is compliant with Section 2.3.1 of the
828 // UEFI 2.3 Specification. These enum types and enum values are not
829 // intended to be used. A prefix of '__' is used avoid conflicts with
830 // other types.
850 that data structure. This is a lightweight method to hide information by placing a
852 the public data structure to retrieve a pointer to the private data structure.
855 of the data structure specified by TYPE. This offset is subtracted from Record, and is
856 used to return a pointer to a data structure of the type specified by TYPE. If the data type
857 specified by TYPE does not contain the field specified by Field, then the module will not compile.
859 @param Record Pointer to the field specified by Field within a data structure of type TYPE.
860 @param TYPE The name of the data structure type to return. This data structure must
861 contain the field specified by Field.
862 …am Field The name of the field in the data structure specified by TYPE to which Record points.
864 @return A pointer to the structure from one of it's elements.
870 Rounds a value up to the next boundary using a specified alignment.
872 This function rounds Value up to the next boundary using the specified Alignment.
873 This aligned value is returned.
875 @param Value The value to round up.
876 @param Alignment The alignment boundary used to return the aligned value.
878 @return A value up to the next boundary.
885 a specified alignment boundary.
888 specified by Alignment. The pointer to the aligned address is returned.
890 @param Pointer The pointer to round up.
891 @param Alignment The alignment boundary to use to return an aligned pointer.
893 @return Pointer to the aligned address.
899 Rounds a value up to the next natural boundary for the current CPU.
900 This is 4-bytes for 32-bit CPUs and 8-bytes for 64-bit CPUs.
903 current CPU. This rounded value is returned.
905 @param Value The value to round up.
907 @return Rounded value specified by Value.
914 Return the maximum of two operands.
916 This macro returns the maximum of two operand specified by a and b.
917 Both a and b must be the same numerical types, signed or unsigned.
919 @param a The first operand with any numerical type.
920 @param b The second operand. Can be any numerical type as long as is
921 the same type as a.
923 @return Maximum of two operands.
930 Return the minimum of two operands.
932 This macro returns the minimal of two operand specified by a and b.
933 Both a and b must be the same numerical types, signed or unsigned.
935 @param a The first operand with any numerical type.
936 @param b The second operand. It should be the same any numerical type with a.
938 @return Minimum of two operands.
945 Return the absolute value of a signed operand.
947 This macro returns the absolute value of the signed operand specified by a.
949 @param a The signed operand.
951 @return The absolute value of the signed operand.
963 Produces a RETURN_STATUS code with the highest bit set.
965 @param StatusCode The status code value to convert into a warning code.
966 StatusCode must be in the range 0x00000000..0x7FFFFFFF.
968 @return The value specified by StatusCode with the highest bit set.
974 Produces a RETURN_STATUS code with the highest bit clear.
976 @param StatusCode The status code value to convert into a warning code.
977 StatusCode must be in the range 0x00000000..0x7FFFFFFF.
979 @return The value specified by StatusCode with the highest bit clear.
985 Returns TRUE if a specified RETURN_STATUS code is an error code.
987 This function returns TRUE if StatusCode has the high bit set. Otherwise, FALSE is returned.
989 @param StatusCode The status code value to evaluate.
991 @retval TRUE The high bit of StatusCode is set.
992 @retval FALSE The high bit of StatusCode is clear.
998 /// The operation completed successfully.
1003 /// The image failed to load.
1008 /// The parameter was incorrect.
1013 /// The operation is not supported.
1018 /// The buffer was not the proper size for the request.
1023 /// The buffer was not large enough to hold the requested data.
1025 /// parameter when this error occurs.
1030 /// There is no data pending upon return.
1036 /// operation.
1041 /// The device can not be written to.
1046 /// The resource has run out.
1052 /// operation to fail.
1057 /// There is no more space on the file system.
1063 /// operation.
1069 /// access.
1074 /// The item was not found.
1079 /// Access was denied.
1084 /// The server was not found or did not respond to the request.
1089 /// A mapping to the device does not exist.
1094 /// A timeout time expired.
1099 /// The protocol has not been started.
1104 /// The protocol has already been started.
1109 /// The operation was aborted.
1114 /// An ICMP error occurred during the network operation.
1119 /// A TFTP error occurred during the network operation.
1124 /// A protocol error occurred during the network operation.
1130 /// incompatible with a version requested by the caller.
1135 /// The function was not performed due to a security violation.
1140 /// A CRC error was detected.
1145 /// The beginning or end of media was reached.
1150 /// The end of the file was reached.
1155 /// The language specified was invalid.
1162 /// security status.
1167 /// A HTTP error occurred during the network operation.
1173 /// the device could not render and were skipped.
1178 /// The handle was closed, but the file was not deleted.
1184 /// flushed properly.
1190 /// truncated to the buffer size.
1196 /// local policy for this type of data.
1201 /// The resulting buffer contains UEFI-compliant file system.
1207 Returns a 16-bit signature built from 2 ASCII characters.
1209 This macro returns a 16-bit value built from the two ASCII characters specified
1210 by A and B.
1212 @param A The first ASCII character.
1213 @param B The second ASCII character.
1215 @return A 16-bit value built from the two ASCII characters specified by A and B.
1221 Returns a 32-bit signature built from 4 ASCII characters.
1223 This macro returns a 32-bit value built from the four ASCII characters specified
1224 by A, B, C, and D.
1226 @param A The first ASCII character.
1227 @param B The second ASCII character.
1228 @param C The third ASCII character.
1229 @param D The fourth ASCII character.
1231 @return A 32-bit value built from the two ASCII characters specified by A, B,
1232 C and D.
1235 #define SIGNATURE_32(A, B, C, D) (SIGNATURE_16 (A, B) | (SIGNATURE_16 (C, D) << 16)) argument
1238 Returns a 64-bit signature built from 8 ASCII characters.
1240 This macro returns a 64-bit value built from the eight ASCII characters specified
1241 by A, B, C, D, E, F, G,and H.
1243 @param A The first ASCII character.
1244 @param B The second ASCII character.
1245 @param C The third ASCII character.
1246 @param D The fourth ASCII character.
1247 @param E The fifth ASCII character.
1248 @param F The sixth ASCII character.
1249 @param G The seventh ASCII character.
1250 @param H The eighth ASCII character.
1252 @return A 64-bit value built from the two ASCII characters specified by A, B,
1253 C, D, E, F, G and H.
1256 #define SIGNATURE_64(A, B, C, D, E, F, G, H) \ argument
1257 (SIGNATURE_32 (A, B, C, D) | ((UINT64) (SIGNATURE_32 (E, F, G, H)) << 32))
1263 Get the return address of the calling function.
1267 control returns to the caller.
1269 @param L Return Level.
1271 @return The return address of the calling function or 0 if L != 0.
1278 Get the return address of the calling function.
1281 the return address of the current function, or of one of its callers.
1283 @param L Return Level.
1285 @return The return address of the calling function.
1291 Get the return address of the calling function.
1293 @param L Return Level.
1295 @return 0 as compilers don't support this feature.
1302 Return the number of elements in an array.
1304 @param Array An object of array type. Array is only used as an argument to
1305 the sizeof operator, therefore Array is never evaluated. The
1307 incomplete; that is, Array must have known constant size.
1309 @return The number of elements in Array. The result has type UINTN.