File: pgboolean.h

package info (click to toggle)
python-pgsql 2.4.0-5sarge1
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 984 kB
  • ctags: 1,291
  • sloc: ansic: 5,913; python: 4,334; sh: 73; makefile: 71
file content (78 lines) | stat: -rw-r--r-- 3,260 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ident "@(#) $Id: pgboolean.h,v 1.4 2001/08/24 22:26:00 ballie01 Exp $"
#ifndef Pg_BOOLEAN_H
#define Pg_BOOLEAN_H
#ifdef __cplusplus
extern "C" {
#endif

/***********************************************************************\
| Copyright 2000 by Billy G. Allie					|
| All rights Reserved.							|
|									|
| Permission to use, copy, modify, and distribute this software and its	|
| documentation for any purpose and without fee is hereby granted, pro-	|
| vided that the above copyright notice appear in all copies and that	|
| both that copyright notice and this permission notice appear in sup-	|
| porting documentation, and that the copyright owner's name not be	|
| used in advertising or publicity pertaining to distribution of the	|
| software without specific, written prior permission.			|
|									|
| THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,	|
| INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS.  IN	|
| NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR	|
| CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS	|
| OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE	|
| OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE	|
| USE OR PERFORMANCE OF THIS SOFTWARE.					|
\***********************************************************************/

/* PostgreSQL boolean object interface */

/***********************************************************************\
| PgBooleanObject represents a PostgreSQL boolean value.  This is an	|
| immutable object; a PostgreSQL boolean object cannot change its value	|
| after it's creation.							|
|									|
| There are functions to create new boolean objects, and to test an ob-	|
| ject's validity.							|
|									|
| The type PgBooleanObject is exposed here so we can declare		|
| _Pg_TrueStruct and _Pg_FalseStruct below; don't use this definition.	|
\***********************************************************************/

typedef struct {	/* DO NOT USE THIS DEFINITION */
	PyObject_HEAD	/* DO NOT USE THIS DEFINITION */
	long ob_ival;	/* DO NOT USE THIS DEFINITION */
} PgBooleanObject;	/* DO NOT USE THIS DEFINITION */

extern PyTypeObject PgBoolean_Type;

#define PgBoolean_Check(op) ((op)->ob_type == &PgBoolean_Type)

extern PyObject* PgBoolean_FromString(char*);
extern PyObject* PgBoolean_FromLong(long);

/***********************************************************************\
| Pg_False and Pg_True are special.  All values of type PGboolean must	|
| point to either of these.						|
|									|
| Don't forget to apply Py_INCREF() when returning True or False!!!	|
\***********************************************************************/

/* Don't use these directly */
extern PgBooleanObject _Pg_FalseStruct, _Pg_TrueStruct;

#define Pg_False ((PyObject *)&_Pg_FalseStruct)
#define Pg_True ((PyObject *)&_Pg_TrueStruct)

/***********************************************************************\
| initpgboolean MUST be called in the initialzation code of the module	|
| using the PgBoolean type.						|
\***********************************************************************/

extern void initpgboolean(void);

#ifdef __cplusplus
}
#endif
#endif /* !Pg_BOOLEAN_H */