mirror of https://github.com/ipxe/ipxe.git
[libc] Relicense x86 string.h
No code from the original source remains within this file; relicense under GPL2+ with a new copyright notice. Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/598/head
parent
53f3deee06
commit
603455bb06
|
@ -1,27 +1,32 @@
|
||||||
#ifndef ETHERBOOT_BITS_STRING_H
|
#ifndef X86_BITS_STRING_H
|
||||||
#define ETHERBOOT_BITS_STRING_H
|
#define X86_BITS_STRING_H
|
||||||
/*
|
|
||||||
* Taken from Linux /usr/include/asm/string.h
|
|
||||||
* All except memcpy, memmove, memset and memcmp removed.
|
|
||||||
*
|
|
||||||
* Non-standard memswap() function added because it saves quite a bit
|
|
||||||
* of code (mbrown@fensystems.co.uk).
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This string-include defines all string functions as inline
|
* Copyright (C) 2007 Michael Brown <mbrown@fensystems.co.uk>.
|
||||||
* functions. Use gcc. It also assumes ds=es=data space, this should be
|
|
||||||
* normal. Most of the string-functions are rather heavily hand-optimized,
|
|
||||||
* see especially strtok,strstr,str[c]spn. They should work, but are not
|
|
||||||
* very easy to understand. Everything is done entirely within the register
|
|
||||||
* set, making the functions fast and clean. String instructions have been
|
|
||||||
* used through-out, making for "slightly" unclear code :-)
|
|
||||||
*
|
*
|
||||||
* NO Copyright (C) 1991, 1992 Linus Torvalds,
|
* This program is free software; you can redistribute it and/or
|
||||||
* consider these trivial functions to be PD.
|
* modify it under the terms of the GNU General Public License as
|
||||||
|
* published by the Free Software Foundation; either version 2 of the
|
||||||
|
* License, or any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful, but
|
||||||
|
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
* General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||||
|
* 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
FILE_LICENCE ( PUBLIC_DOMAIN );
|
FILE_LICENCE ( GPL2_OR_LATER );
|
||||||
|
|
||||||
|
/** @file
|
||||||
|
*
|
||||||
|
* Optimised string operations
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
#define __HAVE_ARCH_MEMCPY
|
#define __HAVE_ARCH_MEMCPY
|
||||||
|
|
||||||
|
@ -224,4 +229,4 @@ extern int strncmp ( const char *str1, const char *str2, size_t len );
|
||||||
|
|
||||||
extern size_t strlen ( const char *string );
|
extern size_t strlen ( const char *string );
|
||||||
|
|
||||||
#endif /* ETHERBOOT_BITS_STRING_H */
|
#endif /* X86_BITS_STRING_H */
|
||||||
|
|
Loading…
Reference in New Issue