+void bochsga_gfx_get_engine_operator_req(udi_gfx_range_cb_t *cb)
+{
+ /* TODO: Get Engine operator */
+ udi_gfx_get_engine_operator_ack(cb, 0, 0,0,0);
+}
+void bochsga_gfx_connector_command_req(udi_gfx_command_cb_t *cb)
+{
+ /* Need to parse the GLX stream */
+ udi_gfx_connector_command_ack(cb);
+}
+void bochsga_gfx_engine_command_req(udi_gfx_command_cb_t *cb)
+{
+ /* Need to parse the GLX stream */
+ udi_gfx_engine_command_ack(cb);
+}
+void bochsga_gfx_buffer_info_req(udi_gfx_buffer_info_cb_t *cb)
+{
+ switch(cb->buffer_index)
+ {
+ case 0:
+ udi_gfx_buffer_info_ack(cb, 1024, 768, 24, 0);
+ return;
+ default:
+ break;
+ }
+ CONTIN(bochsga_gfx_buffer_info_req, udi_log_write,
+ (UDI_TREVENT_LOG, UDI_LOG_INFORMATION, BOCHSGA_OPS_GFX, 0, BOCHSGA_MSGNUM_BUFUNK, __func__, cb->buffer_index),
+ (udi_status_t status)
+ );
+ udi_gfx_buffer_info_cb_t *cb = UDI_MCB(gcb, udi_gfx_buffer_info_cb_t);
+ udi_gfx_buffer_info_ack(cb, 0,0,0,0);
+}
+void bochsga_gfx_buffer_write_req(udi_gfx_buffer_cb_t *cb)
+{
+}
+void bochsga_gfx_buffer_read_req(udi_gfx_buffer_cb_t *cb)