• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Virtual machine Management Terminal User Interface


コミットメタ情報

リビジョン01c83b9362e3eef794c28048629b151a6a0c5bd8 (tree)
日時2023-01-15 22:07:52
作者Koine Yuusuke(koinec) <koinec@user...>
コミッターKoine Yuusuke(koinec)

ログメッセージ

WorkBackup

変更サマリ

差分

--- a/src/vmbhyve.c
+++ b/src/vmbhyve.c
@@ -215,114 +215,118 @@ int
215215 // Parse Line ---
216216 while( NULL != (pstr_line = strsep( &pstr_next, "\n\r" ))) {
217217 // Parse Item ---
218- if( '\0' != *pstr_line ) {
219- pstr_item[0] = NULL;
220- i_item = 0;
221- while( NULL != (pstr_now = strsep( &pstr_line, " \t" ))) {
222- if( '\0' != *(pstr_now + 0) )
223- { pstr_item[i_item++] = pstr_now; }
224- }
225-
226- // VM Name ---
227- i_gtype = GuestCtl_ObtainGuest( &i_gnow, p_hvcon->i_id, pstr_item[0] );
228- if( 0x00 > i_gtype ) { continue; }
218+ if( '\0' == *pstr_line ) { continue; }
229219
230- p_gnow = Guest_Use( i_gnow );
231- if( NULL != p_gnow) {
232- // DataStore ---
233- memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
234- KEYVAL_DATA_SET_STRING( t_val, pstr_item[1] );
235- i_err = KeyVal_SetData(
236- &(p_gnow->t_info), GUEST_DATASTORE_NAME_KEY,
237- &t_val, GUEST_DATASTORE_NAME_PRI );
220+ pstr_item[0] = NULL;
221+ i_item = 0;
222+ while( NULL != (pstr_now = strsep( &pstr_line, " \t" ))) {
223+ if( '\0' != *(pstr_now + 0) )
224+ { pstr_item[i_item++] = pstr_now; }
225+ }
238226
239- // Loader ---
227+ // VM Name ---
228+ i_gtype = GuestCtl_ObtainGuest( &i_gnow, p_hvcon->i_id, pstr_item[0] );
229+ if( 0x00 > i_gtype ) { continue; }
230+
231+ p_gnow = Guest_Use( i_gnow );
232+ if( NULL == p_gnow) { continue; }
233+
234+ // DataStore ---
235+ memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
236+ KEYVAL_DATA_SET_STRING( t_val, pstr_item[1] );
237+ i_err = KeyVal_SetData(
238+ &(p_gnow->t_info), GUEST_DATASTORE_NAME_KEY,
239+ &t_val, GUEST_DATASTORE_NAME_PRI );
240+
241+ // Loader ---
242+ memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
243+ KEYVAL_DATA_SET_STRING( t_val, pstr_item[2] );
244+ i_err = KeyVal_SetData(
245+ &(p_gnow->t_info), GUEST_LOADER_KEY, &t_val, GUEST_LOADER_PRI );
246+
247+ // CPU cores ---
248+ i_temp = (int)strtol( pstr_item[3], NULL, 10 );
249+ memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
250+ KEYVAL_DATA_SET_INT( t_val, i_temp );
251+ i_err = KeyVal_SetData(
252+ &(p_gnow->t_info), GUEST_CPU_VCPUS_KEY, &t_val, GUEST_CPU_VCPUS_PRI );
253+
254+ // Memory ---
255+ dw_temp = 0;
256+ i_len = strnlen( pstr_item[4], 8 );
257+ if( 4 <= i_len ) {
258+ strncpy( str_temp, pstr_item[4], 8 );
259+ c_unit = str_temp[ i_len - 1 ];
260+ str_temp[ i_len - 1 ] = '\0';
261+
262+ dw_temp = strtol( str_temp, NULL, 10 );
263+ switch( c_unit ) {
264+ case 'k':
265+ case 'K':
266+ break;
267+ case 'm':
268+ case 'M':
269+ dw_temp *= 1024;
270+ break;
271+ case 'g':
272+ case 'G':
273+ dw_temp *= 1024 * 1024;
274+ break;
275+ case 't':
276+ case 'T':
277+ dw_temp *= 1024 * 1024 * 1024;
278+ break;
279+ }
280+ }
281+ memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
282+ KEYVAL_DATA_SET_DWORD( t_val, dw_temp );
283+ i_err = KeyVal_SetData(
284+ &(p_gnow->t_info), GUEST_MEM_SIZE_KEY, &t_val, GUEST_MEM_SIZE_PRI );
285+
286+ // VNC ---
287+ strncpy( str_temp, pstr_item[5], sizeof( str_temp ) );
288+ if( '-' != str_temp[0] ) {
289+ pstr_host = NULL;
290+ i_vnc = 0;
291+ pstr_now = str_temp;
292+ pstr_host = strsep( &pstr_now, ":" );
293+
294+ if(( NULL != pstr_host ) && ( NULL != pstr_now )) {
240295 memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
241- KEYVAL_DATA_SET_STRING( t_val, pstr_item[2] );
296+ KEYVAL_DATA_SET_STRING( t_val, pstr_host );
242297 i_err = KeyVal_SetData(
243- &(p_gnow->t_info), GUEST_LOADER_KEY, &t_val, GUEST_LOADER_PRI );
298+ &(p_gnow->t_info), GUEST_VNC_HOST_KEY,
299+ &t_val, GUEST_VNC_HOST_PRI );
244300
245- // CPU cores ---
246- i_temp = (int)strtol( pstr_item[3], NULL, 10 );
301+ i_temp = (int)strtol( pstr_now, NULL, 10 );
247302 memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
248303 KEYVAL_DATA_SET_INT( t_val, i_temp );
249304 i_err = KeyVal_SetData(
250- &(p_gnow->t_info), GUEST_CPU_VCPUS_KEY, &t_val, GUEST_CPU_VCPUS_PRI );
251-
252- // Memory ---
253- dw_temp = 0;
254- i_len = strnlen( pstr_item[4], 8 );
255- if( 4 <= i_len ) {
256- strncpy( str_temp, pstr_item[4], 8 );
257- c_unit = str_temp[ i_len - 1 ];
258- str_temp[ i_len - 1 ] = '\0';
259-
260- dw_temp = strtol( str_temp, NULL, 10 );
261- switch( c_unit ) {
262- case 'k':
263- case 'K':
264- break;
265- case 'm':
266- case 'M':
267- dw_temp *= 1024;
268- break;
269- case 'g':
270- case 'G':
271- dw_temp *= 1024 * 1024;
272- break;
273- case 't':
274- case 'T':
275- dw_temp *= 1024 * 1024 * 1024;
276- break;
277- }
278- }
279- memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
280- KEYVAL_DATA_SET_DWORD( t_val, dw_temp );
281- i_err = KeyVal_SetData(
282- &(p_gnow->t_info), GUEST_MEM_SIZE_KEY, &t_val, GUEST_MEM_SIZE_PRI );
283-
284- // VNC ---
285- strncpy( str_temp, pstr_item[5], sizeof( str_temp ) );
286- if( '-' != str_temp[0] ) {
287- pstr_host = NULL;
288- i_vnc = 0;
289- pstr_now = str_temp;
290- pstr_host = strsep( &pstr_now, ":" );
291-
292- if(( NULL != pstr_host ) && ( NULL != pstr_now )) {
293- memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
294- KEYVAL_DATA_SET_STRING( t_val, pstr_host );
295- i_err = KeyVal_SetData(
296- &(p_gnow->t_info), GUEST_VNC_HOST_KEY,
297- &t_val, GUEST_VNC_HOST_PRI );
298-
299- i_temp = (int)strtol( pstr_now, NULL, 10 );
300- memset( &t_val, 0x00, sizeof( KeyVal_Data ) );
301- KEYVAL_DATA_SET_INT( t_val, i_temp );
302- i_err = KeyVal_SetData(
303- &(p_gnow->t_info), GUEST_VNC_PORT_KEY,
304- &t_val, GUEST_VNC_PORT_PRI );
305- }
306- }
307-
308- // Auto Start ---
309-
310- // Set Status ---
311- if( 7 <= i_item ) {
312- if( !strncmp( pstr_item[7], "Running", 16 ))
313- { p_gnow->dw_status = GUEST_STATUS_RUN; }
314- else if( !strncmp( pstr_item[7], "Locked", 16 ))
315- { p_gnow->dw_status = GUEST_STATUS_WAIT; }
316- else if( !strncmp( pstr_item[7], "Stopped", 16 ))
317- { p_gnow->dw_status = GUEST_STATUS_STOP; }
318- else
319- { p_gnow->dw_status = GUEST_STATUS_UNKNOWN; }
320-
321- }
322-
323- Guest_Release( p_gnow );
305+ &(p_gnow->t_info), GUEST_VNC_PORT_KEY,
306+ &t_val, GUEST_VNC_PORT_PRI );
324307 }
325308 }
309+
310+ // Auto Start ---
311+
312+ // Set Status ---
313+ if( 7 <= i_item ) {
314+ if( !strncmp( pstr_item[7], "Running", 16 ))
315+ { p_gnow->dw_status = GUEST_STATUS_RUN; }
316+ else if( !strncmp( pstr_item[7], "Locked", 16 ))
317+ { p_gnow->dw_status = GUEST_STATUS_WAIT; }
318+ else if( !strncmp( pstr_item[7], "Stopped", 16 ))
319+ { p_gnow->dw_status = GUEST_STATUS_STOP; }
320+ else
321+ { p_gnow->dw_status = GUEST_STATUS_UNKNOWN; }
322+ }
323+
324+ Guest_Release( p_gnow );
325+
326+ if( GUEST_OBTAIN_NEW == i_gtype ) {
327+ ErrInfo_DebugMsg( "NEW" );
328+ }
329+
326330 }
327331
328332 return 0x00;