56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana/*
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * This file and its contents are supplied under the terms of the
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * Common Development and Distribution License ("CDDL"), version 1.0.
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * You may only use this file in accordance with the terms of version
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * 1.0 of the CDDL.
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana *
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * A full copy of the text of the CDDL should have accompanied this
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * source. A copy of the CDDL is also available via the Internet at
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * http://www.illumos.org/license/CDDL.
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana */
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana/*
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * This file is part of the Chelsio T4 support code.
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana *
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * Copyright (C) 2010-2013 Chelsio Communications. All rights reserved.
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana *
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * This program is distributed in the hope that it will be useful, but WITHOUT
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file included in this
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana * release for licensing terms and conditions.
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana */
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana#include "common.h"
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana#include "osdep.h"
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushanaint
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushanailog2(long x)
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana{
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana return (ddi_fls(x) - 1);
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana}
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushanaunsigned char *
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushanastrstrip(unsigned char *s)
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana{
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana unsigned char c, *r, *trim_at;
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana while (isspace(*s))
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana s++;
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana r = trim_at = s;
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana while ((c = *s++) != 0) {
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana if (!isspace(c))
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana trim_at = s;
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana }
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana *trim_at = 0;
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana return (r);
56b2bdd1f04d465cfe4a95b88ae5cba5884154e4Gireesh Nagabhushana}