/*
* 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 2010 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#include <Python.h>
#include <sys/zfs_ioctl.h>
#include <strings.h>
#include <unistd.h>
#include <libnvpair.h>
#include <libintl.h>
#include <libzfs.h>
#include "zfs_prop.h"
static int zfsdevfd;
#ifdef __lint
#define dgettext(x, y) y
#endif
#define _(s) dgettext(TEXT_DOMAIN, s)
/*PRINTFLIKE1*/
static void
{
va_list v;
va_end(v);
}
static int
{
int err;
if (cmdstr[0])
cmdstr[0] = '\0';
return (err);
}
static PyObject *
{
pyo = PyDict_New();
char *sval;
switch (nvpair_type(nvp)) {
case DATA_TYPE_STRING:
break;
case DATA_TYPE_UINT64:
break;
case DATA_TYPE_NVLIST:
break;
case DATA_TYPE_BOOLEAN:
break;
case DATA_TYPE_BOOLEAN_VALUE:
break;
default:
return (NULL);
}
}
return (pyo);
}
static nvlist_t *
{
int err;
int pos = 0;
if (!PyDict_Check(d)) {
return (NULL);
}
return (NULL);
}
if (PyDict_Check(value)) {
} else if (PyString_Check(value)) {
} else if (PyInt_Check(value)) {
} else if (PyBool_Check(value)) {
} else {
return (NULL);
}
}
return (nvl);
}
static PyObject *
{
PyObject *d = PyDict_New();
return (d);
}
static void
{
fakepropval(s->dds_num_clones));
fakepropval(s->dds_is_snapshot));
fakepropval(s->dds_inconsistent));
}
/* On error, returns NULL but does not set python exception. */
static PyObject *
{
void *nvbuf;
if (errno == 0) {
}
goto again;
}
return (pynv);
}
static PyObject *
{
int ioc;
int snaps;
char *name;
return (NULL);
if (snaps)
else
if (nvl) {
} else {
if (snaps)
else
}
return (ret);
}
static PyObject *
{
int snaps;
char *name;
return (NULL);
if (nvl) {
} else {
}
return (nvl);
}
static PyObject *
{
char *name;
return (NULL);
return (nvl);
}
static PyObject *
{
int un;
int err;
&PyDict_Type, &dict))
return (NULL);
return (NULL);
if (err) {
return (NULL);
}
}
static PyObject *
{
char *name;
return (NULL);
return (nvl);
}
static PyObject *
{
void *buf;
int error;
return (NULL);
break;
if (type == ZFS_NUM_USERQUOTA_PROPS) {
return (NULL);
}
dict = PyDict_New();
while (1) {
break;
while (zc.zc_nvlist_dst_size > 0) {
zua++;
}
}
if (error != 0) {
return (NULL);
}
return (dict);
}
static PyObject *
{
char *name;
int error;
return (NULL);
if (error != 0) {
seterr(_("cannot initialize user accounting information on %s"),
name);
return (NULL);
}
}
static PyObject *
{
char *str;
return (NULL);
}
static PyObject *
{
zprop_desc_t *t = zfs_prop_get_table();
PyObject *d = PyDict_New();
zfs_prop_t i;
for (i = 0; i < ZFS_NUM_PROPS; i++) {
zprop_desc_t *p = &t[i];
static const char *typetable[] =
{"number", "string", "index"};
static const char *attrtable[] =
{"default", "readonly", "inherit", "onetime"};
if (p->pd_proptype == PROP_TYPE_INDEX) {
indextable = PyDict_New();
int j;
}
} else {
}
p->pd_strdefault, p->pd_numdefault,
p->pd_values, p->pd_colname,
}
return (d);
}
"Get next child dataset or snapshot."},
"Get user space accounting."},
"Upgrade fs to enable user space accounting."},
"Set command string for history logging."},
"Get dataset properties."},
"Get property table."},
};
void
initioctl(void)
{
return;
}