]> code.delx.au - gnu-emacs/blobdiff - src/w32.h
Fix Imenu regression.
[gnu-emacs] / src / w32.h
index c57d8956411524a926d540d4f9e541403278e0d8..8309a3cc23d875832a53b5389e428071968fccfd 100644 (file)
--- a/src/w32.h
+++ b/src/w32.h
@@ -2,8 +2,7 @@
 #define EMACS_W32_H
 
 /* Support routines for the NT version of Emacs.
-   Copyright (C) 1994, 2001, 2002, 2003, 2004, 2005,
-                 2006, 2007, 2008  Free Software Foundation, Inc.
+   Copyright (C) 1994, 2001-2012  Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -20,6 +19,12 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#ifdef CYGWIN
+#error "w32.h is not compatible with Cygwin"
+#endif
+
+#include <windows.h>
+
 
 /* File descriptor set emulation.  */
 
@@ -72,6 +77,8 @@ typedef struct _child_process
   PROCESS_INFORMATION   procinfo;
   volatile int          status;
   char                  chr;
+  OVERLAPPED            ovl_read;
+  OVERLAPPED            ovl_write;
 } child_process;
 
 #define MAXDESC FD_SETSIZE
@@ -99,6 +106,7 @@ extern filedesc fd_info [ MAXDESC ];
 #define FILE_PIPE               0x0100
 #define FILE_SOCKET             0x0200
 #define FILE_NDELAY             0x0400
+#define FILE_SERIAL             0x0800
 
 extern child_process * new_child (void);
 extern void delete_child (child_process *cp);
@@ -125,23 +133,52 @@ extern void reset_standard_handles (int in, int out,
 /* Return the string resource associated with KEY of type TYPE.  */
 extern LPBYTE w32_get_resource (char * key, LPDWORD type);
 
-extern void init_ntproc (void);
-extern void term_ntproc (void);
+extern void init_ntproc (int);
+extern void term_ntproc (int);
 extern void globals_of_w32 (void);
-extern void syms_of_w32term (void);
-extern void syms_of_w32fns (void);
-extern void globals_of_w32fns (void);
-extern void syms_of_w32select (void);
-extern void globals_of_w32select (void);
-extern void term_w32select (void);
-extern void syms_of_w32menu (void);
-extern void globals_of_w32menu (void);
-extern void syms_of_fontset (void);
+
+extern void term_timers (void);
+extern void init_timers (void);
 
 extern int _sys_read_ahead (int fd);
 extern int _sys_wait_accept (int fd);
 
+extern Lisp_Object QCloaded_from;
+extern HMODULE w32_delayed_load (Lisp_Object);
+
+extern void init_environment (char **);
+extern void check_windows_init_file (void);
+extern void syms_of_ntproc (void);
+extern void syms_of_ntterm (void);
+extern void dostounix_filename (register char *);
+extern void unixtodos_filename (register char *);
+extern BOOL init_winsock (int load_now);
+extern void srandom (int);
+extern int random (void);
+
+extern int sys_pipe (int *);
+
+extern void set_process_dir (char *);
+extern int sys_spawnve (int, char *, char **, char **);
+extern void register_child (int, int);
+
+extern void sys_sleep (int);
+extern char *getwd (char *);
+extern int sys_link (const char *, const char *);
+
+
+
+#ifdef HAVE_GNUTLS
+#include <gnutls/gnutls.h>
+
+/* GnuTLS pull (read from remote) interface.  */
+extern ssize_t emacs_gnutls_pull (gnutls_transport_ptr_t p,
+                                  void* buf, size_t sz);
+
+/* GnuTLS push (write to remote) interface.  */
+extern ssize_t emacs_gnutls_push (gnutls_transport_ptr_t p,
+                                  const void* buf, size_t sz);
+#endif /* HAVE_GNUTLS */
+
 #endif /* EMACS_W32_H */
 
-/* arch-tag: 02c36b00-312b-4c4d-a1d9-f905c5e968f0
-   (do not change this comment) */