Annotation of qemu/qemu-os-win32.h, revision 1.1.1.5

1.1       root        1: /*
                      2:  * win32 specific declarations
                      3:  *
                      4:  * Copyright (c) 2003-2008 Fabrice Bellard
                      5:  * Copyright (c) 2010 Jes Sorensen <Jes.Sorensen@redhat.com>
                      6:  *
                      7:  * Permission is hereby granted, free of charge, to any person obtaining a copy
                      8:  * of this software and associated documentation files (the "Software"), to deal
                      9:  * in the Software without restriction, including without limitation the rights
                     10:  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
                     11:  * copies of the Software, and to permit persons to whom the Software is
                     12:  * furnished to do so, subject to the following conditions:
                     13:  *
                     14:  * The above copyright notice and this permission notice shall be included in
                     15:  * all copies or substantial portions of the Software.
                     16:  *
                     17:  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
                     18:  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
                     19:  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
                     20:  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
                     21:  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
                     22:  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
                     23:  * THE SOFTWARE.
                     24:  */
                     25: 
                     26: #ifndef QEMU_OS_WIN32_H
                     27: #define QEMU_OS_WIN32_H
                     28: 
1.1.1.3   root       29: #include <windows.h>
                     30: #include <winsock2.h>
1.1.1.4   root       31: #include "main-loop.h"
1.1.1.3   root       32: 
1.1.1.5 ! root       33: /* Workaround for older versions of MinGW. */
        !            34: #ifndef ECONNREFUSED
        !            35: # define ECONNREFUSED WSAECONNREFUSED
        !            36: #endif
        !            37: #ifndef EINPROGRESS
        !            38: # define EINPROGRESS  WSAEINPROGRESS
        !            39: #endif
        !            40: #ifndef EHOSTUNREACH
        !            41: # define EHOSTUNREACH WSAEHOSTUNREACH
        !            42: #endif
        !            43: #ifndef EINTR
        !            44: # define EINTR        WSAEINTR
        !            45: #endif
        !            46: #ifndef EINPROGRESS
        !            47: # define EINPROGRESS  WSAEINPROGRESS
        !            48: #endif
        !            49: #ifndef ENETUNREACH
        !            50: # define ENETUNREACH  WSAENETUNREACH
        !            51: #endif
        !            52: #ifndef ENOTCONN
        !            53: # define ENOTCONN     WSAENOTCONN
        !            54: #endif
        !            55: #ifndef EWOULDBLOCK
        !            56: # define EWOULDBLOCK  WSAEWOULDBLOCK
        !            57: #endif
        !            58: 
        !            59: #if defined(_WIN64)
        !            60: /* On w64, setjmp is implemented by _setjmp which needs a second parameter.
        !            61:  * If this parameter is NULL, longjump does no stack unwinding.
        !            62:  * That is what we need for QEMU. Passing the value of register rsp (default)
        !            63:  * lets longjmp try a stack unwinding which will crash with generated code. */
        !            64: # undef setjmp
        !            65: # define setjmp(env) _setjmp(env, NULL)
        !            66: #endif
        !            67: 
1.1.1.3   root       68: /* Declaration of ffs() is missing in MinGW's strings.h. */
                     69: int ffs(int i);
                     70: 
1.1       root       71: static inline void os_setup_signal_handling(void) {}
                     72: static inline void os_daemonize(void) {}
                     73: static inline void os_setup_post(void) {}
1.1.1.2   root       74: void os_set_line_buffering(void);
1.1       root       75: static inline void os_set_proc_name(const char *dummy) {}
                     76: 
                     77: #if !defined(EPROTONOSUPPORT)
                     78: # define EPROTONOSUPPORT EINVAL
                     79: #endif
                     80: 
1.1.1.2   root       81: int setenv(const char *name, const char *value, int overwrite);
                     82: 
                     83: typedef struct {
                     84:     long tv_sec;
                     85:     long tv_usec;
                     86: } qemu_timeval;
                     87: int qemu_gettimeofday(qemu_timeval *tp);
                     88: 
1.1       root       89: #endif

unix.superglobalmegacorp.com