/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2014 Garrett D'Amore <garrett@damore.org>
*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _RTLD_DB_H
#define _RTLD_DB_H
#ifdef __cplusplus
extern "C" {
#endif
#include <link.h>
#include <proc_service.h>
/*
* librtld_db interface versions
*/
typedef enum {
} rd_err_e;
/*
* ways that the event notification can take place:
*/
typedef enum {
} rd_notify_e;
/*
* information on ways that the event notification can take place:
*/
typedef struct rd_notify {
union {
} u;
} rd_notify_t;
/*
* information about event instance:
*/
typedef enum {
} rd_state_e;
typedef struct rd_event_msg {
union {
} u;
/*
* iteration over load objects
*/
typedef struct rd_loadobj {
unsigned rl_flags;
/* space. If non null object is a */
/* filter. */
/* currently used in SunOS5.x */
/* in the target process */
} rd_loadobj_t;
/*
* Values for rl_flags
*/
/* originating from a relocatable */
/* module which was dynamically */
/* loaded */
/*
* Commands for rd_ctl()
*/
/*
* PLT skipping
*/
typedef enum {
} rd_skip_e;
typedef struct rd_plt_info {
long pi_nstep;
unsigned int pi_flags;
/*
* Values for pi_flags
*/
/* has been bound - and that */
/* pi_baddr will contain its */
/* destination address */
struct ps_prochandle;
/*
* librtld_db.so entry points
*/
extern void rd_delete(rd_agent_t *);
void *);
extern void rd_log(const int);
psaddr_t, rd_plt_info_t *);
#ifdef __cplusplus
}
#endif
#endif /* _RTLD_DB_H */