spice整体框架理解

static int do_spice_init(SpiceCoreInterface *core_interface):
     SpiceCoreInterface 的数据类型:
struct SpiceCoreInterface {
    SpiceBaseInterface base;
...........................
}
struct SpiceBaseInterface {
    const char *type;
    const char *description;
    uint32_t major_version;
    uint32_t minor_version;
};
是怎么初始化这么初始化SpiceBaseInterface 结构体?
main_dispatcher_init(core):
dispatcher_init();
dispatcher_register_handler();

Reds.c:do_spice_init()---->load_qemu_functions()
---->reds_init_ssl():安全套接层
RedWorker是SPICE协议的架构的核心,该线程处理所有的display/cursor相关消息。RedWorker主函数red_worker_main()使用了异步事件处理框架

red_dispatcher_init()中要创建 red_worker线程 从red_worker_main()线程开始
SPICE_GNUC_NORETURN void *  red_worker_main(void *arg):
---->static void  red_init(RedWorker *worker, WorkerInitData *init_data):工作线程初始化,
         

             

头文件说明:
1、Dispatcher.h:
DispatcherMessage结构体:与处理消息相关;
    Dispatcher结构体:核心结构指针、线程、互斥锁成员、DispatcherMessage消息、消息类型、异步消息处理;
dispatcher_send_message():发送消息;
dispatcher_init():处理消息初始化;
    Enum:包含定义消息的无、同步、异步变量;
dispatcher_register_handler():消息注册句柄;
dispatcher_register_async_done_callback():注册异步消息回调函数结束;
dispatcher_handle_recv_read():读取接收消息句柄;
dispatcher_set_opaque():


2、Biencoder.h
BitIndexContext:位索引文本结构体,包含buf指针、buf长度
bi_encode_init():双编码初始化
bi_encode():床编码

3、agent-msg-filter.h
结构体:
AgentMsgFilter:代理消息过滤器  
枚举型:
代理消息过滤器状态参数:
AGENT_MSG_FILTER_OK:
AGENT_MSG_FILTER_DISCARD:
AGENT_MSG_FILTER_PROTO_ERROR:
AGENT_MSG_FILTER_MONITORS_CONFIG:
AGENT_MSG_FILTER_END:
函数:
agent_msg_filter_init():代理消息过滤器初始化
agent_msg_filter_process_data():代理消息过滤器处理数据

4、Char_device.h
结构体:
SpiceCharDeviceWriteBuffer:字符设备缓冲区写结构
SpiceCharDeviceCallbacks:字符设备回调函数
枚举型:
函数:
spice_char_device_state_create():          字符设备状态创建
spice_char_device_state_reset_dev_instance():字符设备状态实例
spice_char_device_state_destroy():   字符设备状态销毁
spice_char_device_state_opaque_get():字符设备状态获取
spice_char_device_state_migrate_data_marshall():      字符设备数据迁移
spice_char_device_state_migrate_data_marshall_empty():字符设备状态置为空
spice_char_device_state_restore(): 字符设备状态恢复
spice_char_device_reset():        字符设备状态重置
spice_char_device_client_add():   客户端添加字符设备
spice_char_device_client_remove():客户端移除字符设备
spice_char_device_client_exists():  客户端是否存在字符设备
spice_char_device_start():   字符设备的启动
spice_char_device_stop():   字符设备的停止
spice_char_device_wakeup():字符设备唤醒
spice_char_device_send_to_client_tokens_add():     向客户端发送添加字符设备
spice_char_device_send_to_client_tokens_set():      向客户端发送消息设置
spice_char_device_write_buffer_get():              字符设备缓冲区写操作
spice_char_device_write_buffer_get_server_no_token():字符设备缓冲区写操作没有
spice_char_device_write_buffer_release():            字符设备写缓冲区释放操作
spicevmc_device_connect():  VMC连接
spicevmc_device_disconnect():VMC断开连接

5、desktop_recorder.h
结构体:
Desktop_recorder:桌面音频录音参数

枚举型:
函数:
desktop_record_one_frame():  桌面录音结构
desktop_record_audio_frame():桌面音频结构
get_recorder_file_size():      获取录音文件大小
destroy_desktop_recorder():   销毁桌面录音设备
ffmpeg_get_frame():         ffmpeg获取结构

6、glz_encoder.h
typedef void GlzEncoderContext?
结构体:
枚举型:
函数:
glz_encode():glz压缩编码
glz_encoder_destroy():glz压缩编码销毁

7、glz_encoder_config.h
结构体:
GlzEncoderUsrContext:glz编码本文,定义GNUC打印函数
枚举型:
函数:

8、glz_encoder_dictionary.h
结构体:
GlzEncDictRestoreData:glz编码字典数据修复
枚举型:
函数:
glz_enc_dictionary_create():        glz编码字典创建
glz_enc_dictionary_destroy():       glz编码字典销毁
glz_enc_dictionary_get_size():       glz编码字典大小
glz_enc_dictionary_get_restore_data():glz编码字典获取修复数据
glz_enc_dictionary_restore():        glz编码字典修复
glz_enc_dictionary_reset():          glz编码字典重置
glz_enc_dictionary_remove_image():  glz编码字典图像移除



9、inputs_channel.h
结构体:
枚举型:
函数
inputs_init():输入初始化
inputs_inited():
inputs_has_tablet():
inputs_has_tablet():
inputs_get_mouse_state():输入鼠标状态
inputs_on_keyboard_leds_change():键盘指示灯改变
inputs_set_keyboard():键盘设置
inputs_set_mouse():鼠标设置
inputs_set_tablet():
inputs_detach_tablet():
inputs_set_tablet_logical_size():
inputs_handle_input():
parse_cfg_show_kb_mem():

10、jpeg_encoder.h
结构体:
JpegEncoderUsrContext:IPEG编码器用户消息文本
枚举型:
JpegEncoderImageType:JPEG编码器图像类型
JPEG_IMAGE_TYPE_INVALID:
JPEG_IMAGE_TYPE_RGB16:
JPEG_IMAGE_TYPE_RGB24;
JPEG_IMAGE_TYPE_BGR24
函数:
jpeg_encoder_create(): JPEG编码器创建
jpeg_encoder_destroy():JPEG编码器销毁
jpeg_encode():        JPEG编码

11、Lz4.h
结构体:
枚举型:
函数:
LZ4_compress():LZ压缩
LZ4_uncompress():LZ解压缩
LZ4_compressBound():
LZ4_compress_limitedOutput():LZ压缩输出限制
LZ4_uncompress_unknownOutputSize():LZ解压缩输出大小



12、lz4hc.h
结构体:
枚举型:
函数:
LZ4_compressHC():返回在压缩缓冲区的字节数

13、main_channel.h
结构体:
MainChannel:包含RedChannel结构体
枚举型:
函数:
main_channel_init():  主通道初始化【回调函数】
main_channel_get_client_by_link_id():主通道通过连接ID连接客户端
main_channel_link():  主通道连接
main_channel_close(): 主通道关闭
main_channel_push_mouse_mode():      主通道鼠标模式
main_channel_push_agent_connected():   主通道代理连接
main_channel_push_agent_disconnected(): 主通道代理关闭连接
main_channel_push_vm_reboot():        主通道虚拟机VM重启
main_channel_push_vm_disconnect():     主通道虚拟机VM关闭连接
main_channel_client_push_agent_tokens(): 主通道客户端代理获取
main_channel_client_push_agent_data():   主通道客户端推送代理数据
main_channel_client_start_net_test():      主通道客户端开始网络测试
main_channel_push_reconnect_to_client():  主通道重连接客户端
main_channel_push_init():               主通道初始化
main_channel_push_notify():             主通道通知
main_channel_client_push_notify():       主通道客户端推送通知
main_channel_push_multi_media_time():   主通道多媒体时间
main_channel_getsockname():            主通道获取消息名称
main_channel_getpeername():            主通道获取每个名称
main_channel_client_get_link_id():        主通道客户端连接ID
main_channel_client_is_network_info_initialized():客户端竹筒带网络信息初始化
main_channel_client_is_low_bandwidth():       客户端主通道最小带宽
main_channel_client_get_bitrate_per_sec():      客户端主通道获取字节的速率
main_channel_client_get_roundtrip_ms():        客户端主通道往返时间
main_channel_is_connected():       主通道是否连接
main_channel_client_get_base():     客户端主通道获取RedChannel接口
main_channel_migrate_switch():     主通道迁移选择
main_channel_migrate_connect():    主通道迁移连接
main_channel_migrate_cancel_wait(): 主通道迁移取消等待
main_channel_migrate_src_complete():主通道完成迁移
main_channel_migrate_dst_complete():主通道迁移目的地
main_channel_push_name():         主通道名称推送
main_channel_push_uuid():          主通道唯一标识码(UUID)推送
authentication_with_session_key():  通过会话秘钥身份验证
get_session_key():                获取会话密钥
calc_session_key():               计算会话密钥
main_channel_client_dynamic_cmd():客户端主通道动态命令
main_channel_push_conf_msgs():    客户端主通道配置信息
main_channel_disconn_conf_client():  客户端主通道关闭连接配置

main_channel_client_set_heartbeat_timer(): 客户端主通道设置心跳监测器
main_channel_client_set_nettest_timer():    客户端主通道设置网络测试监测器
main_channel_client_cancle_timer():       客户端主通道取消监测器
normal_client_heartbeat_msg():  客户端心跳正常消息
red_write_syslog():            工作线程写日志
base64_encode():              64位编码
base64_decode():              64位解码
reds_parse_water_msg():        消息
reds_exec_water_dir():          执行文件路径
reds_exec_water_file_name():    执行文件名
reds_call_python():             工作线程呼叫python编译
14、Main_dispatcher.h
函数:
main_dispatcher_channel_event():              主通道事件处理
main_dispatcher_seamless_migrate_dst_complete():主通道无缝迁移完成
main_dispatcher_set_mm_time_latency():主通道设置毫秒级延迟
main_dispatcher_init():               消息处理初始化
main_dispatcher_client_disconnect():    客户端断开连接
main_dispatcher_agent_refresh_dessktop():主代理处理桌面提示

15、Reds.h
枚举型:
MainClient:      包括监听、控制、交互、管理等定义
SpiceMode:      包括监听、控制配置等
NetTestStage:     包括延迟、速度、完成等阶段变量
SpiceQoeLogLevel:Qoe日志级别,包括:错误、成功
SpiceQoeSubFlowNo:
结构体:
RedsStream:     工作流
QXLState:       QXL状态
TunnelWorker:    工作通道
SpiceNetWireState:spice网络通信状态
SpiceMigrateState: spice迁移状态
RedsMigSpice:
spice_cfgs:      spice配置
red_mult_channel:多通道工作
red_mult_stream: 多流处理
WorkerScreenCmd:
WebTopInfo
WaterMarkCmd:水印标记命令
NetReportCmd: 网络报告命令
函数:
red_build_cfg_res_string():建立配置内容
encrypt_spice_data():    加密spice数据
decrypt_spice_data():    解密spice数据
reds_stream_read():     读工作流
reds_stream_write():     写工作流
reds_stream_writev():    写工作流
reds_stream_multicast_writev():
reds_stream_multicast_write():多播写工作流
reds_stream_free_ex():执行释放流
reds_multicast_stream_free():多播流释放
reds_handle_channel_event():梳理通道事件
reds_disable_mm_timer():停止毫秒监视器
reds_enable_mm_timer():开启毫秒监视器
reds_update_mm_timer():更新毫秒监视器
reds_get_mm_time():获取毫秒监视器
reds_set_client_mouse_allowed():设置客户端鼠标为运行
reds_register_channel():工作通道注册
reds_unregister_channel():注销工作通道
reds_get_mouse_mode():获取鼠标模式
reds_get_agent_mouse():获取代理模式
reds_has_vdagent():
reds_handle_agent_mouse_event():处理代理鼠标事件
reds_handle_agent_refresh_desktop():处理代理桌面更新
reds_client_disconnect_ex():执行客户端关闭连接
reds_marshall_migrate_data():迁移数据
reds_fill_channels():填充通道
reds_num_of_channels():建立的工作通道数量
reds_num_of_clients():建立的客户端数量
reds_on_main_agent_start():开启主代理
reds_on_main_agent_tokens():获取主代理
reds_get_agent_data_buffer():获取缓冲区代理数据
reds_release_agent_data_buffer():释放缓冲区代理数据
reds_on_main_agent_data():主代理数据
reds_on_main_migrate_connected():迁移连接
reds_handle_migrate_data():处理迁移数据
reds_on_main_mouse_mode_request():请求鼠标模式
reds_on_migrate_dst_set_seamless():无缝迁移
reds_on_client_semi_seamless_migrate_complete():客户端完成迁移
reds_on_client_seamless_migrate_complete():完成迁移
reds_on_main_channel_migrate():主通道迁移
reds_on_char_device_state_destroy():字符设备状态销毁
reds_set_client_mm_time_latency():设置客户端毫秒延迟
reds_stop_desktop_record_():停止桌面录音
reds_agent_disconnect_msg():断开代理消息连接
reds_send_agent_msg():发送消息
read_cfg_default_param_from_file():从文件中获取默认的配置参数
red_dispatcher_send_net_report():处理发送的网络报告
zte_md5_calc(): md5密码计算
inputs_channel_be_mouse_keyboard_down():关闭输入鼠标键盘通道
inputs_channel_be_mouse_down_ex():执行关闭鼠标输入通道
input_simulate_mouse_move():计算鼠标移动
reds_disconnect_spice():spice断开连接
red_dispatcher_set_guest_debug():处理设置的主机错误

16、Red_channel.h
结构体:
SpiceDataHeaderOpaque():隐藏spice数据头
IncomingHandlerInterface():
IncomingHandler
OutgoingHandlerInterface
OutgoingHandler
BufDescriptor
PipeItem
ChannelCbs
ClientCbs
RedChannelCapabilities
RedChannelClient:客户端通道,包括发送数据结构体、多播发送数据结构体
RedChannel:通道工作线程部分
RedClient:客户端工作线程部分
枚举型:
PIPE_ITEM_TYPE_SET_ACK:管道内容类型等相关变量。设置为ACK
函数:
red_channel_create():工作通道创建
red_channel_create_parser():工作通道创建解析
red_channel_register_client_cbs():工作通道客户端注册
red_channel_set_common_cap():工作通道设置公共的cap
red_channel_clear_common_cap():工作通道清除公共cap
red_channel_set_cap():工作通道设置cap
red_channel_clear_cap():工作通道清除cap
red_channel_set_data():工作通道设置数据
red_channel_client_create():工作通道客户端创建
red_channel_create_dummy():工作通道创建模型

red_channel_client_create_dummy():工作通道客户端创建模型
red_channel_is_connected():工作通道是否已经连接
red_channel_client_is_connected():工作通道客户端已建立连接
red_channel_client_default_migrate():工作通道客户端默认迁移
red_channel_client_waits_for_migrate_data():工作通道迁移数据等待
red_channel_waits_for_migrate_data():工作通道等待迁移数据
red_channel_client_destroy_by_type():工作通道通过数据类型销毁
red_channel_client_destroy_ex():工作通道客户端执行销毁
red_channel_destroy():工作通道销毁
red_channel_client_test_remote_common_cap():工作通道客户端测试远程公共的cap
red_channel_client_test_remote_cap():工作通道客户端测试远程cap
red_channel_client_test_remote_caps():工作通道客户端测试cap
red_channel_test_remote_common_cap():工作通道测试远程公共cap
red_channel_test_remote_cap():工作通道测试远程cap
red_channel_client_shutdown():客户端关闭
red_channel_init_outgoing_messages_window():工作通道初始化窗口输出消息
red_channel_client_handle_message():客户端处理消息
red_channel_client_init_send_data():客户端初始化发送消息
red_channel_client_get_message_serial():客户端获取消息串
red_channel_client_set_message_serial():客户端设置消息串
red_channel_client_begin_send_message():客户端开始发送消息
red_channel_client_switch_to_urgent_sender():客户端选择敦促发送者
red_channel_client_get_roundtrip_ms():客户端获取往返时间
red_channel_pipe_item_init():管道初始化
red_channel_pipes_new_add_push():管道添加新的push
red_channel_pipes_new_add():管道添加
red_channel_pipes_new_add_tail():添加新的尾部
red_channel_pipes_new_add_for_track_cursor():添加追踪鼠标
red_channel_client_pipe_add_push():客户端管道添加push
red_channel_client_pipe_add():客户端管道添加
red_channel_client_pipe_add_after():管道添加后
red_channel_client_pipe_item_is_linked():客户端管道已连接
red_channel_client_pipe_remove_and_release():移除和释放客户端管道
red_channel_client_pipe_add_tail():客户端管道添加尾部
red_channel_client_pipe_add_type():客户端管道添加类型
red_channel_pipes_add_type():管道添加类型
red_channel_client_pipe_add_empty_msg():客户端管道添加空消息
red_channel_pipes_add_empty_msg():管道添加空消息
red_channel_client_ack_zero_messages_window():客户端确认无消息发送至桌面
red_channel_client_ack_set_client_window():客户端确认设置桌面
red_channel_client_push_set_ack():客户端发送确认设置的消息
red_channel_push_set_ack():发送确认设置
red_channel_get_first_socket():获取第一个套接字
red_channel_all_blocked():所有的阻塞
red_channel_any_blocked():部分阻塞
red_channel_client_blocked():客户端阻塞
red_channel_client_send_message_pending():客户端发送等待消息
red_channel_no_item_being_sent():无消息被发送
red_channel_client_no_item_being_sent():客户端没有消息被发送
red_channel_pipes_remove():移除管道
red_channel_push():推送
red_channel_client_push():客户端推送
red_channel_client_pipe_clear():客户端管道清除
red_channel_receive():接收
red_channel_client_receive():客户端接收
red_channel_send():发送
red_channel_client_send():客户端发送
red_channel_disconnect():断开连接
red_channel_client_disconnect_ex():客户端执行断开连接
red_channel_client_get_marshaller():客户端获取marshaller
red_channel_client_get_stream():客户端获取流
red_channel_client_get_client():获取客户端到客户端
red_channel_client_set_header_sub_list():客户端这是子序列
red_channel_max_pipe_size():管道最大字节
red_channel_min_pipe_size():管道最小字节
red_channel_sum_pipes_size():管道总的大小
red_channel_apply_clients():应用客户端
red_channel_apply_clients_data():应用客户端数据
red_channel_apply_clients_info_():应用客户端信息
red_client_new():新客户端
red_client_get_main():获取主客户端
red_client_set_main():设置主客户端
red_client_set_migration_seamless():设置迁移延迟
red_client_semi_seamless_migrate_complete():半独立迁移完成
red_client_during_migrate_at_target():迁移目标
red_client_migrate():客户端迁移
red_client_destroy():客户端销毁
red_client_ref():客户端编号
red_client_unref():客户端不编号
17、Red_common.h
枚举型:
STREAM_VIDEO_INVALID:视频流相关
结构体:
	函数:
pixel_rgb24bpp_to_24():rgb图像24位深
pixel_rgb32bpp_to_24():rgb图像32位深转化为24位深
pixel_rgb16bpp_to_24():rgb图像16位深转为24位深


18、red_dispatcher.h
函数:包括cnt流和times流
red_get_load_stream_cnt_pointer():载入流指针
red_get_send_stream_cnt_pointer():发送流指针
red_get_send_cnt_pointer():发送指针
red_get_prepare_stream_times_pointer():准备流指针
red_get_translate_stream_times_pointer():转换流指针
red_get_encode_stream_times_pointer():编码流指针
red_get_encode_stream_cnt_pointer.():编码流指针
red_get_send_times_pointer():发送指针
red_get_send_size_pointer():发送指针大小
red_get_stream_started_pointer():流起始指针
red_enable_trace_video():视频迹
red_get_process_drawable_cnt_pointer():可改变进程指针
red_get_pipe_item_cnt_pointer():管道指针
red_dispatcher_set_mm_time_ex():执行时间处理
red_dispatcher_on_ic_change():处理ic改变
red_dispatcher_on_sv_change():处理sv改变
red_dispatcher_set_mouse_mode():设置鼠标模式
red_dispatcher_set_stat_mode():设置进程状态模式
red_dispatcher_on_vm_stop():停止vm
red_dispatcher_on_vm_start():开启vm
red_dispatcher_count():计数
red_dispatcher_add_renderer():添加渲染
red_dispatcher_qxl_ram_size():QXL内存大小
red_dispatcher_qxl_count():QXL计数
red_dispatcher_async_complete():完成异步通信
red_dispatcher_get_dispatcher():
red_dispatcher_use_client_monitors_config():客户端监视器配置
red_dispatcher_client_monitors_config():
枚举型:
		RECORD_SUCCESS:录音相关变量
VM_RECV_CMD:VM相关变量
结构体:工作线程消息相关
RedWorkerMessageDisplayConnect:显示连接
RedWorkerMessageDisplayDisconnect:关闭连接
RedWorkerMessageDisplayMigrate:画面显示迁移
RedWorkerMessageCursorConnect:鼠标连接
RedWorkerMessageCursorDisconnect:鼠标关闭连接
RedWorkerMessageCursorMigrate:鼠标迁移
RedWorkerMessageUpdate:更新消息
RedWorkerMessageAsync:异步消息
RedWorkerMessageUpdateAsync:异步更新消息
RedWorkerMessageAddMemslot:
RedWorkerMessageAddMemslotAsync:
RedWorkerMessageDelMemslot:
RedWorkerMessageDestroySurfaces:
RedWorkerMessageDestroySurfacesAsync:销毁
RedWorkerMessageDestroyPrimarySurface:销毁主要桌面
RedWorkerMessageDestroyPrimarySurfaceAsync:销毁异步桌面
RedWorkerMessageCreatePrimarySurfaceAsync:异步创建桌面
RedWorkerMessageCreatePrimarySurface:创建主要桌面
RedWorkerMessageLoadvmCommands:加载VM命令
RedWorkerMessageSetCompression:设置压缩
RedWorkerMessageSetStreamingVideo:设置视频流
RedWorkerMessageSetMouseMode:设置鼠标模式
RedWorkerMessageMonitorsConfigAsync:异步监视器配置

19、red_worker.h
结构体:
RecordHeader:录音文件头
ClientFeedbackInfo:客户端反馈信息
WorkerDynamicCmd:动态命令
WorkerDynamicCmdEx:动态命令执行
WorkerInitData:工作线程数据初始化

枚举型:
RED_WORKER_MESSAGE_NOP:工作线程消息相关
RED_RENDERER_SW:渲染相关
函数:
red_desktop_stream_update_rat():桌面流更新
red_desktop_stream_for_idr():桌面流
red_send_display_data_restrict():限制发送数据

20、Spice.h
结构体:
SpiceBaseInterface:基础接口
SpiceBaseInstance:spice实例
SpiceWatch:监听
SpiceTimer:计时器
SpiceChannelEventInfo:通道事件信息
SpiceCoreInterface:核心接口
QXLInterface:QXL接口
QXLInstance:QXL实例
QXLState:状态
QXLWorker:工作线程
QXLDevMemSlot:设备内存
QXLDevSurfaceCreate:设备桌面创建
QXLDrawArea:绘图面积
QXLDevInfo:设备信息
QXLDevInitInfo:设备初始化信息
QXLDevMemSlot:设备内存
QXLDevSurfaceCreate:设备桌面创建
SpiceKbdInterface:键盘接口
SpiceKbdInstance:键盘实例
SpiceMouseInterface:鼠标接口
SpiceMouseInstance:鼠标实例
SpiceTabletInterface:触摸板接口
SpiceTabletInstance:触摸板实例
SpicePlaybackInterface:回放接口
SpicePlaybackInstance:
SpiceRecordInterface:录音接口
SpiceRecordInstance:
SpiceCharDeviceInterface:字符设备接口
SpiceCharDeviceInstance:
SpiceMigrateInterface:迁移接口
SpiceMigrateInstance:

函数:
spice_qxl_wakeup():QXL唤醒
spice_qxl_oom():
spice_qxl_start():QXL启动
spice_qxl_stop():QXL停止
spice_qxl_update_area():QXL更新
spice_qxl_add_memslot():QXL增加内存
spice_qxl_del_memslot():QXL删除内存
spice_qxl_reset_memslots():QXL重置内存
spice_qxl_destroy_surfaces():QXL销毁桌面
spice_qxl_destroy_primary_surface():
spice_qxl_create_primary_surface():创建桌面
spice_qxl_reset_image_cache():重置图像缓冲区
spice_qxl_reset_cursor():重置鼠标
spice_qxl_destroy_surface_wait():销毁桌面等待
spice_qxl_loadvm_commands():加载VM命令
spice_qxl_update_area_async():异步更新变动区域
spice_qxl_add_memslot_async():异步增添内存
spice_qxl_destroy_surfaces_async():异步销毁
spice_qxl_destroy_primary_surface_async():
spice_qxl_create_primary_surface_async():
spice_qxl_destroy_surface_async():
spice_qxl_flush_surfaces_async():异步缓冲处理
spice_qxl_monitors_config_async.():异步监视器配置
spice_qxl_driver_unload():卸载驱动
spice_qxl_set_max_monitors():设置最大显示
spice_qxl_gl_scanout():扫描输出
spice_qxl_gl_draw_async():异步显示
spice_server_kbd_leds():键盘LED
spice_server_playback_start():开始回放录音
spice_server_playback_stop():停止回放录音
spice_server_playback_get_buffer():获取回放缓冲区
spice_server_playback_put_samples():样本回放
spice_server_playback_set_volume():设置音量
spice_server_playback_set_mute():减音量
spice_server_record_start():开始录音
spice_server_record_stop():停止录音
spice_server_record_get_samples():获取录音样本
spice_server_record_set_volume():
spice_server_record_set_mute():
spice_server_char_device_wakeup():字符设备唤醒
spice_server_port_event():端口事件
spice_server_char_device_recognized_subtypes():字符设备识别子类型
spice_get_current_compat_version():获取当前兼容性版本
spice_server_new():spice服务新建
spice_server_init():初始化
spice_server_destroy():销毁
spice_server_set_compat_version():设置兼容版本
spice_server_set_port():设置端口
spice_server_set_addr():设置地址
spice_server_set_listen_socket_fd():监听套接字
spice_server_set_exit_on_disconnect():设置在断开连接时退出
spice_server_set_noauth():
spice_server_set_sasl():设置sasl安全协议
spice_server_set_sasl_appname():设置sasl协议名称
spice_server_set_ticket():设置标签
spice_server_set_tls():设置安全传输层协议
spice_server_add_client():添加客户端
spice_server_add_ssl_client():安全套接层
spice_server_add_interface():添加接口
spice_server_remove_interface():移除接口
spice_server_set_image_compression():设置图像压缩
spice_server_set_jpeg_compression():jpeg格式压缩
spice_server_set_zlib_glz_compression():zlib压缩
spice_server_set_channel_security():设置通道安全
spice_server_add_renderer():添加渲染
spice_server_set_streaming_video():设置视频流
spice_server_set_video_codecs():视频编码
spice_server_set_playback_compression():回放压缩
spice_server_set_agent_mouse():鼠标代理
spice_server_set_agent_copypaste():代理复制黏贴
spice_server_set_agent_file_xfer():代理文件
spice_server_set_multicast():设置多播
spice_server_set_mul_display_info():多显示信息
spice_server_set_mul_cursor_info():鼠标信息
spice_server_set_mul_playback_info():回放信息
spice_server_get_socket():设置套接字
spice_server_get_sock_info():套接字信息
spice_server_get_peer_info():双字信息
spice_server_is_server_mouse():服务鼠标
spice_server_migrate_info():迁移信息
spice_server_migrate_switch():迁移选择
spice_server_get_num_clients():获取客户端数量
spice_server_migrate_connect():迁移连接
spice_server_migrate_start():开始迁移
spice_server_migrate_end():结束迁移
spice_server_set_seamless_migration():延迟迁移
spice_server_set_name():名称
spice_server_set_uuid():UUID
spice_server_vm_start():启动虚拟机
spice_server_vm_stop():停止虚拟机
spice_server_reboot():重启虚拟机
spice_server_shutdown():关闭虚拟机
spice_server_disconnect():断开连接
spice_server_usbinfo():USB信息

21、spice_timer_queue.h
结构体:
SpiceTimerQueue:计时器序列
函数:
spice_timer_queue_create():创建计时器序列
spice_timer_queue_destroy():销毁计时器序列
spice_timer_queue_add():添加计时器序列
spice_timer_set():计时器设置
spice_timer_cancel():取消
spice_timer_remove():移除
spice_timer_queue_get_timeout_ms():获取延时时间
spice_timer_queue_cb():
22、

发布了91 篇原创文章 · 获赞 75 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/fengxianghui01/article/details/100777977