10Sstevel@tonic-gate /* 20Sstevel@tonic-gate * CDDL HEADER START 30Sstevel@tonic-gate * 40Sstevel@tonic-gate * The contents of this file are subject to the terms of the 50Sstevel@tonic-gate * Common Development and Distribution License, Version 1.0 only 60Sstevel@tonic-gate * (the "License"). You may not use this file except in compliance 70Sstevel@tonic-gate * with the License. 80Sstevel@tonic-gate * 90Sstevel@tonic-gate * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 100Sstevel@tonic-gate * or http://www.opensolaris.org/os/licensing. 110Sstevel@tonic-gate * See the License for the specific language governing permissions 120Sstevel@tonic-gate * and limitations under the License. 130Sstevel@tonic-gate * 140Sstevel@tonic-gate * When distributing Covered Code, include this CDDL HEADER in each 150Sstevel@tonic-gate * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 160Sstevel@tonic-gate * If applicable, add the following below this CDDL HEADER, with the 170Sstevel@tonic-gate * fields enclosed by brackets "[]" replaced with your own identifying 180Sstevel@tonic-gate * information: Portions Copyright [yyyy] [name of copyright owner] 190Sstevel@tonic-gate * 200Sstevel@tonic-gate * CDDL HEADER END 210Sstevel@tonic-gate */ 220Sstevel@tonic-gate /* 23*789Sahrens * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 24*789Sahrens * Use is subject to license terms. 250Sstevel@tonic-gate */ 260Sstevel@tonic-gate 270Sstevel@tonic-gate #ifndef _SYS_OBPDEFS_H 280Sstevel@tonic-gate #define _SYS_OBPDEFS_H 290Sstevel@tonic-gate 300Sstevel@tonic-gate #pragma ident "%Z%%M% %I% %E% SMI" 310Sstevel@tonic-gate 320Sstevel@tonic-gate #ifdef __cplusplus 330Sstevel@tonic-gate extern "C" { 340Sstevel@tonic-gate #endif 350Sstevel@tonic-gate 360Sstevel@tonic-gate /* 370Sstevel@tonic-gate * This file is intended as standalone inclusion by non-prom library 380Sstevel@tonic-gate * functions that need it. 390Sstevel@tonic-gate */ 400Sstevel@tonic-gate 410Sstevel@tonic-gate typedef int ihandle_t; /* 1275 device instance number */ 420Sstevel@tonic-gate typedef int phandle_t; /* 1275 device tree node ptr */ 43*789Sahrens typedef phandle_t pnode_t; 440Sstevel@tonic-gate 450Sstevel@tonic-gate /* 460Sstevel@tonic-gate * Device type matching 470Sstevel@tonic-gate */ 480Sstevel@tonic-gate 49*789Sahrens #define OBP_NONODE ((pnode_t)0) 50*789Sahrens #define OBP_BADNODE ((pnode_t)-1) 510Sstevel@tonic-gate 520Sstevel@tonic-gate /* 530Sstevel@tonic-gate * Property Defines 540Sstevel@tonic-gate */ 550Sstevel@tonic-gate 560Sstevel@tonic-gate #define OBP_NAME "name" 570Sstevel@tonic-gate #define OBP_REG "reg" 580Sstevel@tonic-gate #define OBP_INTR "intr" 590Sstevel@tonic-gate #define OBP_RANGES "ranges" 600Sstevel@tonic-gate #define OBP_INTERRUPTS "interrupts" 610Sstevel@tonic-gate #define OBP_COMPATIBLE "compatible" 620Sstevel@tonic-gate #define OBP_STATUS "status" 630Sstevel@tonic-gate #define OBP_BOARDNUM "board#" 640Sstevel@tonic-gate 650Sstevel@tonic-gate #define OBP_MAC_ADDR "mac-address" 660Sstevel@tonic-gate #define OBP_STDINPATH "stdin-path" 670Sstevel@tonic-gate #define OBP_STDOUTPATH "stdout-path" 680Sstevel@tonic-gate #define OBP_IDPROM "idprom" 690Sstevel@tonic-gate 700Sstevel@tonic-gate #define OBP_DEVICETYPE "device_type" 710Sstevel@tonic-gate #define OBP_DISPLAY "display" 720Sstevel@tonic-gate #define OBP_NETWORK "network" 730Sstevel@tonic-gate #define OBP_BYTE "byte" 740Sstevel@tonic-gate #define OBP_BLOCK "block" 750Sstevel@tonic-gate #define OBP_SERIAL "serial" 760Sstevel@tonic-gate #define OBP_HIERARCHICAL "hierarchical" 770Sstevel@tonic-gate #define OBP_CPU "cpu" 780Sstevel@tonic-gate #define OBP_ADDRESS "address" 790Sstevel@tonic-gate 800Sstevel@tonic-gate /* 810Sstevel@tonic-gate * OBP status values defines 820Sstevel@tonic-gate */ 830Sstevel@tonic-gate #define OBP_ST_OKAY "okay" 840Sstevel@tonic-gate #define OBP_ST_DISABLED "disabled" 850Sstevel@tonic-gate #define OBP_ST_FAIL "fail" 860Sstevel@tonic-gate 870Sstevel@tonic-gate /* 880Sstevel@tonic-gate * Max size of a path component and a property name (not value) 890Sstevel@tonic-gate * These are standard definitions. 900Sstevel@tonic-gate */ 910Sstevel@tonic-gate #define OBP_MAXDRVNAME 32 /* defined in P1275 */ 920Sstevel@tonic-gate #define OBP_MAXPROPNAME 32 /* defined in P1275 */ 930Sstevel@tonic-gate 940Sstevel@tonic-gate /* 950Sstevel@tonic-gate * 960Sstevel@tonic-gate * NB: Max pathname length is a platform-dependent parameter. 970Sstevel@tonic-gate */ 980Sstevel@tonic-gate #define OBP_MAXPATHLEN 256 /* Platform dependent */ 990Sstevel@tonic-gate 1000Sstevel@tonic-gate /* 1010Sstevel@tonic-gate * Every OBP node must have a `/' followed by at least 2 chars, 1020Sstevel@tonic-gate * so we can deduce the maxdepth of any OBP tree to be 1030Sstevel@tonic-gate * OBP_MAXPATHNAME/3. This is a good first swag. 1040Sstevel@tonic-gate */ 1050Sstevel@tonic-gate 1060Sstevel@tonic-gate #define OBP_STACKDEPTH (OBP_MAXPATHLEN/3) 1070Sstevel@tonic-gate 1080Sstevel@tonic-gate #ifdef __cplusplus 1090Sstevel@tonic-gate } 1100Sstevel@tonic-gate #endif 1110Sstevel@tonic-gate 1120Sstevel@tonic-gate #endif /* _SYS_OBPDEFS_H */ 113