1*4e4f3181Sskrll /* $NetBSD: optstr.h,v 1.4 2023/04/20 09:04:45 skrll Exp $ */ 247d8ee41Sjmmv 347d8ee41Sjmmv /*- 447d8ee41Sjmmv * Copyright (c) 2006 The NetBSD Foundation, Inc. 547d8ee41Sjmmv * All rights reserved. 647d8ee41Sjmmv * 747d8ee41Sjmmv * This code is derived from software contributed to The NetBSD Foundation 847d8ee41Sjmmv * by Julio M. Merino Vidal. 947d8ee41Sjmmv * 1047d8ee41Sjmmv * Redistribution and use in source and binary forms, with or without 1147d8ee41Sjmmv * modification, are permitted provided that the following conditions 1247d8ee41Sjmmv * are met: 1347d8ee41Sjmmv * 1. Redistributions of source code must retain the above copyright 1447d8ee41Sjmmv * notice, this list of conditions and the following disclaimer. 1547d8ee41Sjmmv * 2. Redistributions in binary form must reproduce the above copyright 1647d8ee41Sjmmv * notice, this list of conditions and the following disclaimer in the 1747d8ee41Sjmmv * documentation and/or other materials provided with the distribution. 1847d8ee41Sjmmv * 1947d8ee41Sjmmv * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 2047d8ee41Sjmmv * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2147d8ee41Sjmmv * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 2247d8ee41Sjmmv * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 2347d8ee41Sjmmv * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2447d8ee41Sjmmv * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2547d8ee41Sjmmv * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2647d8ee41Sjmmv * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2747d8ee41Sjmmv * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2847d8ee41Sjmmv * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2947d8ee41Sjmmv * POSSIBILITY OF SUCH DAMAGE. 3047d8ee41Sjmmv */ 3147d8ee41Sjmmv 32*4e4f3181Sskrll #ifndef _SYS_OPTSTR_H_ 3347d8ee41Sjmmv #define _SYS_OPTSTR_H_ 3447d8ee41Sjmmv 35*4e4f3181Sskrll #include "ether.h" 36*4e4f3181Sskrll 37*4e4f3181Sskrll #include <sys/types.h> 38*4e4f3181Sskrll 39*4e4f3181Sskrll #if NETHER > 0 40*4e4f3181Sskrll #include <net/if_ether.h> 41*4e4f3181Sskrll #endif 42*4e4f3181Sskrll 4347d8ee41Sjmmv /* 4447d8ee41Sjmmv * Prototypes for functions defined in sys/kern/subr_optstr.c. 4547d8ee41Sjmmv */ 46712239e3Sthorpej bool optstr_get(const char *, const char *, char *, size_t); 4747d8ee41Sjmmv 48*4e4f3181Sskrll bool optstr_get_string(const char *, const char *, const char **); 49*4e4f3181Sskrll bool optstr_get_number(const char *, const char *, unsigned long *); 50*4e4f3181Sskrll bool optstr_get_number_hex(const char *, const char *, unsigned long *); 51*4e4f3181Sskrll bool optstr_get_number_binary(const char *, const char *, unsigned long *); 52*4e4f3181Sskrll 53*4e4f3181Sskrll #if NETHER > 0 54*4e4f3181Sskrll bool optstr_get_macaddr(const char *, const char *, uint8_t [ETHER_ADDR_LEN]); 55*4e4f3181Sskrll #endif 56*4e4f3181Sskrll 57*4e4f3181Sskrll #endif /* _SYS_OPTSTR_H_ */ 58