off by one bug in string length; CR 1159
[Samba.git] / source / python / py_conv.h
blobb384f70fc2db9c808f0617a2849ca0a4a983cdf7
1 /*
2 Python wrappers for DCERPC/SMB client routines.
4 Copyright (C) Tim Potter, 2002
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 #ifndef _PY_CONV_H
22 #define _PY_CONV_H
24 enum pyconv_types { PY_UNISTR, PY_UINT32, PY_UINT16, PY_STRING, PY_UID, PY_GID };
26 struct pyconv {
27 char *name; /* Name of member */
28 enum pyconv_types type; /* Type */
29 size_t offset; /* Offset into structure */
32 PyObject *from_struct(void *s, struct pyconv *conv);
33 BOOL to_struct(void *s, PyObject *dict, struct pyconv *conv);
34 PyObject *from_unistr_list(uint16 *dependentfiles);
36 /* Another version of offsetof (-: */
38 #undef offsetof
39 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
41 #endif /* _PY_CONV_H */