Add files somehow forgotten by bzr git-apply.
[bpt/emacs.git] / src / cygw32.h
CommitLineData
f701ab72
DC
1/* Header for Cygwin support routines.
2 Copyright (C) 2011 Free Software Foundation, Inc.
3
4This file is part of GNU Emacs.
5
6GNU Emacs is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
10
11GNU Emacs is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
18
19#ifndef CYGW32_H
20#define CYGW32_H
21#include <config.h>
22#include <windef.h>
23#include <sys/cygwin.h>
24#include <wchar.h>
25
26#include <signal.h>
27#include <stdio.h>
28#include <limits.h>
29#include <errno.h>
30#include <math.h>
31#include <setjmp.h>
32
33#include "lisp.h"
34#include "coding.h"
35
36/* *** Character conversion *** */
37
38/* Access the wide-character string stored in a Lisp string object. */
39#define WCSDATA(x) ((wchar_t *) SDATA (x))
40
41/* Convert the Emacs string in STR to UTF-16LE and store a new string
42 containing the encoded version of STR into *BUF. BUF may safely
43 point to STR on entry. */
44extern wchar_t *to_unicode (Lisp_Object str, Lisp_Object *buf);
45
46/* Convert STR, a UTF-16LE encoded string embedded in an Emacs string
47 object, to a normal Emacs string and return it. */
48extern Lisp_Object from_unicode (Lisp_Object str);
49
50/* *** Path conversion. *** */
51
52EXFUN (Fcygwin_convert_path_to_windows, 2);
53EXFUN (Fcygwin_convert_path_from_windows, 2);
54
55/* *** Misc *** */
56extern void syms_of_cygw32 (void);
57extern char * w32_strerror (int error_no);
58
59#endif /* CYGW32_H */