1*10167SRod.Evans@Sun.COM /* 2*10167SRod.Evans@Sun.COM * CDDL HEADER START 3*10167SRod.Evans@Sun.COM * 4*10167SRod.Evans@Sun.COM * The contents of this file are subject to the terms of the 5*10167SRod.Evans@Sun.COM * Common Development and Distribution License (the "License"). 6*10167SRod.Evans@Sun.COM * You may not use this file except in compliance with the License. 7*10167SRod.Evans@Sun.COM * 8*10167SRod.Evans@Sun.COM * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*10167SRod.Evans@Sun.COM * or http://www.opensolaris.org/os/licensing. 10*10167SRod.Evans@Sun.COM * See the License for the specific language governing permissions 11*10167SRod.Evans@Sun.COM * and limitations under the License. 12*10167SRod.Evans@Sun.COM * 13*10167SRod.Evans@Sun.COM * When distributing Covered Code, include this CDDL HEADER in each 14*10167SRod.Evans@Sun.COM * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*10167SRod.Evans@Sun.COM * If applicable, add the following below this CDDL HEADER, with the 16*10167SRod.Evans@Sun.COM * fields enclosed by brackets "[]" replaced with your own identifying 17*10167SRod.Evans@Sun.COM * information: Portions Copyright [yyyy] [name of copyright owner] 18*10167SRod.Evans@Sun.COM * 19*10167SRod.Evans@Sun.COM * CDDL HEADER END 20*10167SRod.Evans@Sun.COM */ 21*10167SRod.Evans@Sun.COM 22*10167SRod.Evans@Sun.COM /* 23*10167SRod.Evans@Sun.COM * Copyright (c) 1988 AT&T 24*10167SRod.Evans@Sun.COM * All Rights Reserved 25*10167SRod.Evans@Sun.COM * 26*10167SRod.Evans@Sun.COM * 27*10167SRod.Evans@Sun.COM * Copyright 2009 Sun Microsystems, Inc. All rights reserved. 28*10167SRod.Evans@Sun.COM * Use is subject to license terms. 29*10167SRod.Evans@Sun.COM * 30*10167SRod.Evans@Sun.COM * This file maintains an old style of list processing that is required by 31*10167SRod.Evans@Sun.COM * librtld_db to iterate over older core files/process images. 32*10167SRod.Evans@Sun.COM */ 33*10167SRod.Evans@Sun.COM #ifndef _LIST_H 34*10167SRod.Evans@Sun.COM #define _LIST_H 35*10167SRod.Evans@Sun.COM 36*10167SRod.Evans@Sun.COM #ifdef __cplusplus 37*10167SRod.Evans@Sun.COM extern "C" { 38*10167SRod.Evans@Sun.COM #endif 39*10167SRod.Evans@Sun.COM 40*10167SRod.Evans@Sun.COM #include <sys/elftypes.h> 41*10167SRod.Evans@Sun.COM 42*10167SRod.Evans@Sun.COM typedef struct listnode Listnode; 43*10167SRod.Evans@Sun.COM typedef struct list List; 44*10167SRod.Evans@Sun.COM 45*10167SRod.Evans@Sun.COM struct listnode { /* a node on a linked list */ 46*10167SRod.Evans@Sun.COM void *data; /* the data item */ 47*10167SRod.Evans@Sun.COM Listnode *next; /* the next element */ 48*10167SRod.Evans@Sun.COM }; 49*10167SRod.Evans@Sun.COM 50*10167SRod.Evans@Sun.COM struct list { /* a linked list */ 51*10167SRod.Evans@Sun.COM Listnode *head; /* the first element */ 52*10167SRod.Evans@Sun.COM Listnode *tail; /* the last element */ 53*10167SRod.Evans@Sun.COM }; 54*10167SRod.Evans@Sun.COM 55*10167SRod.Evans@Sun.COM 56*10167SRod.Evans@Sun.COM #ifdef _SYSCALL32 57*10167SRod.Evans@Sun.COM typedef struct listnode32 Listnode32; 58*10167SRod.Evans@Sun.COM typedef struct list32 List32; 59*10167SRod.Evans@Sun.COM 60*10167SRod.Evans@Sun.COM struct listnode32 { /* a node on a linked list */ 61*10167SRod.Evans@Sun.COM Elf32_Addr data; /* the data item */ 62*10167SRod.Evans@Sun.COM Elf32_Addr next; /* the next element */ 63*10167SRod.Evans@Sun.COM }; 64*10167SRod.Evans@Sun.COM 65*10167SRod.Evans@Sun.COM struct list32 { /* a linked list */ 66*10167SRod.Evans@Sun.COM Elf32_Addr head; /* the first element */ 67*10167SRod.Evans@Sun.COM Elf32_Addr tail; /* the last element */ 68*10167SRod.Evans@Sun.COM }; 69*10167SRod.Evans@Sun.COM #endif /* _SYSCALL32 */ 70*10167SRod.Evans@Sun.COM 71*10167SRod.Evans@Sun.COM #ifdef __cplusplus 72*10167SRod.Evans@Sun.COM } 73*10167SRod.Evans@Sun.COM #endif 74*10167SRod.Evans@Sun.COM 75*10167SRod.Evans@Sun.COM #endif /* _LIST_H */ 76