/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (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 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _PICLTREE_H
#define _PICLTREE_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
* PTree Interface
*/
#include <door.h>
/*
* Plug-in directories
*/
typedef struct {
} ptree_rarg_t;
typedef struct {
} ptree_warg_t;
/*
* Volatile type properties must specify their maximum size in 'size'
* of propinfo_t at the time of creation. That guarantees clients
* accessing those properties an upper limit on value size.
* The two property types that have to specify a maximum are:
* PICL_PTYPE_BYTEARRAY, and PICL_PTYPE_CHARSTRING
*/
typedef struct {
int version;
/*
* --------------------------------------------------
* Function prototypes of PTree Interface primitives
* --------------------------------------------------
*/
/*
*/
const picl_prophdl_t *props);
int (*readfn)(ptree_rarg_t *, void *),
int (*writefn)(ptree_warg_t *, const void *));
extern int ptree_get_node_by_path(const char *piclurl,
extern int ptree_register_handler(const char *ename,
extern void ptree_unregister_handler(const char *ename,
/*
* PICL plug-in revision
*/
#define PICLD_PLUGIN_NON_CRITICAL 0
/*
* PICL plug-in registration interface
*/
typedef struct {
int version;
int critical;
char *name;
void (*plugin_init)(void);
void (*plugin_fini)(void);
#ifdef __cplusplus
}
#endif
#endif /* _PICLTREE_H */