1211554Srpaulo/*
2211554Srpaulo * Copyright (c) 2010 The FreeBSD Foundation
3211554Srpaulo * All rights reserved.
4211554Srpaulo *
5211554Srpaulo * This software was developed by Rui Paulo under sponsorship from the
6211554Srpaulo * FreeBSD Foundation.
7211554Srpaulo *
8211554Srpaulo * Redistribution and use in source and binary forms, with or without
9211554Srpaulo * modification, are permitted provided that the following conditions
10211554Srpaulo * are met:
11211554Srpaulo * 1. Redistributions of source code must retain the above copyright
12211554Srpaulo *    notice, this list of conditions and the following disclaimer.
13211554Srpaulo * 2. Redistributions in binary form must reproduce the above copyright
14211554Srpaulo *    notice, this list of conditions and the following disclaimer in the
15211554Srpaulo *    documentation and/or other materials provided with the distribution.
16211554Srpaulo *
17211554Srpaulo * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18211554Srpaulo * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19211554Srpaulo * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20211554Srpaulo * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21211554Srpaulo * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22211554Srpaulo * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23211554Srpaulo * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24211554Srpaulo * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25211554Srpaulo * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26211554Srpaulo * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27211554Srpaulo * SUCH DAMAGE.
28211554Srpaulo *
29211554Srpaulo * $FreeBSD$
30211554Srpaulo */
31211554Srpaulo
32211554Srpaulo/*
33211554Srpaulo * Compatibility functions between Solaris libproc and FreeBSD libproc.
34211554Srpaulo * Functions sorted alphabetically.
35211554Srpaulo */
36211554Srpaulo#define	PR_LMID_EVERY 0
37211554Srpaulo#define	Psetrun(p, a1, a2) proc_continue((p))
38211554Srpaulo#define	Pxlookup_by_addr(p, a, n, s, sym, i) \
39211554Srpaulo    proc_addr2sym(p, a, n, s, sym)
40211554Srpaulo#define	Pxlookup_by_name(p, l, s1, s2, sym, a) \
41211554Srpaulo    proc_name2sym((p), (s1), (s2), (sym))
42211554Srpaulo#define	Paddr_to_map proc_addr2map
43211554Srpaulo#define	Pcreate_error strerror
44211554Srpaulo#define	Pdelbkpt proc_bkptdel
45211554Srpaulo#define	Pgrab_error strerror
46211554Srpaulo#define	Plmid_to_map(p, l, o) proc_obj2map((p), (o))
47211554Srpaulo#define	Plookup_by_addr proc_addr2sym
48268578Srpaulo#define	Pname_to_ctf(p, obj) NULL
49211554Srpaulo#define	Pname_to_map proc_name2map
50211554Srpaulo#define	Pobject_iter proc_iter_objs
51268578Srpaulo#define	Pobject_iter_resolved(p, f, arg) 1
52211554Srpaulo#define	Pobjname proc_objname
53211554Srpaulo#define	Pread proc_read
54211554Srpaulo#define	Prd_agent proc_rdagent
55211554Srpaulo#define	Prelease proc_detach
56211554Srpaulo#define	Psetbkpt proc_bkptset
57211554Srpaulo#define	Psetflags proc_setflags
58211554Srpaulo#define	Pstate proc_state
59211554Srpaulo#define	Pstate proc_state
60211554Srpaulo#define	Psymbol_iter_by_addr proc_iter_symbyaddr
61211554Srpaulo#define	Punsetflags proc_clearflags
62211554Srpaulo#define	Pupdate_maps(p) do { } while (0)
63211554Srpaulo#define	Pupdate_syms proc_updatesyms
64211554Srpaulo#define	Pxecbkpt proc_bkptexec
65