11.3Soster/* $NetBSD: strtoul.c,v 1.3 2008/08/20 19:58:34 oster Exp $ */ 21.1Schristos 31.2Sjoerg/*- 41.2Sjoerg * Copyright (c) 2005 The DragonFly Project. All rights reserved. 51.2Sjoerg * Copyright (c) 2003 Citrus Project, 61.2Sjoerg * All rights reserved. 71.1Schristos * 81.1Schristos * Redistribution and use in source and binary forms, with or without 91.1Schristos * modification, are permitted provided that the following conditions 101.1Schristos * are met: 111.1Schristos * 1. Redistributions of source code must retain the above copyright 121.1Schristos * notice, this list of conditions and the following disclaimer. 131.1Schristos * 2. Redistributions in binary form must reproduce the above copyright 141.1Schristos * notice, this list of conditions and the following disclaimer in the 151.1Schristos * documentation and/or other materials provided with the distribution. 161.1Schristos * 171.2Sjoerg * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 181.1Schristos * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 191.1Schristos * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 201.2Sjoerg * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 211.1Schristos * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 221.1Schristos * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 231.1Schristos * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 241.1Schristos * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 251.1Schristos * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 261.1Schristos * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 271.1Schristos * SUCH DAMAGE. 281.1Schristos */ 291.1Schristos 301.1Schristos#include <sys/cdefs.h> 311.3Soster__RCSID("$NetBSD: strtoul.c,v 1.3 2008/08/20 19:58:34 oster Exp $"); 321.1Schristos 331.3Soster#if defined(_KERNEL) 341.3Soster#include <sys/param.h> 351.3Soster#include <lib/libkern/libkern.h> 361.3Soster#elif defined(_STANDALONE) 371.3Soster#include <sys/param.h> 381.3Soster#include <lib/libkern/libkern.h> 391.3Soster#include <lib/libsa/stand.h> 401.3Soster#else 411.1Schristos#include <assert.h> 421.1Schristos#include <ctype.h> 431.1Schristos#include <errno.h> 441.1Schristos#include <limits.h> 451.2Sjoerg#include <stdint.h> 461.1Schristos#include <stdlib.h> 471.1Schristos#endif 481.1Schristos 491.2Sjoerg#define _FUNCNAME strtoul 501.2Sjoerg#define __UINT unsigned long int 511.2Sjoerg#define __UINT_MAX ULONG_MAX 521.1Schristos 531.2Sjoerg#include "_strtoul.h" 54