The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/ncsw/inc/stdlib_ext.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*
    2  * Copyright 2008-2012 Freescale Semiconductor Inc.
    3  *
    4  * Redistribution and use in source and binary forms, with or without
    5  * modification, are permitted provided that the following conditions are met:
    6  *     * Redistributions of source code must retain the above copyright
    7  *       notice, this list of conditions and the following disclaimer.
    8  *     * Redistributions in binary form must reproduce the above copyright
    9  *       notice, this list of conditions and the following disclaimer in the
   10  *       documentation and/or other materials provided with the distribution.
   11  *     * Neither the name of Freescale Semiconductor nor the
   12  *       names of its contributors may be used to endorse or promote products
   13  *       derived from this software without specific prior written permission.
   14  *
   15  *
   16  * ALTERNATIVELY, this software may be distributed under the terms of the
   17  * GNU General Public License ("GPL") as published by the Free Software
   18  * Foundation, either version 2 of that License or (at your option) any
   19  * later version.
   20  *
   21  * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
   22  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
   23  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   24  * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
   25  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
   26  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
   27  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   28  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   30  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   31  */
   32 
   33 
   34 #ifndef __STDLIB_EXT_H
   35 #define __STDLIB_EXT_H
   36 
   37 
   38 #if (defined(NCSW_LINUX)) && defined(__KERNEL__)
   39 #include "stdarg_ext.h"
   40 #include "std_ext.h"
   41 
   42 
   43 /**
   44  * strtoul - convert a string to an uint32_t
   45  * @cp: The start of the string
   46  * @endp: A pointer to the end of the parsed string will be placed here
   47  * @base: The number base to use
   48  */
   49 uint32_t strtoul(const char *cp,char **endp,uint32_t base);
   50 
   51 /**
   52  * strtol - convert a string to a int32_t
   53  * @cp: The start of the string
   54  * @endp: A pointer to the end of the parsed string will be placed here
   55  * @base: The number base to use
   56  */
   57 long strtol(const char *cp,char **endp,uint32_t base);
   58 
   59 /**
   60  * strtoull - convert a string to an uint64_t
   61  * @cp: The start of the string
   62  * @endp: A pointer to the end of the parsed string will be placed here
   63  * @base: The number base to use
   64  */
   65 uint64_t strtoull(const char *cp,char **endp,uint32_t base);
   66 
   67 /**
   68  * strtoll - convert a string to a int64 long
   69  * @cp: The start of the string
   70  * @endp: A pointer to the end of the parsed string will be placed here
   71  * @base: The number base to use
   72  */
   73 long long strtoll(const char *cp,char **endp,uint32_t base);
   74 
   75 /**
   76  * atoi - convert a character to a int
   77  * @s: The start of the string
   78  */
   79 int atoi(const char *s);
   80 
   81 /**
   82  * strnlen - Find the length of a length-limited string
   83  * @s: The string to be sized
   84  * @count: The maximum number of bytes to search
   85  */
   86 size_t strnlen(const char * s, size_t count);
   87 
   88 /**
   89  * strlen - Find the length of a string
   90  * @s: The string to be sized
   91  */
   92 size_t strlen(const char * s);
   93 
   94 /**
   95  * strtok - Split a string into tokens
   96  * @s: The string to be searched
   97  * @ct: The characters to search for
   98  *
   99  * WARNING: strtok is deprecated, use strsep instead.
  100  */
  101 char * strtok(char * s,const char * ct);
  102 
  103 /**
  104  * strncpy - Copy a length-limited, %NUL-terminated string
  105  * @dest: Where to copy the string to
  106  * @src: Where to copy the string from
  107  * @count: The maximum number of bytes to copy
  108  *
  109  * Note that unlike userspace strncpy, this does not %NUL-pad the buffer.
  110  * However, the result is not %NUL-terminated if the source exceeds
  111  * @count bytes.
  112  */
  113 char * strncpy(char * dest,const char *src,size_t count);
  114 
  115 /**
  116  * strcpy - Copy a %NUL terminated string
  117  * @dest: Where to copy the string to
  118  * @src: Where to copy the string from
  119  */
  120 char * strcpy(char * dest,const char *src);
  121 
  122 /**
  123  * vsscanf - Unformat a buffer into a list of arguments
  124  * @buf:    input buffer
  125  * @fmt:    format of buffer
  126  * @args:    arguments
  127  */
  128 int vsscanf(const char * buf, const char * fmt, va_list args);
  129 
  130 /**
  131  * vsnprintf - Format a string and place it in a buffer
  132  * @buf: The buffer to place the result into
  133  * @size: The size of the buffer, including the trailing null space
  134  * @fmt: The format string to use
  135  * @args: Arguments for the format string
  136  *
  137  * Call this function if you are already dealing with a va_list.
  138  * You probably want snprintf instead.
  139  */
  140 int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
  141 
  142 /**
  143  * vsprintf - Format a string and place it in a buffer
  144  * @buf: The buffer to place the result into
  145  * @fmt: The format string to use
  146  * @args: Arguments for the format string
  147  *
  148  * Call this function if you are already dealing with a va_list.
  149  * You probably want sprintf instead.
  150  */
  151 int vsprintf(char *buf, const char *fmt, va_list args);
  152 
  153 #elif defined(NCSW_FREEBSD)
  154 #include <sys/param.h>
  155 #include <sys/kernel.h>
  156 #include <sys/libkern.h>
  157 
  158 #else
  159 #include <stdlib.h>
  160 #include <stdio.h>
  161 #endif /* defined(NCSW_LINUX) && defined(__KERNEL__) */
  162 
  163 #include "std_ext.h"
  164 
  165 
  166 #endif /* __STDLIB_EXT_H */

Cache object: b039635348408083d3a5f0409ad49161


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.