xref: /openbsd-src/sbin/fdisk/misc.h (revision 2ad00dadfd9dc079565059237894a1cbfffeb36a)
1*2ad00dadSkrw /*	$OpenBSD: misc.h,v 1.50 2023/03/25 20:34:28 krw Exp $	*/
2a1705421Sweingart 
3a1705421Sweingart /*
4a1705421Sweingart  * Copyright (c) 1997 Tobias Weingartner
5a1705421Sweingart  *
610a68084Skrw  * Permission to use, copy, modify, and distribute this software for any
710a68084Skrw  * purpose with or without fee is hereby granted, provided that the above
810a68084Skrw  * copyright notice and this permission notice appear in all copies.
9a1705421Sweingart  *
1010a68084Skrw  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
1110a68084Skrw  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
1210a68084Skrw  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
1310a68084Skrw  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
1410a68084Skrw  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
1510a68084Skrw  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
1610a68084Skrw  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17a1705421Sweingart  */
18a1705421Sweingart 
19e64cb338Sotto struct unit_type {
20859be6c9Skrw 	char		*ut_abbr;
21859be6c9Skrw 	int64_t		 ut_conversion;
22859be6c9Skrw 	char		*ut_lname;
238ce00868Skjell };
248ce00868Skjell 
2558c4c3e5Skrw #ifndef nitems
2658c4c3e5Skrw #define	nitems(_a)	(sizeof((_a)) / sizeof((_a)[0]))
2758c4c3e5Skrw #endif
2858c4c3e5Skrw 
29380d744dSkrw #define	WHITESPACE	" \f\n\r\t\v"
30380d744dSkrw #define	UNTRIMMED	0
31380d744dSkrw #define	TRIMMED		1
32*2ad00dadSkrw #define	LINEBUFSZ	100
33380d744dSkrw 
343e9b7d6bSkrw double		 units_size(const char *, const uint64_t,
353e9b7d6bSkrw     const struct unit_type **);
36380d744dSkrw void		 string_from_line(char *, const size_t, const int);
37c72b5b24Smillert int		 ask_yn(const char *);
387696a120Skrw int		 hex_octet(char *);
392bf8667bSkrw uint64_t	 getuint64(const char *, uint64_t, const uint64_t,
402bf8667bSkrw     const uint64_t);
41