> > Hi Frediano, > > On Mon, 2016-05-09 at 11:51 +0100, Frediano Ziglio wrote: > > Different headers changes: > > - order headers: > > - system/no-spice library includes; > > - spice-common/spice-protocol; > maybe protocol before common (just to keep one style in all the files)? quite strictly kind of: #include <system_headers.h> #include <no_spice_no_system_libraries.h> #include <spice_protocol.h> #include <spice_commont.h> #include "spice-server.h" (note the empty line in the middle!) > > - spice-server; > > - every header must be auto sufficient; > > - use definition include only if necessary. > > > > What do you mean by "definition include" ? > some kind of bad and too much copy&paste I think. - use include only if necessary to have specific definitions. The "definition" came from wanting to avoid includes just for structure declarations. so instead of #include "foo_definition.h" void do_something(foo *p_foo); (where foo is a structure typedef), use something like struct foo; void do_something(struct foo *p_foo); this will avoid the nightmare of moving typedefs every 5 minutes and reduce the dependencies quite a lot. > It is always better to have some rules, I like your suggestion. > > Also would be nice to update the documentation (SPICE style) when we agree on > the style. > I propose to remove the pdf file and add a "standard" (something like Linux) CodingStyle file in git repository. But perhaps the file would have to be duplicated between different repositories. Frediano > Thanks, > Pavel > > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > > --- > > server/agent-msg-filter.h | 9 ++++++--- > > server/cache-item.h | 2 +- > > server/char-device.h | 3 +-- > > server/cursor-channel.h | 3 --- > > server/dcc-encoders.h | 42 > > +++++++++++++++++++++++----------------- > > - > > server/dcc-send.c | 8 +++++--- > > server/dcc.c | 2 ++ > > server/dcc.h | 10 ++++++---- > > server/demarshallers.h | 3 +++ > > server/dispatcher.c | 1 + > > server/dispatcher.h | 2 +- > > server/display-channel.c | 3 +++ > > server/display-channel.h | 24 ++--------------------- > > server/glz-encoder-priv.h | 4 +++- > > server/glz-encoder.h | 1 - > > server/inputs-channel.h | 2 ++ > > server/main-dispatcher.h | 1 - > > server/memslot.c | 3 +-- > > server/memslot.h | 2 -- > > server/migration-protocol.h | 2 ++ > > server/pixmap-cache.c | 1 + > > server/pixmap-cache.h | 10 +++++++--- > > server/red-channel.h | 4 +--- > > server/red-parse-qxl.h | 9 ++++++--- > > server/red-pipe-item.h | 1 + > > server/red-qxl.h | 1 - > > server/red-record-qxl.h | 7 ++++--- > > server/red-replay-qxl.h | 3 ++- > > server/red-worker.c | 3 +++ > > server/red-worker.h | 3 +-- > > server/reds-private.h | 5 +++++ > > server/reds-stream.h | 8 ++------ > > server/reds.h | 6 ++---- > > server/smartcard.h | 2 ++ > > server/sound.h | 6 ++++-- > > server/spice-bitmap-utils.h | 5 ++++- > > server/stat.h | 1 + > > server/stream.c | 2 ++ > > server/stream.h | 4 ++-- > > server/tests/replay.c | 1 + > > server/tests/test-qxl-parsing.c | 1 + > > server/tree.h | 3 ++- > > server/utils.h | 3 ++- > > server/video-encoder.h | 3 +++ > > server/zlib-encoder.h | 2 ++ > > 45 files changed, 124 insertions(+), 97 deletions(-) > > > > diff --git a/server/agent-msg-filter.h b/server/agent-msg-filter.h > > index 836ddbd..e7eef1a 100644 > > --- a/server/agent-msg-filter.h > > +++ b/server/agent-msg-filter.h > > @@ -21,6 +21,9 @@ > > #ifndef _H_AGENT_MSG_FILTER > > #define _H_AGENT_MSG_FILTER > > > > +#include <inttypes.h> > > +#include <glib.h> > > + > > /* Possible return values for agent_msg_filter_process_data */ > > enum { > > AGENT_MSG_FILTER_OK, > > @@ -39,14 +42,14 @@ typedef struct AgentMsgFilter { > > gboolean discard_all; > > } AgentMsgFilter; > > > > -void agent_msg_filter_init(struct AgentMsgFilter *filter, > > +void agent_msg_filter_init(AgentMsgFilter *filter, > > gboolean copy_paste, gboolean file_xfer, > > gboolean use_client_monitors_config, > > gboolean discard_all); > > -void agent_msg_filter_config(struct AgentMsgFilter *filter, > > +void agent_msg_filter_config(AgentMsgFilter *filter, > > gboolean copy_paste, gboolean file_xfer, > > gboolean use_client_monitors_config); > > -int agent_msg_filter_process_data(struct AgentMsgFilter *filter, > > +int agent_msg_filter_process_data(AgentMsgFilter *filter, > > uint8_t *data, uint32_t len); > > > > #endif > > diff --git a/server/cache-item.h b/server/cache-item.h > > index f72c0ff..f13a69a 100644 > > --- a/server/cache-item.h > > +++ b/server/cache-item.h > > @@ -18,8 +18,8 @@ > > #ifndef CACHE_ITEM_H_ > > # define CACHE_ITEM_H_ > > > > -#include "red-channel.h" > > #include <common/ring.h> > > +#include "red-pipe-item.h" > > > > typedef struct RedCacheItem RedCacheItem; > > > > diff --git a/server/char-device.h b/server/char-device.h > > index d05b1fd..0dec86a 100644 > > --- a/server/char-device.h > > +++ b/server/char-device.h > > @@ -20,9 +20,8 @@ > > > > #include <glib-object.h> > > > > -#include "spice.h" > > -#include "red-channel.h" > > #include "migration-protocol.h" > > +#include "red-channel.h" > > > > #define RED_TYPE_CHAR_DEVICE red_char_device_get_type() > > > > diff --git a/server/cursor-channel.h b/server/cursor-channel.h > > index 4dad4b6..3b56824 100644 > > --- a/server/cursor-channel.h > > +++ b/server/cursor-channel.h > > @@ -18,10 +18,7 @@ > > #ifndef CURSOR_CHANNEL_H_ > > # define CURSOR_CHANNEL_H_ > > > > -#include "spice.h" > > -#include "reds.h" > > #include "red-worker.h" > > -#include "red-parse-qxl.h" > > > > typedef struct CursorChannel CursorChannel; > > typedef struct CursorChannelClient CursorChannelClient; > > diff --git a/server/dcc-encoders.h b/server/dcc-encoders.h > > index 14759c5..5f2f519 100644 > > --- a/server/dcc-encoders.h > > +++ b/server/dcc-encoders.h > > @@ -19,11 +19,13 @@ > > #define DCC_ENCODERS_H_ > > > > #include <setjmp.h> > > + > > #include <common/marshaller.h> > > #include <common/quic.h> > > -#include "red-channel.h" > > +#include <common/lz.h> > > +#include <common/ring.h> > > + > > #include "red-parse-qxl.h" > > -#include "image-cache.h" > > #include "glz-encoder.h" > > #include "jpeg-encoder.h" > > #ifdef USE_LZ4 > > @@ -31,21 +33,25 @@ > > #endif > > #include "zlib-encoder.h" > > > > +struct RedClient; > > +struct Drawable; > > +struct DisplayChannelClient; > > + > > typedef struct RedCompressBuf RedCompressBuf; > > typedef struct GlzDrawableInstanceItem GlzDrawableInstanceItem; > > typedef struct RedGlzDrawable RedGlzDrawable; > > > > -void dcc_encoders_init > > (DisplayChannelC > > lient *dcc); > > -void dcc_encoders_free > > (DisplayChannelC > > lient *dcc); > > -void dcc_free_glz_drawable_instance > > (DisplayChannelC > > lient *dcc, > > +void dcc_encoders_init (struct > > DisplayChannelClient *dcc); > > +void dcc_encoders_free (struct > > DisplayChannelClient *dcc); > > +void dcc_free_glz_drawable_instance (struct > > DisplayChannelClient *dcc, > > GlzDrawableInst > > anceItem *item); > > -void dcc_free_glz_drawable > > (DisplayChannelC > > lient *dcc, > > +void dcc_free_glz_drawable (struct > > DisplayChannelClient *dcc, > > RedGlzDrawable > > *drawable); > > -int dcc_free_some_independent_glz_drawables > > (DisplayChannelC > > lient *dcc); > > -void dcc_free_glz_drawables > > (DisplayChannelC > > lient *dcc); > > -void dcc_free_glz_drawables_to_free > > (DisplayChannelC > > lient* dcc); > > -void dcc_freeze_glz > > (DisplayChannelC > > lient *dcc); > > -void dcc_release_glz > > (DisplayChannelC > > lient *dcc); > > +int dcc_free_some_independent_glz_drawables (struct > > DisplayChannelClient *dcc); > > +void dcc_free_glz_drawables (struct > > DisplayChannelClient *dcc); > > +void dcc_free_glz_drawables_to_free (struct > > DisplayChannelClient* dcc); > > +void dcc_freeze_glz (struct > > DisplayChannelClient *dcc); > > +void dcc_release_glz (struct > > DisplayChannelClient *dcc); > > > > void marshaller_add_compressed > > (SpiceMarshaller > > *m, > > RedCompressBuf > > *comp_buf, > > @@ -71,17 +77,17 @@ typedef struct GlzSharedDictionary { > > uint8_t id; > > pthread_rwlock_t encode_lock; > > int migrate_freeze; > > - RedClient *client; // channel clients of the same client share the > > dict > > + struct RedClient *client; // channel clients of the same client share > > the > > dict > > } GlzSharedDictionary; > > > > -GlzSharedDictionary* > > dcc_get_glz_dictionary (DisplayChannelClient *dcc, > > +GlzSharedDictionary* dcc_get_glz_dictionary (struct > > DisplayChannelClient *dcc, > > uint8_t id, > > int > > window_size); > > -GlzSharedDictionary* > > dcc_restore_glz_dictionary (DisplayChannelClient *dcc, > > +GlzSharedDictionary* dcc_restore_glz_dictionary (struct > > DisplayChannelClient *dcc, > > uint8_t id, > > GlzEncDictResto > > reData *restore_data); > > > > typedef struct { > > - DisplayChannelClient *dcc; > > + struct DisplayChannelClient *dcc; > > RedCompressBuf *bufs_head; > > RedCompressBuf *bufs_tail; > > jmp_buf jmp_env; > > @@ -100,7 +106,7 @@ typedef struct { > > char message_buf[512]; > > } EncoderData; > > > > -void encoder_data_init(EncoderData *data, DisplayChannelClient *dcc); > > +void encoder_data_init(EncoderData *data, struct DisplayChannelClient > > *dcc); > > void encoder_data_reset(EncoderData *data); > > > > typedef struct { > > @@ -155,11 +161,11 @@ struct RedGlzDrawable { > > RingItem link; // ordered by the time it was encoded > > RingItem drawable_link; > > RedDrawable *red_drawable; > > - Drawable *drawable; > > + struct Drawable *drawable; > > GlzDrawableInstanceItem instances_pool[MAX_GLZ_DRAWABLE_INSTANCES]; > > Ring instances; > > uint8_t instances_count; > > - DisplayChannelClient *dcc; > > + struct DisplayChannelClient *dcc; > > }; > > > > #define RED_RELEASE_BUNCH_SIZE 64 > > diff --git a/server/dcc-send.c b/server/dcc-send.c > > index 5f967cc..67e505c 100644 > > --- a/server/dcc-send.c > > +++ b/server/dcc-send.c > > @@ -19,12 +19,14 @@ > > #include <config.h> > > #endif > > > > -#include "dcc.h" > > -#include "display-channel.h" > > - > > #include <common/marshaller.h> > > #include <common/generated_server_marshallers.h> > > > > +#include "reds.h" > > +#include "dcc.h" > > +#include "display-channel.h" > > +#include "cache-item.h" > > + > > typedef enum { > > FILL_BITS_TYPE_INVALID, > > FILL_BITS_TYPE_CACHE, > > diff --git a/server/dcc.c b/server/dcc.c > > index db77cc7..a73d9b9 100644 > > --- a/server/dcc.c > > +++ b/server/dcc.c > > @@ -21,6 +21,8 @@ > > > > #include "dcc.h" > > #include "display-channel.h" > > +#include "migration-protocol.h" > > +#include "cache-item.h" > > > > #define DISPLAY_CLIENT_SHORT_TIMEOUT 15000000000ULL //nano > > > > diff --git a/server/dcc.h b/server/dcc.h > > index 1dd53bd..9d0b554 100644 > > --- a/server/dcc.h > > +++ b/server/dcc.h > > @@ -18,12 +18,12 @@ > > #ifndef DCC_H_ > > # define DCC_H_ > > > > -#include "red-worker.h" > > +#include "image-cache.h" > > #include "pixmap-cache.h" > > -#include "cache-item.h" > > +#include "display-limits.h" > > +#include "red-worker.h" > > #include "dcc-encoders.h" > > #include "stream.h" > > -#include "display-limits.h" > > > > #define PALETTE_CACHE_HASH_SHIFT 8 > > #define PALETTE_CACHE_HASH_SIZE (1 << PALETTE_CACHE_HASH_SHIFT) > > @@ -42,6 +42,8 @@ > > > > #define MAX_PIPE_SIZE 50 > > > > +struct RedCacheItem; > > + > > typedef struct WaitForChannels { > > SpiceMsgWaitForChannels header; > > SpiceWaitForChannel buf[MAX_CACHE_CLIENTS]; > > @@ -82,7 +84,7 @@ struct DisplayChannelClient { > > uint32_t pixmap_cache_generation; > > int pending_pixmaps_sync; > > > > - RedCacheItem *palette_cache[PALETTE_CACHE_HASH_SIZE]; > > + struct RedCacheItem *palette_cache[PALETTE_CACHE_HASH_SIZE]; > > Ring palette_cache_lru; > > long palette_cache_available; > > uint32_t palette_cache_items; > > diff --git a/server/demarshallers.h b/server/demarshallers.h > > index c3d770d..dc35645 100644 > > --- a/server/demarshallers.h > > +++ b/server/demarshallers.h > > @@ -17,6 +17,9 @@ > > #ifndef _H_DEMARSHAL > > #define _H_DEMARSHAL > > > > +#include <stddef.h> > > +#include <inttypes.h> > > + > > typedef void (*message_destructor_t)(uint8_t *message); > > typedef uint8_t * (*spice_parse_channel_func_t)(uint8_t *message_start, > > uint8_t *message_end, uint16_t message_type, int minor, > > size_t *size_out, > > message_destructor_t *free_message); > > diff --git a/server/dispatcher.c b/server/dispatcher.c > > index b9e23f6..96dccb8 100644 > > --- a/server/dispatcher.c > > +++ b/server/dispatcher.c > > @@ -30,6 +30,7 @@ > > > > #include <common/mem.h> > > #include <common/spice_common.h> > > +#include "red-common.h" > > #include "dispatcher.h" > > > > //#define DEBUG_DISPATCHER > > diff --git a/server/dispatcher.h b/server/dispatcher.h > > index caaebc5..b187a0e 100644 > > --- a/server/dispatcher.h > > +++ b/server/dispatcher.h > > @@ -18,8 +18,8 @@ > > #ifndef DISPATCHER_H > > #define DISPATCHER_H > > > > +#include <inttypes.h> > > #include <glib-object.h> > > -#include "red-common.h" > > > > #define TYPE_DISPATCHER dispatcher_get_type() > > > > diff --git a/server/display-channel.c b/server/display-channel.c > > index 1f4d66f..245f241 100644 > > --- a/server/display-channel.c > > +++ b/server/display-channel.c > > @@ -18,7 +18,10 @@ > > #include <config.h> > > #endif > > > > +#include <common/sw_canvas.h> > > + > > #include "display-channel.h" > > +#include "reds.h" > > > > static void drawable_draw(DisplayChannel *display, Drawable *drawable); > > > > diff --git a/server/display-channel.h b/server/display-channel.h > > index 1d20be0..efb0b44 100644 > > --- a/server/display-channel.h > > +++ b/server/display-channel.h > > @@ -21,32 +21,12 @@ > > #include <setjmp.h> > > > > #include <common/rect.h> > > -#include <common/sw_canvas.h> > > - > > -#include "red-worker.h" > > -#include "reds-stream.h" > > -#include "cache-item.h" > > -#include "pixmap-cache.h" > > -#include "stat.h" > > -#include "reds.h" > > -#include "memslot.h" > > -#include "red-parse-qxl.h" > > -#include "red-record-qxl.h" > > -#include "demarshallers.h" > > -#include "red-channel.h" > > -#include "red-qxl.h" > > -#include "dispatcher.h" > > -#include "main-channel.h" > > -#include "migration-protocol.h" > > -#include "main-dispatcher.h" > > + > > #include "spice-bitmap-utils.h" > > -#include "image-cache.h" > > -#include "utils.h" > > #include "tree.h" > > +#include "red-channel.h" > > #include "stream.h" > > #include "dcc.h" > > -#include "display-limits.h" > > - > > > > typedef struct DependItem { > > Drawable *drawable; > > diff --git a/server/glz-encoder-priv.h b/server/glz-encoder-priv.h > > index 919c439..1c76576 100644 > > --- a/server/glz-encoder-priv.h > > +++ b/server/glz-encoder-priv.h > > @@ -18,7 +18,9 @@ > > #ifndef GLZ_ENCODER_PRIV_H_ > > #define GLZ_ENCODER_PRIV_H_ > > > > -#include "red-common.h" > > +#include <pthread.h> > > +#include <common/lz_common.h> > > +#include "glz-encoder-dict.h" > > > > /* Interface for using the dictionary for encoding. > > Data structures are exposed for the encoder for efficiency > > diff --git a/server/glz-encoder.h b/server/glz-encoder.h > > index 6f4f44d..6a597d7 100644 > > --- a/server/glz-encoder.h > > +++ b/server/glz-encoder.h > > @@ -20,7 +20,6 @@ > > > > /* Manging the lz encoding using a dictionary that is shared among > > encoders > > */ > > > > -#include "red-common.h" > > #include <common/lz_common.h> > > #include "glz-encoder-dict.h" > > > > diff --git a/server/inputs-channel.h b/server/inputs-channel.h > > index fce757f..9213aec 100644 > > --- a/server/inputs-channel.h > > +++ b/server/inputs-channel.h > > @@ -24,6 +24,8 @@ > > #include <stdint.h> > > #include <spice/vd_agent.h> > > > > +#include "red-channel.h" > > + > > typedef struct InputsChannel InputsChannel; > > > > InputsChannel* inputs_channel_new(RedsState *reds); > > diff --git a/server/main-dispatcher.h b/server/main-dispatcher.h > > index ffe82c8..3e9d9de 100644 > > --- a/server/main-dispatcher.h > > +++ b/server/main-dispatcher.h > > @@ -18,7 +18,6 @@ > > #ifndef MAIN_DISPATCHER_H > > #define MAIN_DISPATCHER_H > > > > -#include <spice.h> > > #include "dispatcher.h" > > #include "red-channel.h" > > > > diff --git a/server/memslot.c b/server/memslot.c > > index 99c63e4..0881f86 100644 > > --- a/server/memslot.c > > +++ b/server/memslot.c > > @@ -19,8 +19,7 @@ > > #include <config.h> > > #endif > > > > -#include <inttypes.h> > > - > > +#include "red-common.h" > > #include "memslot.h" > > > > static unsigned long __get_clean_virt(RedMemSlotInfo *info, QXLPHYSICAL > > addr) > > diff --git a/server/memslot.h b/server/memslot.h > > index 0caa627..c4aa8c6 100644 > > --- a/server/memslot.h > > +++ b/server/memslot.h > > @@ -19,8 +19,6 @@ > > #ifndef MEMSLOT_H_ > > #define MEMSLOT_H_ > > > > -#include "red-common.h" > > - > > #include <spice/qxl_dev.h> > > > > typedef struct MemSlot { > > diff --git a/server/migration-protocol.h b/server/migration-protocol.h > > index c1d97ef..3f08150 100644 > > --- a/server/migration-protocol.h > > +++ b/server/migration-protocol.h > > @@ -20,6 +20,8 @@ > > > > #include <spice/macros.h> > > #include <spice/vd_agent.h> > > +#include <common/log.h> > > + > > #include "glz-encoder-dict.h" > > > > /* ************************************************ > > diff --git a/server/pixmap-cache.c b/server/pixmap-cache.c > > index a485268..12081ac 100644 > > --- a/server/pixmap-cache.c > > +++ b/server/pixmap-cache.c > > @@ -18,6 +18,7 @@ > > #include <config.h> > > #endif > > > > +#include "red-channel.h" > > #include "pixmap-cache.h" > > > > int pixmap_cache_unlocked_set_lossy(PixmapCache *cache, uint64_t id, int > > lossy) > > diff --git a/server/pixmap-cache.h b/server/pixmap-cache.h > > index 66658f3..6bce986 100644 > > --- a/server/pixmap-cache.h > > +++ b/server/pixmap-cache.h > > @@ -18,7 +18,9 @@ > > #ifndef _PIXMAP_CACHE_H > > # define _PIXMAP_CACHE_H > > > > -#include "red-channel.h" > > +#include <stddef.h> > > +#include <inttypes.h> > > +#include <common/ring.h> > > > > #define MAX_CACHE_CLIENTS 4 > > > > @@ -27,6 +29,8 @@ > > #define BITS_CACHE_HASH_MASK (BITS_CACHE_HASH_SIZE - 1) > > #define BITS_CACHE_HASH_KEY(id) ((id) & BITS_CACHE_HASH_MASK) > > > > +struct RedClient; > > + > > typedef struct PixmapCache PixmapCache; > > typedef struct NewCacheItem NewCacheItem; > > > > @@ -61,10 +65,10 @@ struct PixmapCache { > > } generation_initiator; > > uint64_t sync[MAX_CACHE_CLIENTS]; // here CLIENTS refer to different > > channel > > // clients of the same client > > - RedClient *client; > > + struct RedClient *client; > > }; > > > > -PixmapCache *pixmap_cache_get(RedClient *client, uint8_t id, int64_t > > size); > > +PixmapCache *pixmap_cache_get(struct RedClient *client, uint8_t id, > > int64_t > > size); > > void pixmap_cache_unref(PixmapCache *cache); > > void pixmap_cache_clear(PixmapCache *cache); > > int pixmap_cache_unlocked_set_lossy(PixmapCache *cache, uint64_t > > id, > > int lossy); > > diff --git a/server/red-channel.h b/server/red-channel.h > > index bc225c6..e0998fa 100644 > > --- a/server/red-channel.h > > +++ b/server/red-channel.h > > @@ -28,12 +28,10 @@ > > #include <common/ring.h> > > #include <common/marshaller.h> > > > > -#include "spice.h" > > -#include "red-common.h" > > #include "demarshallers.h" > > -#include "reds-stream.h" > > #include "stat.h" > > #include "red-pipe-item.h" > > +#include "reds-stream.h" > > > > #define MAX_SEND_BUFS 1000 > > #define CLIENT_ACK_WINDOW 20 > > diff --git a/server/red-parse-qxl.h b/server/red-parse-qxl.h > > index 9c30572..508a1b3 100644 > > --- a/server/red-parse-qxl.h > > +++ b/server/red-parse-qxl.h > > @@ -16,11 +16,14 @@ > > License along with this library; if not, see > > <http://www.gnu.org/licenses/ > > >. > > */ > > > > -#ifndef RED_ABI_TRANSLATE_H > > -#define RED_ABI_TRANSLATE_H > > +#ifndef RED_PARSE_QXL_H > > +#define RED_PARSE_QXL_H > > > > +#include <common/draw.h> > > +#include <common/messages.h> > > #include <spice/qxl_dev.h> > > -#include "red-common.h" > > + > > +#include "spice-qxl.h" > > #include "memslot.h" > > > > typedef struct RedDrawable { > > diff --git a/server/red-pipe-item.h b/server/red-pipe-item.h > > index 8bb12b7..0ff4852 100644 > > --- a/server/red-pipe-item.h > > +++ b/server/red-pipe-item.h > > @@ -19,6 +19,7 @@ > > #define _H_RED_PIPE_ITEM > > > > #include <glib.h> > > +#include <common/ring.h> > > > > typedef struct { > > RingItem link; > > diff --git a/server/red-qxl.h b/server/red-qxl.h > > index c9b6b36..ce80f97 100644 > > --- a/server/red-qxl.h > > +++ b/server/red-qxl.h > > @@ -19,7 +19,6 @@ > > #define _H_RED_DISPATCHER > > > > #include "red-channel.h" > > -#include "spice-qxl.h" > > > > typedef struct AsyncCommand AsyncCommand; > > > > diff --git a/server/red-record-qxl.h b/server/red-record-qxl.h > > index 21f0bc9..4137ff8 100644 > > --- a/server/red-record-qxl.h > > +++ b/server/red-record-qxl.h > > @@ -16,11 +16,12 @@ > > along with this program. If not, see <http://www.gnu.org/licenses/>. > > */ > > > > -#ifndef RED_ABI_RECORD_H > > -#define RED_ABI_RECORD_H > > +#ifndef RED_RECORD_QXL_H > > +#define RED_RECORD_QXL_H > > > > +#include <stdio.h> > > #include <spice/qxl_dev.h> > > -#include "red-common.h" > > +#include "spice-qxl.h" > > #include "memslot.h" > > > > void red_record_dev_input_primary_surface_create( > > diff --git a/server/red-replay-qxl.h b/server/red-replay-qxl.h > > index a89b3d4..f33820c 100644 > > --- a/server/red-replay-qxl.h > > +++ b/server/red-replay-qxl.h > > @@ -20,7 +20,8 @@ > > > > #include <stdio.h> > > #include <spice/qxl_dev.h> > > -#include <spice.h> > > + > > +#include "spice-qxl.h" > > > > typedef struct SpiceReplay SpiceReplay; > > > > diff --git a/server/red-worker.c b/server/red-worker.c > > index 8d8073e..33af442 100644 > > --- a/server/red-worker.c > > +++ b/server/red-worker.c > > @@ -48,9 +48,12 @@ > > #include "stream.h" > > > > #include "spice.h" > > +#include "red-record-qxl.h" > > #include "red-worker.h" > > #include "cursor-channel.h" > > #include "tree.h" > > +#include "main-channel.h" > > +#include "reds.h" > > > > #define CMD_RING_POLL_TIMEOUT 10 //milli > > #define CMD_RING_POLL_RETRIES 1 > > diff --git a/server/red-worker.h b/server/red-worker.h > > index d7525e0..8517af5 100644 > > --- a/server/red-worker.h > > +++ b/server/red-worker.h > > @@ -18,9 +18,8 @@ > > #ifndef _H_REDWORKER > > #define _H_REDWORKER > > > > -#include "red-common.h" > > -#include "red-qxl.h" > > #include "red-parse-qxl.h" > > +#include "red-qxl.h" > > > > typedef struct RedWorker RedWorker; > > > > diff --git a/server/reds-private.h b/server/reds-private.h > > index 74a251b..b2f00b6 100644 > > --- a/server/reds-private.h > > +++ b/server/reds-private.h > > @@ -19,6 +19,11 @@ > > #define REDS_PRIVATE_H > > > > #include <spice/protocol.h> > > +#include <spice/stats.h> > > + > > +#include "main-dispatcher.h" > > +#include "main-channel.h" > > +#include "inputs-channel.h" > > > > #define MIGRATE_TIMEOUT (MSEC_PER_SEC * 10) > > #define MM_TIME_DELTA 400 /*ms*/ > > diff --git a/server/reds-stream.h b/server/reds-stream.h > > index 7392f56..9d8038f 100644 > > --- a/server/reds-stream.h > > +++ b/server/reds-stream.h > > @@ -18,14 +18,10 @@ > > #ifndef _H_REDS_STREAM > > #define _H_REDS_STREAM > > > > -#include "spice.h" > > -#include <common/mem.h> > > -#include "red-common.h" > > - > > -#include <stdbool.h> > > - > > #include <openssl/ssl.h> > > > > +#include "red-common.h" > > + > > typedef void (*AsyncReadDone)(void *opaque); > > typedef void (*AsyncReadError)(void *opaque, int err); > > > > diff --git a/server/reds.h b/server/reds.h > > index f0f28da9e..6673923 100644 > > --- a/server/reds.h > > +++ b/server/reds.h > > @@ -21,16 +21,14 @@ > > #include <stdint.h> > > #include <sys/uio.h> > > #include <spice/vd_agent.h> > > -#include <config.h> > > - > > > > #include <common/marshaller.h> > > #include <common/messages.h> > > + > > +#include "migration-protocol.h" > > #include "char-device.h" > > -#include "spice.h" > > #include "red-channel.h" > > #include "main-dispatcher.h" > > -#include "migration-protocol.h" > > > > static inline QXLInterface * qxl_get_interface(QXLInstance *qxl) > > { > > diff --git a/server/smartcard.h b/server/smartcard.h > > index 6bda594..2d1356e 100644 > > --- a/server/smartcard.h > > +++ b/server/smartcard.h > > @@ -20,6 +20,8 @@ > > > > #include <glib-object.h> > > > > +#include "char-device.h" > > + > > #define RED_TYPE_CHAR_DEVICE_SMARTCARD > > red_char_device_smartcard_get_type() > > > > #define RED_CHAR_DEVICE_SMARTCARD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), > > RED_TYPE_CHAR_DEVICE_SMARTCARD, RedCharDeviceSmartcard)) > > diff --git a/server/sound.h b/server/sound.h > > index 25e59f0..76174cf 100644 > > --- a/server/sound.h > > +++ b/server/sound.h > > @@ -18,7 +18,9 @@ > > #ifndef SOUND_H_ > > #define SOUND_H_ > > > > -#include "spice.h" > > +#include "red-common.h" > > + > > +struct RedClient; > > > > void snd_attach_playback(RedsState *reds, SpicePlaybackInstance *sin); > > void snd_detach_playback(SpicePlaybackInstance *sin); > > @@ -28,6 +30,6 @@ void snd_detach_record(SpiceRecordInstance *sin); > > > > void snd_set_playback_compression(int on); > > > > -void snd_set_playback_latency(RedClient *client, uint32_t latency); > > +void snd_set_playback_latency(struct RedClient *client, uint32_t latency); > > > > #endif > > diff --git a/server/spice-bitmap-utils.h b/server/spice-bitmap-utils.h > > index ffb6c74..89a9068 100644 > > --- a/server/spice-bitmap-utils.h > > +++ b/server/spice-bitmap-utils.h > > @@ -18,7 +18,10 @@ > > #ifndef SPICE_BITMAP_UTILS_H_ > > #define SPICE_BITMAP_UTILS_H_ > > > > -#include "red-common.h" > > +#include <glib.h> > > +#include <spice/qxl_dev.h> > > +#include <common/draw.h> > > +#include <common/log.h> > > > > typedef enum { > > BITMAP_GRADUAL_INVALID, > > diff --git a/server/stat.h b/server/stat.h > > index 7db27ee..ec7e88d 100644 > > --- a/server/stat.h > > +++ b/server/stat.h > > @@ -20,6 +20,7 @@ > > > > #include <stdint.h> > > #include <glib.h> > > +#include <spice.h> > > > > typedef uint32_t StatNodeRef; > > #define INVALID_STAT_REF (~(StatNodeRef)0) > > diff --git a/server/stream.c b/server/stream.c > > index 8884480..2f194ce 100644 > > --- a/server/stream.c > > +++ b/server/stream.c > > @@ -20,6 +20,8 @@ > > > > #include "stream.h" > > #include "display-channel.h" > > +#include "main-channel.h" > > +#include "reds.h" > > > > #define FPS_TEST_INTERVAL 1 > > #define FOREACH_STREAMS(display, item) \ > > diff --git a/server/stream.h b/server/stream.h > > index 011467b..a21f6b0 100644 > > --- a/server/stream.h > > +++ b/server/stream.h > > @@ -19,9 +19,9 @@ > > #define STREAM_H_ > > > > #include <glib.h> > > -#include "utils.h" > > -#include "video-encoder.h" > > #include <common/region.h> > > + > > +#include "video-encoder.h" > > #include "red-channel.h" > > #include "image-cache.h" > > > > diff --git a/server/tests/replay.c b/server/tests/replay.c > > index d552327..0b5f0ed 100644 > > --- a/server/tests/replay.c > > +++ b/server/tests/replay.c > > @@ -36,6 +36,7 @@ > > #include <pthread.h> > > > > #include <spice/macros.h> > > +#include "spice.h" > > #include "red-replay-qxl.h" > > #include "test_display_base.h" > > #include <common/log.h> > > diff --git a/server/tests/test-qxl-parsing.c > > b/server/tests/test-qxl-parsing.c > > index a3b2e6c..0a6b8e4 100644 > > --- a/server/tests/test-qxl-parsing.c > > +++ b/server/tests/test-qxl-parsing.c > > @@ -10,6 +10,7 @@ > > #include <assert.h> > > > > #include <spice/macros.h> > > +#include "spice.h" > > #include "memslot.h" > > #include "red-parse-qxl.h" > > > > diff --git a/server/tree.h b/server/tree.h > > index 6476082..042123d 100644 > > --- a/server/tree.h > > +++ b/server/tree.h > > @@ -19,9 +19,10 @@ > > # define TREE_H_ > > > > #include <stdint.h> > > + > > #include <common/region.h> > > #include <common/ring.h> > > -#include "spice-bitmap-utils.h" > > +#include <spice/qxl_dev.h> > > > > enum { > > TREE_ITEM_TYPE_NONE, > > diff --git a/server/utils.h b/server/utils.h > > index 00631f8..fcd6a43 100644 > > --- a/server/utils.h > > +++ b/server/utils.h > > @@ -18,7 +18,8 @@ > > #ifndef UTILS_H_ > > # define UTILS_H_ > > > > -#include "red-common.h" > > +#include <inttypes.h> > > +#include <glib.h> > > > > #define SPICE_GNUC_VISIBLE __attribute__ ((visibility ("default"))) > > > > diff --git a/server/video-encoder.h b/server/video-encoder.h > > index 9833e13..8aa7783 100644 > > --- a/server/video-encoder.h > > +++ b/server/video-encoder.h > > @@ -21,6 +21,9 @@ > > #ifndef _H_VIDEO_ENCODER > > #define _H_VIDEO_ENCODER > > > > +#include <inttypes.h> > > +#include <common/draw.h> > > + > > enum { > > VIDEO_ENCODER_FRAME_UNSUPPORTED = -1, > > VIDEO_ENCODER_FRAME_DROP, > > diff --git a/server/zlib-encoder.h b/server/zlib-encoder.h > > index 0620fc7..2800102 100644 > > --- a/server/zlib-encoder.h > > +++ b/server/zlib-encoder.h > > @@ -30,6 +30,8 @@ > > #ifndef _H_ZLIB_ENCODER > > #define _H_ZLIB_ENCODER > > > > +#include <inttypes.h> > > + > > typedef struct ZlibEncoder ZlibEncoder; > > typedef struct ZlibEncoderUsrContext ZlibEncoderUsrContext; > > > _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel