1 #ifndef _PICO_OS_INCLUDED
2 #define _PICO_OS_INCLUDED
5 /*----------------------------------------------------------------------
7 OS dependencies, WIN version. See also the os-win.c files.
8 The following stuff may need to be changed for a new port, but once
9 the port is done it won't change. Further down in the file are a few
10 constants that you may want to configure differently than they
11 are configured, but probably not.
17 /*----------------- Are we ANSI? ---------------------------------------*/
18 #define ANSI /* this is an ANSI compiler */
20 /*------ If our compiler doesn't understand type void ------------------*/
21 /* #define void char */
23 /*-------- Standard ANSI functions usually defined in stdlib.h ---------*/
30 #include <sys/types.h>
34 /*-------- Standard windows defines and then our window module defines. */
55 #include <sys/timeb.h>
58 /* Windows only version and resource defines. */
65 /*---- Declare sys_errlist() if not already declared -------------------*/
66 /* extern char *sys_errlist[]; */
70 /*----------------- locale.h -------------------------------------------*/
71 /* #include <locale.h> */ /* To make matching and sorting work right */
72 #define collator strucmp
76 /*----------------- time.h ---------------------------------------------*/
78 /* plain time.h isn't enough on some systems */
79 /* #include <sys/time.h> */ /* For struct timeval usually in time.h */
83 /*--------------- signal.h ---------------------------------------------*/
85 /* #include <sys/signal.h> */
87 #define SigType void /* value returned by sig handlers is void */
88 /* #define SigType int */ /* value returned by sig handlers is int */
90 /* #define POSIX_SIGNALS */
91 /* #define SYSV_SIGNALS */ /* use System-V signal semantics (ttyin.c) */
93 #define SIG_PROTO(args) args
97 /*-------------- A couple typedef's for integer sizes ------------------*/
98 typedef unsigned long usign32_t
;
99 typedef unsigned short usign16_t
;
103 /*-------------- qsort argument type -----------------------------------*/
105 /* #define QSType char */
107 #define QcompType const void
110 /*-------- Is window resizing available? -------------------------------*/
111 /* #define RESIZING */
112 /* Actually, under windows it is, but RESIZING compiles in UNIX
113 * signals code for determining when the window resized. Window's
114 * works differently. */
119 /*-------- If no vfork, use regular fork -------------------------------*/
120 /* #define vfork fork */
124 /*---- When no screen size can be discovered this is the size used -----*/
125 #define DEFAULT_LINES_ON_TERMINAL (25)
126 #define DEFAULT_COLUMNS_ON_TERMINAL (80)
127 #define NROW DEFAULT_LINES_ON_TERMINAL
128 #define NCOL DEFAULT_COLUMNS_ON_TERMINAL
133 * File name separators, char and string
135 #define C_FILESEP '\\'
136 #define S_FILESEP "\\"
140 * What and where the tool that checks spelling is located. If this is
141 * undefined, then the spelling checker is not compiled into pico.
147 * Mode passed chmod() to make tmp files exclusively user read/write-able
149 /*#define MODE_READONLY (S_IREAD | S_IWRITE) */
153 /* possible names and paths of help files under different OSs */
163 #define NPNAMES (sizeof(pathname)/sizeof(char *))
169 /* Define function that mswin.c calls back for scrolling. */
170 int pico_scroll_callback ();
177 * Make sys_errlist visible
179 /* extern char *sys_errlist[]; */
180 /* extern int sys_nerr; */
183 #endif /* _PICO_OS_INCLUDED */