StdLib, StdLibPrivateInternalFiles: Clean up comments, Remove debugging code, Define MAX_OUTPUT, the Maximum number of bytes in a single terminal output operation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com>
Reviewed-by: Jaben Carsey <jcarsey@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13735 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
darylm503 2012-09-20 21:01:21 +00:00
parent 2ca8548911
commit a9c12422ff
5 changed files with 47 additions and 40 deletions

View File

@ -1,6 +1,6 @@
/** @file
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made
available under the terms and conditions of the BSD License that
accompanies this distribution. The full text of the license may be found at
@ -90,16 +90,18 @@ struct stat {
/* The Octal access modes, above, fall into the Hex mask 0x00000FFF.
Traditionally, the remainder of the flags are specified in Octal
but they are expressed in Hex here for modern clarity.
The basic file types, specified within 0x0000F000, are mutually exclusive.
*/
#define _S_IFMT 0x000FF000 ///< type-of-file mask
#define _S_IFIFO 0x00001000 ///< named pipe (fifo)
#define _S_IFCHR 0x00002000 ///< character special
#define _S_IFCHR 0x00002000 ///< character special device
#define _S_IFDIR 0x00004000 ///< directory
#define _S_IFBLK 0x00006000 ///< block special
#define _S_IFBLK 0x00006000 ///< block special device
#define _S_IFREG 0x00008000 ///< regular
#define _S_IFSOCK 0x0000C000 ///< socket
#define _S_ITTY 0x00010000 ///< File connects to a TTY device
#define _S_IWTTY 0x00020000 ///< TTY receives Wide characters
#define _S_IWTTY 0x00020000 ///< TTY sends and receives Wide characters
#define _S_ICONSOLE 0x00030000 ///< UEFI Console Device
/* UEFI specific (FAT file system) File attributes.

View File

@ -1,7 +1,7 @@
/** @file
Platform specific values for <limits.h>.
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
@ -50,6 +50,7 @@
#define ARGC_MAX (64) ///< Maximum value for argc.
#define MAX_INPUT 255 ///< Maximum bytes in terminal input.
#define MAX_OUTPUT 255 ///< Maximum bytes in terminal output.
#define NAME_MAX 255 ///< Maximum bytes in a file name.
#ifndef OPEN_MAX
#define OPEN_MAX 20 ///< Maximum open files per process.

View File

@ -150,7 +150,7 @@
- WEOF might not be negative.
- mbstate_t objects are not intended to be inspected by programs.
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
@ -913,7 +913,7 @@ wint_t fgetwc(FILE *Stream);
@param[out] S A pointer to the array to receive the input string.
@param[in] Limit The maximum number of characters to put into Buff,
including the terminating null character.
@param[in] Stream An input stream from which to obtain a character.
@param[in] Stream An input stream from which to obtain the string.
@return The fgetws function returns S if successful. If end-of-file is
encountered and no characters have been read into the array, the
@ -1420,7 +1420,7 @@ int mbsinit(const mbstate_t *ps);
**/
size_t mbrlen(const char * __restrict S, size_t n, mbstate_t * __restrict ps);
/**
/** Restartable Multibyte to Wide character conversion.
If S is a null pointer, the mbrtowc function is equivalent to the call:<BR>
@verbatim
mbrtowc(NULL, "", 1, ps)
@ -1476,7 +1476,7 @@ to restore the initial shift state; the resulting state described is the initial
**/
size_t wcrtomb(char * __restrict S, wchar_t wc, mbstate_t * __restrict ps);
/**
/** Convert a sequence of multibyte characters into a sequence of wide characters.
The mbsrtowcs function converts a sequence of multibyte characters that begins in the
conversion state described by the object pointed to by ps, from the array indirectly
pointed to by src into a sequence of corresponding wide characters. If dst is not a null
@ -1493,6 +1493,11 @@ just past the last multibyte character converted (if any). If conversion stopped
reaching a terminating null character and if dst is not a null pointer, the resulting state
described is the initial conversion state.
@param[in] dst Destination for the Wide character sequence.
@param[in] src Pointer to Pointer to MBCS char. sequence to convert.
@param[in] len Length of dest, in WIDE characters.
@param[in] ps Pointer to the conversion state object to be used for this conversion.
@return If the input conversion encounters a sequence of bytes that do
not form a valid multibyte character, an encoding error occurs:
the mbsrtowcs function stores the value of the macro EILSEQ in
@ -1523,6 +1528,11 @@ size_t mbsrtowcs(wchar_t * __restrict dst, const char ** __restrict src, size_t
terminating null wide character, the resulting state described is the
initial conversion state.
@param[in] dst Destination for the MBCS sequence.
@param[in] src Pointer to Pointer to wide char. sequence to convert.
@param[in] len Length of dest, in bytes.
@param[in] ps Pointer to the conversion state object to be used for this conversion.
@return If conversion stops because a wide character is reached that
does not correspond to a valid multibyte character, an
encoding error occurs: the wcsrtombs function stores the

View File

@ -1,5 +1,5 @@
/*
Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License that accompanies this
distribution. The full text of the license may be found at
@ -41,9 +41,6 @@
NetBSD: refill.c,v 1.13 2003/08/07 16:43:30 agc Exp
refill.c 8.1 (Berkeley) 6/4/93
*/
#include <Uefi.h> // REMOVE, For DEBUG only
#include <Library/UefiLib.h> // REMOVE, For DEBUG only
#include <LibConfig.h>
#include <sys/EfiCdefs.h>
@ -93,28 +90,23 @@ __srefill(FILE *fp)
if (!__sdidinit)
__sinit();
//Print(L"%a( %d)\n", __func__, fp->_file);
fp->_r = 0; /* largely a convenience for callers */
/* SysV does not make this test; take it out for compatibility */
if (fp->_flags & __SEOF) {
//Print(L"%a: %d\n", __func__, __LINE__);
return (EOF);
}
/* if not already reading, have to be reading and writing */
if ((fp->_flags & __SRD) == 0) {
//Print(L"%a: %d\n", __func__, __LINE__);
if ((fp->_flags & __SRW) == 0) {
errno = EBADF;
fp->_flags |= __SERR; //<dvm> Allows differentiation between errors and EOF
//Print(L"%a: %d\n", __func__, __LINE__);
return (EOF);
}
/* switch to reading */
if (fp->_flags & __SWR) {
if (__sflush(fp)) {
//Print(L"%a: %d\n", __func__, __LINE__);
return (EOF);
}
fp->_flags &= ~__SWR;
@ -123,7 +115,6 @@ __srefill(FILE *fp)
}
fp->_flags |= __SRD;
} else {
//Print(L"%a: %d\n", __func__, __LINE__);
/*
* We were reading. If there is an ungetc buffer,
* we must have been reading from that. Drop it,
@ -134,7 +125,6 @@ __srefill(FILE *fp)
FREEUB(fp);
if ((fp->_r = fp->_ur) != 0) {
fp->_p = fp->_up;
//Print(L"%a: %d\n", __func__, __LINE__);
return (0);
}
}
@ -143,7 +133,6 @@ __srefill(FILE *fp)
if (fp->_bf._base == NULL)
__smakebuf(fp);
//Print(L"%a: %d\n", __func__, __LINE__);
/*
* Before reading from a line buffered or unbuffered file,
* flush all line buffered output files, per the ANSI C
@ -153,7 +142,6 @@ __srefill(FILE *fp)
rwlock_rdlock(&__sfp_lock);
(void) _fwalk(lflush);
rwlock_unlock(&__sfp_lock);
//Print(L"%a: %d\n", __func__, __LINE__);
}
fp->_p = fp->_bf._base;
fp->_r = (*fp->_read)(fp->_cookie, (char *)fp->_p, fp->_bf._size);
@ -165,9 +153,7 @@ __srefill(FILE *fp)
fp->_r = 0;
fp->_flags |= __SERR;
}
//Print(L"%a: %d\n", __func__, __LINE__);
return (EOF);
}
//Print(L"%a: %d\n", __func__, __LINE__);
return (0);
}

View File

@ -1,7 +1,7 @@
/** @file
The EFI kernel's interpretation of a "file".
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available
under the terms and conditions of the BSD License which accompanies this
distribution. The full text of the license may be found at
@ -82,8 +82,16 @@ struct _Device_Node;
struct __filedes {
off_t f_offset; /* current position in file */
const struct fileops *f_ops;
/* The devdata member has different meanings depending upon whether
a block oriented or character oriented device is being accessed.
For block devices, devdata holds an EFI handle to the open file or directory.
For character devices, devdata points to the device's IIO structure,
if it has one. It may be NULL indicating a non-interactive character
device.
*/
void *devdata; /* Device-specific data */
int Oflags; // From the open call
int Oflags; // From the open call, see fcntl.h
int Omode; // From the open call
int RefCount; // Reference count of opens
UINT32 f_flag; /* see fcntl.h */