mirror of https://github.com/acidanthera/audk.git
StdLib: Change the last argument of the ioctl helper functions to va_list* from void*.
Functions which call these helper functions always pass the last parameter as a va_list argument. Add a conditional block around a MSFT-only pragma so that stringlist.c will compile with GCC. Comment-out the Socket Library components within StdLib.dsc. These components are still in development. Signed-off-by: darylm503 Reviewed by: geekboy15A git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12369 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
c614ca505d
commit
76beedc09c
|
@ -26,6 +26,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <sys/fcntl.h>
|
#include <sys/fcntl.h>
|
||||||
#include <kfile.h>
|
#include <kfile.h>
|
||||||
#include <Device/Device.h>
|
#include <Device/Device.h>
|
||||||
|
@ -377,7 +378,7 @@ EFIAPI
|
||||||
da_ConIoctl(
|
da_ConIoctl(
|
||||||
struct __filedes *filp,
|
struct __filedes *filp,
|
||||||
ULONGN cmd,
|
ULONGN cmd,
|
||||||
void *argp
|
va_list argp
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <wctype.h>
|
#include <wctype.h>
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
#include <sys/fcntl.h>
|
#include <sys/fcntl.h>
|
||||||
|
@ -319,7 +320,7 @@ EFIAPI
|
||||||
da_ShellIoctl(
|
da_ShellIoctl(
|
||||||
struct __filedes *filp,
|
struct __filedes *filp,
|
||||||
ULONGN cmd,
|
ULONGN cmd,
|
||||||
void *argp ///< May be a pointer or a value
|
va_list argp
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
return -EPERM;
|
return -EPERM;
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include <LibConfig.h>
|
#include <LibConfig.h>
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <sys/poll.h>
|
#include <sys/poll.h>
|
||||||
#include <kfile.h>
|
#include <kfile.h>
|
||||||
#include <Device/Device.h>
|
#include <Device/Device.h>
|
||||||
|
@ -45,7 +46,7 @@ int EFIAPI fnullop_flush (struct __filedes *filp)
|
||||||
int EFIAPI fbadop_stat (struct __filedes *filp, struct stat *StatBuf, void *Buf)
|
int EFIAPI fbadop_stat (struct __filedes *filp, struct stat *StatBuf, void *Buf)
|
||||||
{ return -EPERM; }
|
{ return -EPERM; }
|
||||||
|
|
||||||
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, void *argp)
|
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, va_list argp)
|
||||||
{ return -EPERM; }
|
{ return -EPERM; }
|
||||||
|
|
||||||
int EFIAPI fbadop_delete (struct __filedes *filp)
|
int EFIAPI fbadop_delete (struct __filedes *filp)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $NetBSD: stringlist.c,v 1.13 2008/04/28 20:22:59 martin Exp $
|
/* $NetBSD: stringlist.c,v 1.13 2008/04/28 20:22:59 martin Exp $
|
||||||
|
|
||||||
* Copyright (c) 1994, 1999 The NetBSD Foundation, Inc.
|
* Copyright (c) 1994, 1999 The NetBSD Foundation, Inc.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
@ -27,8 +27,9 @@
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
* POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
#if defined(_MSC_VER) /* Handle Microsoft VC++ compiler specifics. */
|
||||||
#pragma warning ( disable : 4018 )
|
#pragma warning ( disable : 4018 )
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <sys/cdefs.h>
|
#include <sys/cdefs.h>
|
||||||
#if defined(LIBC_SCCS) && !defined(lint)
|
#if defined(LIBC_SCCS) && !defined(lint)
|
||||||
|
@ -49,7 +50,7 @@ __weak_alias(sl_init,_sl_init)
|
||||||
__weak_alias(sl_delete,_sl_delete)
|
__weak_alias(sl_delete,_sl_delete)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define _SL_CHUNKSIZE 20
|
#define _SL_CHUNKSIZE 20
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* sl_init(): Initialize a string list
|
* sl_init(): Initialize a string list
|
||||||
|
@ -57,20 +58,20 @@ __weak_alias(sl_delete,_sl_delete)
|
||||||
StringList *
|
StringList *
|
||||||
sl_init(void)
|
sl_init(void)
|
||||||
{
|
{
|
||||||
StringList *sl;
|
StringList *sl;
|
||||||
|
|
||||||
sl = malloc(sizeof(StringList));
|
sl = malloc(sizeof(StringList));
|
||||||
if (sl == NULL)
|
if (sl == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
sl->sl_cur = 0;
|
sl->sl_cur = 0;
|
||||||
sl->sl_max = _SL_CHUNKSIZE;
|
sl->sl_max = _SL_CHUNKSIZE;
|
||||||
sl->sl_str = malloc(sl->sl_max * sizeof(char *));
|
sl->sl_str = malloc(sl->sl_max * sizeof(char *));
|
||||||
if (sl->sl_str == NULL) {
|
if (sl->sl_str == NULL) {
|
||||||
free(sl);
|
free(sl);
|
||||||
sl = NULL;
|
sl = NULL;
|
||||||
}
|
}
|
||||||
return sl;
|
return sl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -81,20 +82,20 @@ int
|
||||||
sl_add(StringList *sl, char *name)
|
sl_add(StringList *sl, char *name)
|
||||||
{
|
{
|
||||||
|
|
||||||
_DIAGASSERT(sl != NULL);
|
_DIAGASSERT(sl != NULL);
|
||||||
|
|
||||||
if (sl->sl_cur == sl->sl_max - 1) {
|
if (sl->sl_cur == sl->sl_max - 1) {
|
||||||
char **new;
|
char **new;
|
||||||
|
|
||||||
new = realloc(sl->sl_str,
|
new = realloc(sl->sl_str,
|
||||||
(sl->sl_max + _SL_CHUNKSIZE) * sizeof(char *));
|
(sl->sl_max + _SL_CHUNKSIZE) * sizeof(char *));
|
||||||
if (new == NULL)
|
if (new == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
sl->sl_max += _SL_CHUNKSIZE;
|
sl->sl_max += _SL_CHUNKSIZE;
|
||||||
sl->sl_str = new;
|
sl->sl_str = new;
|
||||||
}
|
}
|
||||||
sl->sl_str[sl->sl_cur++] = name;
|
sl->sl_str[sl->sl_cur++] = name;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -104,17 +105,17 @@ sl_add(StringList *sl, char *name)
|
||||||
void
|
void
|
||||||
sl_free(StringList *sl, int all)
|
sl_free(StringList *sl, int all)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
if (sl == NULL)
|
if (sl == NULL)
|
||||||
return;
|
return;
|
||||||
if (sl->sl_str) {
|
if (sl->sl_str) {
|
||||||
if (all)
|
if (all)
|
||||||
for (i = 0; i < sl->sl_cur; i++)
|
for (i = 0; i < sl->sl_cur; i++)
|
||||||
free(sl->sl_str[i]);
|
free(sl->sl_str[i]);
|
||||||
free(sl->sl_str);
|
free(sl->sl_str);
|
||||||
}
|
}
|
||||||
free(sl);
|
free(sl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -124,31 +125,31 @@ sl_free(StringList *sl, int all)
|
||||||
char *
|
char *
|
||||||
sl_find(StringList *sl, const char *name)
|
sl_find(StringList *sl, const char *name)
|
||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
_DIAGASSERT(sl != NULL);
|
_DIAGASSERT(sl != NULL);
|
||||||
|
|
||||||
for (i = 0; i < sl->sl_cur; i++)
|
for (i = 0; i < sl->sl_cur; i++)
|
||||||
if (strcmp(sl->sl_str[i], name) == 0)
|
if (strcmp(sl->sl_str[i], name) == 0)
|
||||||
return sl->sl_str[i];
|
return sl->sl_str[i];
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
sl_delete(StringList *sl, const char *name, int all)
|
sl_delete(StringList *sl, const char *name, int all)
|
||||||
{
|
{
|
||||||
size_t i, j;
|
size_t i, j;
|
||||||
|
|
||||||
for (i = 0; i < sl->sl_cur; i++)
|
for (i = 0; i < sl->sl_cur; i++)
|
||||||
if (strcmp(sl->sl_str[i], name) == 0) {
|
if (strcmp(sl->sl_str[i], name) == 0) {
|
||||||
if (all)
|
if (all)
|
||||||
free(sl->sl_str[i]);
|
free(sl->sl_str[i]);
|
||||||
for (j = i + 1; j < sl->sl_cur; j++)
|
for (j = i + 1; j < sl->sl_cur; j++)
|
||||||
sl->sl_str[j - 1] = sl->sl_str[j];
|
sl->sl_str[j - 1] = sl->sl_str[j];
|
||||||
sl->sl_str[--sl->sl_cur] = NULL;
|
sl->sl_str[--sl->sl_cur] = NULL;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -120,9 +120,9 @@
|
||||||
StdLib/PosixLib/Stringlist/LibStringlist.inf
|
StdLib/PosixLib/Stringlist/LibStringlist.inf
|
||||||
|
|
||||||
# Socket Libraries - LibC based
|
# Socket Libraries - LibC based
|
||||||
StdLib/BsdSocketLib/BsdSocketLib.inf
|
# StdLib/BsdSocketLib/BsdSocketLib.inf
|
||||||
StdLib/EfiSocketLib/EfiSocketLib.inf
|
# StdLib/EfiSocketLib/EfiSocketLib.inf
|
||||||
StdLib/UseSocketDxe/UseSocketDxe.inf
|
# StdLib/UseSocketDxe/UseSocketDxe.inf
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
#include <Protocol/SimpleFileSystem.h>
|
#include <Protocol/SimpleFileSystem.h>
|
||||||
|
|
||||||
#include <wchar.h>
|
#include <wchar.h>
|
||||||
|
#include <stdarg.h>
|
||||||
#include <sys/fcntl.h>
|
#include <sys/fcntl.h>
|
||||||
#include <sys/unistd.h>
|
#include <sys/unistd.h>
|
||||||
|
|
||||||
|
@ -104,7 +105,7 @@ struct fileops {
|
||||||
|
|
||||||
/* Call the fbadop_* version of these functions if not implemented by the device. */
|
/* Call the fbadop_* version of these functions if not implemented by the device. */
|
||||||
int (EFIAPI *fo_stat) (struct __filedes *filp, struct stat *StatBuf, void *Buf);
|
int (EFIAPI *fo_stat) (struct __filedes *filp, struct stat *StatBuf, void *Buf);
|
||||||
int (EFIAPI *fo_ioctl) (struct __filedes *filp, ULONGN Cmd, void *argp);
|
int (EFIAPI *fo_ioctl) (struct __filedes *filp, ULONGN Cmd, va_list argp);
|
||||||
int (EFIAPI *fo_delete) (struct __filedes *filp);
|
int (EFIAPI *fo_delete) (struct __filedes *filp);
|
||||||
int (EFIAPI *fo_rmdir) (struct __filedes *filp);
|
int (EFIAPI *fo_rmdir) (struct __filedes *filp);
|
||||||
int (EFIAPI *fo_mkdir) (const char *path, __mode_t perms);
|
int (EFIAPI *fo_mkdir) (const char *path, __mode_t perms);
|
||||||
|
@ -159,7 +160,7 @@ short EFIAPI fnullop_poll (struct __filedes *filp, short Events);
|
||||||
int EFIAPI fnullop_flush (struct __filedes *filp);
|
int EFIAPI fnullop_flush (struct __filedes *filp);
|
||||||
|
|
||||||
int EFIAPI fbadop_stat (struct __filedes *filp, struct stat *StatBuf, void *Buf);
|
int EFIAPI fbadop_stat (struct __filedes *filp, struct stat *StatBuf, void *Buf);
|
||||||
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, void *argp);
|
int EFIAPI fbadop_ioctl (struct __filedes *filp, ULONGN Cmd, va_list argp);
|
||||||
int EFIAPI fbadop_delete (struct __filedes *filp);
|
int EFIAPI fbadop_delete (struct __filedes *filp);
|
||||||
int EFIAPI fbadop_rmdir (struct __filedes *filp);
|
int EFIAPI fbadop_rmdir (struct __filedes *filp);
|
||||||
int EFIAPI fbadop_mkdir (const char *path, __mode_t perms);
|
int EFIAPI fbadop_mkdir (const char *path, __mode_t perms);
|
||||||
|
|
Loading…
Reference in New Issue