RedfishPkg[all]  1.0
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RedfishCrtLib.h File Reference

Macros

#define MAX_STRING_SIZE   0x10000000
 
#define LLONG_MIN   MIN_INT64
 
#define LLONG_MAX   MAX_INT64
 
#define HUGE_VAL   0
 
#define SIXTY_FOUR_BIT
 
#define va_list   VA_LIST
 
#define va_arg   VA_ARG
 
#define va_start   VA_START
 
#define va_end   VA_END
 
#define INT_MAX   MAX_INT32 /* Maximum (signed) int value */
 
#define LONG_MAX   0X7FFFFFFFL /* max value for a long */
 
#define LONG_MIN   (-LONG_MAX-1) /* min value for a long */
 
#define ULONG_MAX   0xFFFFFFFF /* Maximum unsigned long value */
 
#define CHAR_BIT   8 /* Number of bits in a char */
 
#define ULLONG_MAX   0xFFFFFFFFFFFFFFFFULL
 
#define UCHAR_MAX   255
 
#define strcmp   AsciiStrCmp
 
#define memcpy(dest, source, count)   CopyMem(dest,source,(UINTN)(count))
 
#define memset(dest, ch, count)   SetMem(dest,(UINTN)(count),(UINT8)(ch))
 
#define memchr(buf, ch, count)   ScanMem8(buf,(UINTN)(count),(UINT8)ch)
 
#define memcmp(buf1, buf2, count)   (int)(CompareMem(buf1,buf2,(UINTN)(count)))
 
#define memmove(dest, source, count)   CopyMem(dest,source,(UINTN)(count))
 
#define strlen(str)   (size_t)(AsciiStrnLenS(str,MAX_STRING_SIZE))
 
#define strcpy(strDest, strSource)   AsciiStrCpyS(strDest,(strlen(strSource)+1),strSource)
 
#define strncpy(strDest, strSource, count)   AsciiStrnCpyS(strDest,(UINTN)count,strSource,(UINTN)count)
 
#define strncpys(strDest, DestLen, strSource, count)   AsciiStrnCpyS(strDest,DestLen,strSource,(UINTN)count)
 
#define strcat(strDest, strSource)   AsciiStrCatS(strDest,(strlen(strSource)+strlen(strDest)+1),strSource)
 
#define strchr(str, ch)   ScanMem8((VOID *)(str),AsciiStrSize(str),(UINT8)ch)
 
#define strcasecmp(str1, str2)   (int)AsciiStriCmp(str1,str2)
 
#define strstr(s1, s2)   AsciiStrStr(s1,s2)
 
#define snprintf(buf, len,...)   RedfishAsciiSPrint(buf,len,__VA_ARGS__)
 
#define vsnprintf(buf, len, format, marker)   RedfishAsciiVSPrint((buf),(len),(format),(marker))
 
#define assert(expression)   ASSERT(expression)
 
#define offsetof(type, member)   OFFSET_OF(type,member)
 
#define EOF   (-1)
 
#define ERANGE   34 /* 34 Result too large */
 

Typedefs

typedef UINTN size_t
 
typedef INTN ssize_t
 
typedef INT32 time_t
 
typedef UINT8 __uint8_t
 
typedef UINT8 sa_family_t
 
typedef UINT32 uid_t
 
typedef UINT32 gid_t
 
typedef INT32 int32_t
 
typedef UINT32 uint32_t
 
typedef UINT16 uint16_t
 
typedef UINT8 uint8_t
 
typedef VOID * FILE
 

Enumerations

enum  bool { false, true }
 

Functions

UINTN EFIAPI RedfishAsciiSPrint (OUT CHAR8 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString,...)
 
UINTN EFIAPI RedfishAsciiVSPrint (OUT CHAR8 *StartOfBuffer, IN UINTN BufferSize, IN CONST CHAR8 *FormatString, IN VA_LIST Marker)
 
void * malloc (size_t)
 
void * realloc (void *, size_t)
 
void * calloc (size_t Num, size_t Size)
 
void free (void *)
 
void * memset (void *, int, size_t)
 
int memcmp (const void *, const void *, size_t)
 
int isdigit (int)
 
int isspace (int)
 
int tolower (int)
 
int isupper (int)
 
int isxdigit (int)
 
int isalnum (int)
 
void * memcpy (void *, const void *, size_t)
 
void * memchr (const void *, int, size_t)
 
void * memmove (void *, const void *, size_t)
 
int strcmp (const char *, const char *)
 
int strncmp (const char *, const char *, size_t)
 
char * strcpy (char *, const char *)
 
size_t strlen (const char *)
 
char * strcat (char *, const char *)
 
char * strchr (const char *, int)
 
int strcasecmp (const char *, const char *)
 
int strncasecmp (const char *, const char *, size_t)
 
char * strncpy (char *, size_t, const char *, size_t)
 
char * strrchr (const char *, int)
 
unsigned long strtoul (const char *, char **, int)
 
char * strstr (const char *s1, const char *s2)
 
long strtol (const char *, char **, int)
 
char * strerror (int)
 
size_t strspn (const char *, const char *)
 
char * strdup (const char *str)
 
char * strpbrk (const char *s1, const char *s2)
 
unsigned long long strtoull (const char *nptr, char **endptr, int base)
 
long long strtoll (const char *nptr, char **endptr, int base)
 
double strtod (const char *__restrict nptr, char **__restrict endptr)
 
size_t strcspn (const char *, const char *)
 
int printf (const char *,...)
 
int sscanf (const char *, const char *,...)
 
FILEfopen (const char *, const char *)
 
size_t fread (void *, size_t, size_t, FILE *)
 
size_t fwrite (const void *, size_t, size_t, FILE *)
 
int fclose (FILE *)
 
int fprintf (FILE *, const char *,...)
 
int fgetc (FILE *_File)
 
uid_t getuid (void)
 
uid_t geteuid (void)
 
gid_t getgid (void)
 
gid_t getegid (void)
 
void qsort (void *, size_t, size_t, int(*)(const void *, const void *))
 
char * getenv (const char *)
 
void abort (void)
 
int toupper (int)
 
int Digit2Val (int)
 
time_t time (time_t *)
 

Variables

int errno
 
FILEstderr
 

Detailed Description

Redfish CRT wrapper functions.

Copyright (c) 2019, Intel Corporation. All rights reserved.
(C) Copyright 2021 Hewlett Packard Enterprise Development LP

SPDX-License-Identifier: BSD-2-Clause-Patent

Macro Definition Documentation

#define assert (   expression)    ASSERT(expression)
#define CHAR_BIT   8 /* Number of bits in a char */
#define EOF   (-1)
#define ERANGE   34 /* 34 Result too large */
#define HUGE_VAL   0
#define INT_MAX   MAX_INT32 /* Maximum (signed) int value */
#define LLONG_MAX   MAX_INT64
#define LLONG_MIN   MIN_INT64
#define LONG_MAX   0X7FFFFFFFL /* max value for a long */
#define LONG_MIN   (-LONG_MAX-1) /* min value for a long */
#define MAX_STRING_SIZE   0x10000000
#define memchr (   buf,
  ch,
  count 
)    ScanMem8(buf,(UINTN)(count),(UINT8)ch)
#define memcmp (   buf1,
  buf2,
  count 
)    (int)(CompareMem(buf1,buf2,(UINTN)(count)))
#define memcpy (   dest,
  source,
  count 
)    CopyMem(dest,source,(UINTN)(count))
#define memmove (   dest,
  source,
  count 
)    CopyMem(dest,source,(UINTN)(count))
#define memset (   dest,
  ch,
  count 
)    SetMem(dest,(UINTN)(count),(UINT8)(ch))
#define offsetof (   type,
  member 
)    OFFSET_OF(type,member)
#define SIXTY_FOUR_BIT
#define snprintf (   buf,
  len,
  ... 
)    RedfishAsciiSPrint(buf,len,__VA_ARGS__)
#define strcasecmp (   str1,
  str2 
)    (int)AsciiStriCmp(str1,str2)
#define strcat (   strDest,
  strSource 
)    AsciiStrCatS(strDest,(strlen(strSource)+strlen(strDest)+1),strSource)
#define strchr (   str,
  ch 
)    ScanMem8((VOID *)(str),AsciiStrSize(str),(UINT8)ch)
#define strcmp   AsciiStrCmp
#define strcpy (   strDest,
  strSource 
)    AsciiStrCpyS(strDest,(strlen(strSource)+1),strSource)
#define strlen (   str)    (size_t)(AsciiStrnLenS(str,MAX_STRING_SIZE))
#define strncpy (   strDest,
  strSource,
  count 
)    AsciiStrnCpyS(strDest,(UINTN)count,strSource,(UINTN)count)
#define strncpys (   strDest,
  DestLen,
  strSource,
  count 
)    AsciiStrnCpyS(strDest,DestLen,strSource,(UINTN)count)
#define strstr (   s1,
  s2 
)    AsciiStrStr(s1,s2)
#define UCHAR_MAX   255
#define ULLONG_MAX   0xFFFFFFFFFFFFFFFFULL
#define ULONG_MAX   0xFFFFFFFF /* Maximum unsigned long value */
#define va_arg   VA_ARG
#define va_end   VA_END
#define va_list   VA_LIST
#define va_start   VA_START
#define vsnprintf (   buf,
  len,
  format,
  marker 
)    RedfishAsciiVSPrint((buf),(len),(format),(marker))

Typedef Documentation

typedef UINT8 __uint8_t
typedef VOID* FILE
typedef UINT32 gid_t
typedef INT32 int32_t
typedef UINT8 sa_family_t
typedef UINTN size_t
typedef INTN ssize_t
typedef INT32 time_t
typedef UINT32 uid_t
typedef UINT16 uint16_t
typedef UINT32 uint32_t
typedef UINT8 uint8_t

Enumeration Type Documentation

enum bool
Enumerator
false 
true 

Function Documentation

void abort ( void  )
void* calloc ( size_t  Num,
size_t  Size 
)
int Digit2Val ( int  )
int fclose ( FILE )
int fgetc ( FILE _File)
FILE* fopen ( const char *  ,
const char *   
)
int fprintf ( FILE ,
const char *  ,
  ... 
)
size_t fread ( void *  ,
size_t  ,
size_t  ,
FILE  
)
void free ( void *  )
size_t fwrite ( const void *  ,
size_t  ,
size_t  ,
FILE  
)
gid_t getegid ( void  )
char* getenv ( const char *  )
uid_t geteuid ( void  )
gid_t getgid ( void  )
uid_t getuid ( void  )
int isalnum ( int  )
int isdigit ( int  )
int isspace ( int  )
int isupper ( int  )
int isxdigit ( int  )
void* malloc ( size_t  )
void* memchr ( const void *  ,
int  ,
size_t   
)
int memcmp ( const void *  ,
const void *  ,
size_t   
)
void* memcpy ( void *  ,
const void *  ,
size_t   
)
void* memmove ( void *  ,
const void *  ,
size_t   
)
void * memset ( void *  ,
int  ,
size_t   
)
int printf ( const char *  ,
  ... 
)
void qsort ( void *  ,
size_t  ,
size_t  ,
int(*)(const void *, const void *)   
)
void* realloc ( void *  ,
size_t   
)
UINTN EFIAPI RedfishAsciiSPrint ( OUT CHAR8 *  StartOfBuffer,
IN UINTN  BufferSize,
IN CONST CHAR8 *  FormatString,
  ... 
)

This is the Redfish version of CRT snprintf function, this function replaces "%s" to "%a" before invoking AsciiSPrint(). That is becasue "%s" is unicode base on edk2 environment however "%s" is ascii code base on snprintf(). See definitions of AsciiSPrint() for the details.

Parameters
StartOfBufferA pointer to the output buffer for the produced Null-terminated ASCII string.
BufferSizeThe size, in bytes, of the output buffer specified by StartOfBuffer.
FormatStringA Null-terminated ASCII format string.
...Variable argument list whose contents are accessed based on the format string specified by FormatString.
Returns
The number of ASCII characters in the produced output buffer not including the Null-terminator. Zero means no string is produced or the error happens.
UINTN EFIAPI RedfishAsciiVSPrint ( OUT CHAR8 *  StartOfBuffer,
IN UINTN  BufferSize,
IN CONST CHAR8 *  FormatString,
IN VA_LIST  Marker 
)

This is the Redfish version of CRT vsnprintf function, this function replaces "%s" to "%a" before invoking AsciiVSPrint(). That is because "%s" is unicode base on edk2 environment however "%s" is ascii code base on vsnprintf(). See definitions of AsciiVSPrint() for the details.

Parameters
StartOfBufferA pointer to the output buffer for the produced Null-terminated ASCII string.
BufferSizeThe size, in bytes, of the output buffer specified by StartOfBuffer.
FormatStringA Null-terminated ASCII format string.
MarkerVA_LIST marker for the variable argument list.
Returns
The number of ASCII characters in the produced output buffer not including the Null-terminator.
int sscanf ( const char *  ,
const char *  ,
  ... 
)
int strcasecmp ( const char *  ,
const char *   
)
char* strcat ( char *  ,
const char *   
)
char* strchr ( const char *  ,
int   
)
int strcmp ( const char *  ,
const char *   
)
char* strcpy ( char *  ,
const char *   
)
size_t strcspn ( const char *  ,
const char *   
)
char* strdup ( const char *  str)
char* strerror ( int  )
size_t strlen ( const char *  )
int strncasecmp ( const char *  ,
const char *  ,
size_t   
)
int strncmp ( const char *  ,
const char *  ,
size_t   
)
char* strncpy ( char *  ,
size_t  ,
const char *  ,
size_t   
)
char* strpbrk ( const char *  s1,
const char *  s2 
)
char* strrchr ( const char *  ,
int   
)
size_t strspn ( const char *  ,
const char *   
)
char* strstr ( const char *  s1,
const char *  s2 
)
double strtod ( const char *__restrict  nptr,
char **__restrict  endptr 
)
long strtol ( const char *  ,
char **  ,
int   
)
long long strtoll ( const char *  nptr,
char **  endptr,
int  base 
)
unsigned long strtoul ( const char *  ,
char **  ,
int   
)
unsigned long long strtoull ( const char *  nptr,
char **  endptr,
int  base 
)
time_t time ( time_t )
int tolower ( int  )
int toupper ( int  )

Variable Documentation

int errno
FILE* stderr