rpm  5.4.10
Macros | Functions | Variables
rpmfts-py.c File Reference
#include "system.h"
#include "structmember.h"
#include <fts.h>
#include "rpmfts-py.h"
#include <rpmiotypes.h>
#include "debug.h"
Include dependency graph for rpmfts-py.c:

Go to the source code of this file.

Macros

#define infoBit(_ix)   (1 << (((unsigned)(_ix)) & 0x1f))
 
#define RPMFTS_CLOSE   0
 
#define RPMFTS_OPEN   1
 
#define RPMFTS_OPEN_LAZY   2
 
#define CONSTANT(_v)   PyDict_SetItemString(s->md_dict, #_v, o=PyInt_FromLong(_v)); Py_XDECREF(o)
 

Functions

static const char * ftsInfoStr (int fts_info)
 
static void rpmfts_debug (const char *msg, rpmftsObject *s)
 
static int rpmfts_initialize (rpmftsObject *s, const char *root, int options, int ignore)
 
static int rpmfts_state (rpmftsObject *s, int nactive)
 
static PyObject * rpmfts_step (rpmftsObject *s)
 
static PyObject * rpmfts_getattro (PyObject *o, PyObject *n)
 
static int rpmfts_setattro (PyObject *o, PyObject *n, PyObject *v)
 
static PyObject * rpmfts_iter (rpmftsObject *s)
 
static PyObject * rpmfts_iternext (rpmftsObject *s)
 
static void rpmfts_free (PyObject *s)
 
static PyObject * rpmfts_alloc (PyTypeObject *type, Py_ssize_t nitems)
 
static void rpmfts_dealloc (rpmftsObject *s)
 
static int rpmfts_init (rpmftsObject *s, PyObject *args, PyObject *kwds)
 
static PyObject * rpmfts_new (PyTypeObject *type, PyObject *args, PyObject *kwds)
 
static int rpmfts_traverse (rpmftsObject *s, visitproc visit, void *arg)
 
static int rpmfts_print (rpmftsObject *s, FILE *fp, int flags)
 
Class: Rpmfts
static PyObject * rpmfts_Debug (rpmftsObject *s, PyObject *args, PyObject *kwds)
 
static PyObject * rpmfts_Open (rpmftsObject *s, PyObject *args, PyObject *kwds)
 
static PyObject * rpmfts_Read (rpmftsObject *s)
 
static PyObject * rpmfts_Children (rpmftsObject *s, PyObject *args, PyObject *kwds)
 
static PyObject * rpmfts_Close (rpmftsObject *s)
 
static PyObject * rpmfts_Set (rpmftsObject *s, PyObject *args, PyObject *kwds)
 

Variables

static int _rpmfts_debug = 1
 
static const char * ftsInfoStrings []
 
static struct PyMethodDef rpmfts_methods []
 
static PyMemberDef rpmfts_members []
 
static char rpmfts_doc []
 
PyTypeObject rpmfts_Type
 

Macro Definition Documentation

§ CONSTANT

#define CONSTANT (   _v)    PyDict_SetItemString(s->md_dict, #_v, o=PyInt_FromLong(_v)); Py_XDECREF(o)

Referenced by rpmfts_new().

§ infoBit

#define infoBit (   _ix)    (1 << (((unsigned)(_ix)) & 0x1f))

Definition at line 25 of file rpmfts-py.c.

Referenced by rpmfts_initialize(), and rpmfts_step().

§ RPMFTS_CLOSE

#define RPMFTS_CLOSE   0

§ RPMFTS_OPEN

#define RPMFTS_OPEN   1

Definition at line 55 of file rpmfts-py.c.

Referenced by rpmfts_Open(), and rpmfts_state().

§ RPMFTS_OPEN_LAZY

#define RPMFTS_OPEN_LAZY   2

Definition at line 56 of file rpmfts-py.c.

Referenced by rpmfts_iternext(), rpmfts_state(), and rpmfts_step().

Function Documentation

§ ftsInfoStr()

static const char* ftsInfoStr ( int  fts_info)
static

Definition at line 46 of file rpmfts-py.c.

References ftsInfoStrings.

Referenced by rpmfts_print().

§ rpmfts_alloc()

static PyObject* rpmfts_alloc ( PyTypeObject *  type,
Py_ssize_t  nitems 
)
static

Definition at line 373 of file rpmfts-py.c.

§ rpmfts_Children()

static PyObject* rpmfts_Children ( rpmftsObject s,
PyObject *  args,
PyObject *  kwds 
)
static

Definition at line 240 of file rpmfts-py.c.

References rpmftsObject_s::fts, Fts_children(), rpmftsObject_s::ftsp, and rpmfts_debug().

§ rpmfts_Close()

static PyObject* rpmfts_Close ( rpmftsObject s)
static

Definition at line 264 of file rpmfts-py.c.

References RPMFTS_CLOSE, rpmfts_debug(), and rpmfts_state().

§ rpmfts_dealloc()

static void rpmfts_dealloc ( rpmftsObject s)
static

§ rpmfts_debug()

static void rpmfts_debug ( const char *  msg,
rpmftsObject s 
)
static

§ rpmfts_Debug()

static PyObject* rpmfts_Debug ( rpmftsObject s,
PyObject *  args,
PyObject *  kwds 
)
static

Definition at line 180 of file rpmfts-py.c.

References _rpmfts_debug.

§ rpmfts_free()

static void rpmfts_free ( PyObject *  s)
static

Definition at line 367 of file rpmfts-py.c.

§ rpmfts_getattro()

static PyObject* rpmfts_getattro ( PyObject *  o,
PyObject *  n 
)
static

Definition at line 328 of file rpmfts-py.c.

References rpmfts_debug().

§ rpmfts_init()

static int rpmfts_init ( rpmftsObject s,
PyObject *  args,
PyObject *  kwds 
)
static

Definition at line 401 of file rpmfts-py.c.

References rpmfts_debug(), and rpmfts_initialize().

§ rpmfts_initialize()

static int rpmfts_initialize ( rpmftsObject s,
const char *  root,
int  options,
int  ignore 
)
static

§ rpmfts_iter()

static PyObject* rpmfts_iter ( rpmftsObject s)
static

Definition at line 345 of file rpmfts-py.c.

§ rpmfts_iternext()

static PyObject* rpmfts_iternext ( rpmftsObject s)
static

§ rpmfts_new()

static PyObject* rpmfts_new ( PyTypeObject *  type,
PyObject *  args,
PyObject *  kwds 
)
static

§ rpmfts_Open()

static PyObject* rpmfts_Open ( rpmftsObject s,
PyObject *  args,
PyObject *  kwds 
)
static

Definition at line 197 of file rpmfts-py.c.

References rpmfts_debug(), rpmfts_initialize(), RPMFTS_OPEN, and rpmfts_state().

§ rpmfts_print()

static int rpmfts_print ( rpmftsObject s,
FILE *  fp,
int  flags 
)
static

§ rpmfts_Read()

static PyObject* rpmfts_Read ( rpmftsObject s)
static

Definition at line 220 of file rpmfts-py.c.

References rpmfts_debug(), and rpmfts_step().

§ rpmfts_Set()

static PyObject* rpmfts_Set ( rpmftsObject s,
PyObject *  args,
PyObject *  kwds 
)
static

Definition at line 275 of file rpmfts-py.c.

References rpmftsObject_s::fts, Fts_set(), rpmftsObject_s::ftsp, and rpmfts_debug().

§ rpmfts_setattro()

static int rpmfts_setattro ( PyObject *  o,
PyObject *  n,
PyObject *  v 
)
static

Definition at line 335 of file rpmfts-py.c.

References rpmfts_debug().

§ rpmfts_state()

static int rpmfts_state ( rpmftsObject s,
int  nactive 
)
static

§ rpmfts_step()

static PyObject* rpmfts_step ( rpmftsObject s)
static

§ rpmfts_traverse()

static int rpmfts_traverse ( rpmftsObject s,
visitproc  visit,
void *  arg 
)
static

Definition at line 509 of file rpmfts-py.c.

References rpmftsObject_s::callbacks, and rpmftsObject_s::md_dict.

Variable Documentation

§ _rpmfts_debug

int _rpmfts_debug = 1
static

Definition at line 23 of file rpmfts-py.c.

Referenced by rpmfts_debug(), and rpmfts_Debug().

§ ftsInfoStrings

const char* ftsInfoStrings[]
static
Initial value:
= {
"UNKNOWN",
"D",
"DC",
"DEFAULT",
"DNR",
"DOT",
"DP",
"ERR",
"F",
"INIT",
"NS",
"NSOK",
"SL",
"SLNONE",
"W",
}

Definition at line 27 of file rpmfts-py.c.

Referenced by ftsInfoStr().

§ rpmfts_doc

char rpmfts_doc[]
static
Initial value:
=
""

Definition at line 537 of file rpmfts-py.c.

§ rpmfts_members

PyMemberDef rpmfts_members[]
static
Initial value:
= {
{"__dict__",T_OBJECT,offsetof(rpmftsObject, md_dict), READONLY,
NULL},
{"callbacks",T_OBJECT,offsetof(rpmftsObject, callbacks), 0,
"Callback dictionary per fts_info state: FTS_{D|DC|DEFAULT|DNR|DOT|DP|ERR|F|INIT|NS|NSOK|SL|SLNONE|W}"},
{"options", T_INT, offsetof(rpmftsObject, options), 0,
"Option bit(s): FTS_{COMFOLLOW|LOGICAL|NOCHDIR|NOSTAT|PHYSICAL|SEEDOT|XDEV}"},
{"ignore", T_INT, offsetof(rpmftsObject, ignore), 0,
"Ignore bit(s): (1 << info) with info one of FTS_{D|DC|DEFAULT|DNR|DOT|DP|ERR|F|INIT|NS|NSOK|SL|SLNONE|W}"},
{NULL, 0, 0, 0, NULL}
}

Definition at line 316 of file rpmfts-py.c.

§ rpmfts_methods

struct PyMethodDef rpmfts_methods[]
static
Initial value:
= {
{"Debug", (PyCFunction)rpmfts_Debug, METH_VARARGS|METH_KEYWORDS,
NULL},
{"open", (PyCFunction)rpmfts_Open, METH_VARARGS|METH_KEYWORDS,
NULL},
{"read", (PyCFunction)rpmfts_Read, METH_NOARGS,
NULL},
{"children",(PyCFunction)rpmfts_Children, METH_VARARGS|METH_KEYWORDS,
NULL},
{"close", (PyCFunction)rpmfts_Close, METH_NOARGS,
NULL},
{"set", (PyCFunction)rpmfts_Set, METH_VARARGS|METH_KEYWORDS,
NULL},
{NULL, NULL}
}
static PyObject * rpmfts_Set(rpmftsObject *s, PyObject *args, PyObject *kwds)
Definition: rpmfts-py.c:275
static PyObject * rpmfts_Debug(rpmftsObject *s, PyObject *args, PyObject *kwds)
Definition: rpmfts-py.c:180
static PyObject * rpmfts_Close(rpmftsObject *s)
Definition: rpmfts-py.c:264
static PyObject * rpmfts_Read(rpmftsObject *s)
Definition: rpmfts-py.c:220
static PyObject * rpmfts_Children(rpmftsObject *s, PyObject *args, PyObject *kwds)
Definition: rpmfts-py.c:240
static PyObject * rpmfts_Open(rpmftsObject *s, PyObject *args, PyObject *kwds)
Definition: rpmfts-py.c:197

Definition at line 297 of file rpmfts-py.c.

§ rpmfts_Type

PyTypeObject rpmfts_Type

Definition at line 543 of file rpmfts-py.c.

Referenced by init_rpm().