1*548f8a65SJessica Clarke /*- 2*548f8a65SJessica Clarke * SPDX-License-Identifier: BSD-2-Clause 3*548f8a65SJessica Clarke * 4*548f8a65SJessica Clarke * Copyright 2022 Jessica Clarke <jrtc27@FreeBSD.org> 5*548f8a65SJessica Clarke * 6*548f8a65SJessica Clarke * Redistribution and use in source and binary forms, with or without 7*548f8a65SJessica Clarke * modification, are permitted provided that the following conditions 8*548f8a65SJessica Clarke * are met: 9*548f8a65SJessica Clarke * 1. Redistributions of source code must retain the above copyright 10*548f8a65SJessica Clarke * notice, this list of conditions and the following disclaimer. 11*548f8a65SJessica Clarke * 2. Redistributions in binary form must reproduce the above copyright 12*548f8a65SJessica Clarke * notice, this list of conditions and the following disclaimer in the 13*548f8a65SJessica Clarke * documentation and/or other materials provided with the distribution. 14*548f8a65SJessica Clarke * 15*548f8a65SJessica Clarke * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16*548f8a65SJessica Clarke * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17*548f8a65SJessica Clarke * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18*548f8a65SJessica Clarke * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19*548f8a65SJessica Clarke * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20*548f8a65SJessica Clarke * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21*548f8a65SJessica Clarke * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22*548f8a65SJessica Clarke * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23*548f8a65SJessica Clarke * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24*548f8a65SJessica Clarke * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25*548f8a65SJessica Clarke * SUCH DAMAGE. 26*548f8a65SJessica Clarke */ 27*548f8a65SJessica Clarke #pragma once 28*548f8a65SJessica Clarke #include <sys/cdefs.h> 29*548f8a65SJessica Clarke 30*548f8a65SJessica Clarke #include_next <strings.h> 31*548f8a65SJessica Clarke 32*548f8a65SJessica Clarke __BEGIN_DECLS 33*548f8a65SJessica Clarke 34*548f8a65SJessica Clarke int fls(int) __pure2; 35*548f8a65SJessica Clarke int flsl(long) __pure2; 36*548f8a65SJessica Clarke int flsll(long long) __pure2; 37*548f8a65SJessica Clarke 38*548f8a65SJessica Clarke __END_DECLS 39