Annotation of qemu/qemu-common.h, revision 1.1

1.1     ! root        1: /* Common header file that is included by all of qemu.  */
        !             2: #ifndef QEMU_COMMON_H
        !             3: #define QEMU_COMMON_H
        !             4: 
        !             5: /* we put basic includes here to avoid repeating them in device drivers */
        !             6: #include <stdlib.h>
        !             7: #include <stdio.h>
        !             8: #include <stdarg.h>
        !             9: #include <string.h>
        !            10: #include <inttypes.h>
        !            11: #include <limits.h>
        !            12: #include <time.h>
        !            13: #include <ctype.h>
        !            14: #include <errno.h>
        !            15: #include <unistd.h>
        !            16: #include <fcntl.h>
        !            17: #include <sys/stat.h>
        !            18: 
        !            19: #ifndef O_LARGEFILE
        !            20: #define O_LARGEFILE 0
        !            21: #endif
        !            22: #ifndef O_BINARY
        !            23: #define O_BINARY 0
        !            24: #endif
        !            25: 
        !            26: #ifndef ENOMEDIUM
        !            27: #define ENOMEDIUM ENODEV
        !            28: #endif
        !            29: 
        !            30: #ifdef _WIN32
        !            31: #define WIN32_LEAN_AND_MEAN
        !            32: #include <windows.h>
        !            33: #define fsync _commit
        !            34: #define lseek _lseeki64
        !            35: #define ENOTSUP 4096
        !            36: extern int qemu_ftruncate64(int, int64_t);
        !            37: #define ftruncate qemu_ftruncate64
        !            38: 
        !            39: 
        !            40: static inline char *realpath(const char *path, char *resolved_path)
        !            41: {
        !            42:     _fullpath(resolved_path, path, _MAX_PATH);
        !            43:     return resolved_path;
        !            44: }
        !            45: 
        !            46: #define PRId64 "I64d"
        !            47: #define PRIx64 "I64x"
        !            48: #define PRIu64 "I64u"
        !            49: #define PRIo64 "I64o"
        !            50: #endif
        !            51: 
        !            52: /* FIXME: Remove NEED_CPU_H.  */
        !            53: #ifndef NEED_CPU_H
        !            54: 
        !            55: #include "config-host.h"
        !            56: #include <setjmp.h>
        !            57: #include "osdep.h"
        !            58: #include "bswap.h"
        !            59: 
        !            60: #else
        !            61: 
        !            62: #include "cpu.h"
        !            63: 
        !            64: #endif /* !defined(NEED_CPU_H) */
        !            65: 
        !            66: /* bottom halves */
        !            67: typedef struct QEMUBH QEMUBH;
        !            68: 
        !            69: typedef void QEMUBHFunc(void *opaque);
        !            70: 
        !            71: QEMUBH *qemu_bh_new(QEMUBHFunc *cb, void *opaque);
        !            72: void qemu_bh_schedule(QEMUBH *bh);
        !            73: void qemu_bh_cancel(QEMUBH *bh);
        !            74: void qemu_bh_delete(QEMUBH *bh);
        !            75: int qemu_bh_poll(void);
        !            76: 
        !            77: uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
        !            78: 
        !            79: /* cutils.c */
        !            80: void pstrcpy(char *buf, int buf_size, const char *str);
        !            81: char *pstrcat(char *buf, int buf_size, const char *s);
        !            82: int strstart(const char *str, const char *val, const char **ptr);
        !            83: int stristart(const char *str, const char *val, const char **ptr);
        !            84: time_t mktimegm(struct tm *tm);
        !            85: 
        !            86: /* Error handling.  */
        !            87: 
        !            88: void hw_error(const char *fmt, ...)
        !            89:     __attribute__ ((__format__ (__printf__, 1, 2)))
        !            90:     __attribute__ ((__noreturn__));
        !            91: 
        !            92: /* IO callbacks.  */
        !            93: typedef void IOReadHandler(void *opaque, const uint8_t *buf, int size);
        !            94: typedef int IOCanRWHandler(void *opaque);
        !            95: typedef void IOHandler(void *opaque);
        !            96: 
        !            97: struct ParallelIOArg {
        !            98:     void *buffer;
        !            99:     int count;
        !           100: };
        !           101: 
        !           102: typedef int (*DMA_transfer_handler) (void *opaque, int nchan, int pos, int size);
        !           103: 
        !           104: /* A load of opaque types so that device init declarations don't have to
        !           105:    pull in all the real definitions.  */
        !           106: typedef struct NICInfo NICInfo;
        !           107: typedef struct AudioState AudioState;
        !           108: typedef struct BlockDriverState BlockDriverState;
        !           109: typedef struct DisplayState DisplayState;
        !           110: typedef struct TextConsole TextConsole;
        !           111: typedef struct CharDriverState CharDriverState;
        !           112: typedef struct VLANState VLANState;
        !           113: typedef struct QEMUFile QEMUFile;
        !           114: typedef struct i2c_bus i2c_bus;
        !           115: typedef struct i2c_slave i2c_slave;
        !           116: typedef struct SMBusDevice SMBusDevice;
        !           117: typedef struct QEMUTimer QEMUTimer;
        !           118: typedef struct PCIBus PCIBus;
        !           119: typedef struct PCIDevice PCIDevice;
        !           120: typedef struct SerialState SerialState;
        !           121: typedef struct IRQState *qemu_irq;
        !           122: struct pcmcia_card_s;
        !           123: 
        !           124: #endif

unix.superglobalmegacorp.com