PHP 8.2.30
Preview: py_curses.h Size: 4.08 KB
//proc/self/root/opt/alt/python35/include/python3.5m/py_curses.h

#ifndef Py_CURSES_H
#define Py_CURSES_H

#ifdef __APPLE__
/*
** On Mac OS X 10.2 [n]curses.h and stdlib.h use different guards
** against multiple definition of wchar_t.
*/
#ifdef	_BSD_WCHAR_T_DEFINED_
#define _WCHAR_T
#endif

/* the following define is necessary for OS X 10.6; without it, the
   Apple-supplied ncurses.h sets NCURSES_OPAQUE to 1, and then Python
   can't get at the WINDOW flags field. */
#define NCURSES_OPAQUE 0
#endif /* __APPLE__ */

#ifdef __FreeBSD__
/*
** On FreeBSD, [n]curses.h and stdlib.h/wchar.h use different guards
** against multiple definition of wchar_t and wint_t.
*/
#ifdef	_XOPEN_SOURCE_EXTENDED
#ifndef __FreeBSD_version
#include <osreldate.h>
#endif
#if __FreeBSD_version >= 500000
#ifndef __wchar_t
#define __wchar_t
#endif
#ifndef __wint_t
#define __wint_t
#endif
#else
#ifndef _WCHAR_T
#define _WCHAR_T
#endif
#ifndef _WINT_T
#define _WINT_T
#endif
#endif
#endif
#endif

#ifdef HAVE_NCURSES_H
#include <ncurses.h>
#else
#include <curses.h>
#ifdef HAVE_TERM_H
/* for tigetstr, which is not declared in SysV curses */
#include <term.h>
#endif
#endif

#ifdef HAVE_NCURSES_H
/* configure was checking <curses.h>, but we will
   use <ncurses.h>, which has all these features. */
#ifndef WINDOW_HAS_FLAGS
#define WINDOW_HAS_FLAGS 1
#endif
#ifndef MVWDELCH_IS_EXPRESSION
#define MVWDELCH_IS_EXPRESSION 1
#endif
#endif

#ifdef __cplusplus
extern "C" {
#endif

#define PyCurses_API_pointers 4

/* Type declarations */

typedef struct {
	PyObject_HEAD
	WINDOW *win;
	char *encoding;
} PyCursesWindowObject;

#define PyCursesWindow_Check(v)	 (Py_TYPE(v) == &PyCursesWindow_Type)

#define PyCurses_CAPSULE_NAME "_curses._C_API"


#ifdef CURSES_MODULE
/* This section is used when compiling _cursesmodule.c */

#else
/* This section is used in modules that use the _cursesmodule API */

static void **PyCurses_API;

#define PyCursesWindow_Type (*(PyTypeObject *) PyCurses_API[0])
#define PyCursesSetupTermCalled  {if (! ((int (*)(void))PyCurses_API[1]) () ) return NULL;}
#define PyCursesInitialised      {if (! ((int (*)(void))PyCurses_API[2]) () ) return NULL;}
#define PyCursesInitialisedColor {if (! ((int (*)(void))PyCurses_API[3]) () ) return NULL;}

#define import_curses() \
    PyCurses_API = (void **)PyCapsule_Import(PyCurses_CAPSULE_NAME, 1);

#endif

/* general error messages */
static char *catchall_ERR  = "curses function returned ERR";
static char *catchall_NULL = "curses function returned NULL";

/* Function Prototype Macros - They are ugly but very, very useful. ;-)

   X - function name
   TYPE - parameter Type
   ERGSTR - format string for construction of the return value
   PARSESTR - format string for argument parsing
   */

#define NoArgNoReturnFunction(X) \
static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
  PyCursesInitialised \
  return PyCursesCheckERR(X(), # X); }

#define NoArgOrFlagNoReturnFunction(X) \
static PyObject *PyCurses_ ## X (PyObject *self, PyObject *args) \
{ \
  int flag = 0; \
  PyCursesInitialised \
  switch(PyTuple_Size(args)) { \
  case 0: \
    return PyCursesCheckERR(X(), # X); \
  case 1: \
    if (!PyArg_ParseTuple(args, "i;True(1) or False(0)", &flag)) return NULL; \
    if (flag) return PyCursesCheckERR(X(), # X); \
    else return PyCursesCheckERR(no ## X (), # X); \
  default: \
    PyErr_SetString(PyExc_TypeError, # X " requires 0 or 1 arguments"); \
    return NULL; } }

#define NoArgReturnIntFunction(X) \
static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
 PyCursesInitialised \
 return PyLong_FromLong((long) X()); }


#define NoArgReturnStringFunction(X) \
static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
  PyCursesInitialised \
  return PyBytes_FromString(X()); }

#define NoArgTrueFalseFunction(X) \
static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
  PyCursesInitialised \
  if (X () == FALSE) { \
    Py_INCREF(Py_False); \
    return Py_False; \
  } \
  Py_INCREF(Py_True); \
  return Py_True; }

#define NoArgNoReturnVoidFunction(X) \
static PyObject *PyCurses_ ## X (PyObject *self) \
{ \
  PyCursesInitialised \
  X(); \
  Py_INCREF(Py_None); \
  return Py_None; }

#ifdef __cplusplus
}
#endif

#endif /* !defined(Py_CURSES_H) */


Directory Contents

Dirs: 0 × Files: 99

Name Size Perms Modified Actions
42.79 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1016 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.16 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
477 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
792 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
264 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
886 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.06 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
4.87 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.99 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
701 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
7.46 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.63 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
5.14 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
6.54 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.11 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.76 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
8.34 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.84 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
6.19 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
458 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
21.94 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
253 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.46 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
597 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.48 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.81 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
4.53 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.45 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.68 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.61 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.90 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.00 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.81 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
460 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
567 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.83 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.90 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
8.09 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
803 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.63 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
253 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.29 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
5.91 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.09 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
297 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1007 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
39.07 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
13.65 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.30 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
4.81 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
691 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.82 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.10 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
253 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.12 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.68 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
7.94 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.69 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
42.80 KB lrw-r--r-- 2024-05-31 13:49:53
Edit Download
162 B lrw-r--r-- 2024-05-31 13:51:34
Edit Download
1.29 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.11 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
15.95 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.39 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
8.27 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
388 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
4.17 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.72 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.92 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.22 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
7.05 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
6.87 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
31.27 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
9.27 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
436 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
443 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.25 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
20.36 KB lrw-r--r-- 2019-11-01 23:03:20
Edit Download
2.84 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
6.53 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.96 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
6.50 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
4.08 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
629 B lrw-r--r-- 2019-11-01 23:02:34
Edit Download
3.21 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.43 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.02 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.32 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
4.75 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.32 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.90 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.16 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.39 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.20 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.03 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
77.34 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
1.39 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
2.80 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).