~ubuntu-branches/ubuntu/trusty/ctfutils/trusty

« back to all changes in this revision

Viewing changes to cddl/contrib/opensolaris/tools/ctf/cvt/traverse.h

  • Committer: Package Import Robot
  • Author(s): Robert Millan
  • Date: 2013-11-09 17:07:06 UTC
  • Revision ID: package-import@ubuntu.com-20131109170706-kacr6nvpkbhxsk81
Tags: upstream-9.2
ImportĀ upstreamĀ versionĀ 9.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * CDDL HEADER START
 
3
 *
 
4
 * The contents of this file are subject to the terms of the
 
5
 * Common Development and Distribution License, Version 1.0 only
 
6
 * (the "License").  You may not use this file except in compliance
 
7
 * with the License.
 
8
 *
 
9
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 
10
 * or http://www.opensolaris.org/os/licensing.
 
11
 * See the License for the specific language governing permissions
 
12
 * and limitations under the License.
 
13
 *
 
14
 * When distributing Covered Code, include this CDDL HEADER in each
 
15
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 
16
 * If applicable, add the following below this CDDL HEADER, with the
 
17
 * fields enclosed by brackets "[]" replaced with your own identifying
 
18
 * information: Portions Copyright [yyyy] [name of copyright owner]
 
19
 *
 
20
 * CDDL HEADER END
 
21
 */
 
22
/*
 
23
 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
 
24
 * Use is subject to license terms.
 
25
 */
 
26
 
 
27
#ifndef _TRAVERSE_H
 
28
#define _TRAVERSE_H
 
29
 
 
30
#pragma ident   "%Z%%M% %I%     %E% SMI"
 
31
 
 
32
/*
 
33
 * Routines used to traverse tdesc trees, invoking user-supplied callbacks
 
34
 * as the tree is traversed.
 
35
 */
 
36
 
 
37
#ifdef __cplusplus
 
38
extern "C" {
 
39
#endif
 
40
 
 
41
#include "ctftools.h"
 
42
 
 
43
typedef int (*tdtrav_cb_f)(tdesc_t *, tdesc_t **, void *);
 
44
 
 
45
typedef struct tdtrav_data {
 
46
        int vgen;
 
47
 
 
48
        tdtrav_cb_f *firstops;
 
49
        tdtrav_cb_f *preops;
 
50
        tdtrav_cb_f *postops;
 
51
 
 
52
        void *private;
 
53
} tdtrav_data_t;
 
54
 
 
55
void tdtrav_init(tdtrav_data_t *, int *, tdtrav_cb_f *, tdtrav_cb_f *,
 
56
    tdtrav_cb_f *, void *);
 
57
int tdtraverse(tdesc_t *, tdesc_t **, tdtrav_data_t *);
 
58
 
 
59
int iitraverse(iidesc_t *, int *, tdtrav_cb_f *, tdtrav_cb_f *, tdtrav_cb_f *,
 
60
    void *);
 
61
int iitraverse_hash(hash_t *, int *, tdtrav_cb_f *, tdtrav_cb_f *,
 
62
    tdtrav_cb_f *, void *);
 
63
int iitraverse_td(void *, void *);
 
64
 
 
65
int tdtrav_assert(tdesc_t *, tdesc_t **, void *);
 
66
 
 
67
#ifdef __cplusplus
 
68
}
 
69
#endif
 
70
 
 
71
#endif /* _TRAVERSE_H */