stand0715 stand stand/include/machine/diskio.h only /* "fake" diskio.h */ #define DISK_IOCTL_GETINFO 1 #define DISK_IOCTL_READ 2 #define DISK_INFO_FLAG_MBR 0x00000001 #define DISK_INFO_FLAG_CHS_UNCERTAIN 0x00000002 #define DISK_INFO_FLAG_UNFORMATTED 0x00000004 #define DISK_INFO_FLAG_PAGEABLE 0x00000008 typedef struct { long pad1; DWORD di_bytes_per_sect;/* offset 4 */ DWORD di_cylinders; /* offset 8 */ DWORD di_heads; /* offset 12 */ DWORD di_sectors; /* offset 16 */ DWORD di_flags; /* offset 20 */ } DISK_INFO; /* sizeof(DISK_INFO) = 24 */ typedef struct _SG_REQ { DWORD sr_start; /* offset 0 */ DWORD sr_num_sec; /* offset 4 */ DWORD sr_num_sg; /* offset 8 */ DWORD sr_status; /* offset 12 */ DWORD (*sr_callback)(struct _SG_REQ *); /* offset 16 */ struct { /* offset 20 */ PUCHAR sb_buf; /* offset 0 */ DWORD sb_len; /* offset 4 */ } sr_sglist[1]; /* sizeof(sr_sglist[]) = 8 */ } SG_REQ; /* sizeof(SG_REQ) = 28 */ standbak/libsa/winblk.c stand/libsa/winblk.c 43c43 < #include --- > #include standbak/pbsdboot/main.c stand/pbsdboot/main.c 105c105 < HWND hWndMain; --- > HWND hDlgMain; 350c350 < LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); --- > BOOL CALLBACK MainDlgProc(HWND, UINT, WPARAM, LPARAM); 397,398c397,399 < int i, idx; < RECT rect; --- > HDC hdc; > int i, idx,width,height; > 436c437 < wc.lpfnWndProc = (WNDPROC) WndProc; --- > wc.lpfnWndProc = (WNDPROC) DefWindowProc; 442c443 < wc.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); --- > wc.hbrBackground = (HBRUSH) GetStockObject(GRAY_BRUSH);//LTGRAY_BRUSH);//WHITE_BRUSH); 453,468c454,457 < /* < * Main Window < */ < #define WS_EX_CONTROLPARENT 0x00010000L < hWndMain = CreateWindowEx((osversion < 211) ? 0 : WS_EX_CONTROLPARENT, < szAppName, < szTitle, < WS_VISIBLE, < CW_USEDEFAULT, < CW_USEDEFAULT, < CW_USEDEFAULT, < CW_USEDEFAULT, < NULL, < NULL, < hInstance, < NULL); --- > hdc = GetDC(0); > width = GetDeviceCaps(hdc,HORZRES); > height = GetDeviceCaps(hdc,VERTRES); > ReleaseDC(0,hdc); 470,484c459,463 < GetClientRect(hWndMain, &rect); < if (rect.right < rect.bottom) { < /* < * portrait < */ < CreateMainWindow(hInst, hWndMain, < MAKEINTRESOURCE(IDD_MAIN_240X320), < CommandBar_Height(hWndCB)); < } else { < /* < * landscape < */ < CreateMainWindow(hInst, hWndMain, < MAKEINTRESOURCE(IDD_MAIN_640X240), < CommandBar_Height(hWndCB)); --- > if(width > height){ > hDlgMain = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_MAIN_320X240),NULL,MainDlgProc); > } > else{ > hDlgMain = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_MAIN_240X320),NULL,MainDlgProc); 486,487c465,468 < SetFocus(GetDlgItem(hWndMain, IDC_BOOT)); < SetForegroundWindow(hWndMain); --- > > > SetFocus(GetDlgItem(hDlgMain, IDC_BOOT)); > SetForegroundWindow(hDlgMain); 535c516 < SendDlgItemMessage(hWndMain, IDC_KERNEL, --- > SendDlgItemMessage(hDlgMain, IDC_KERNEL, 541c522 < SendDlgItemMessage(hWndMain, IDC_KERNEL, CB_ADDSTRING, 0, --- > SendDlgItemMessage(hDlgMain, IDC_KERNEL, CB_ADDSTRING, 0, 546c527 < SendDlgItemMessage(hWndMain, IDC_KERNEL, CB_SETCURSEL, 0, --- > SendDlgItemMessage(hDlgMain, IDC_KERNEL, CB_SETCURSEL, 0, 549,550c530,531 < SetDlgItemText(hWndMain, IDC_KERNEL, pref.kernel_name); < SetDlgItemText(hWndMain, IDC_OPTIONS, pref.options); --- > SetDlgItemText(hDlgMain, IDC_KERNEL, pref.kernel_name); > SetDlgItemText(hDlgMain, IDC_OPTIONS, pref.options); 556c537 < idx = SendDlgItemMessage(hWndMain, IDC_FBSELECT, CB_ADDSTRING, --- > idx = SendDlgItemMessage(hDlgMain, IDC_FBSELECT, CB_ADDSTRING, 558c539 < SendDlgItemMessage(hWndMain, IDC_FBSELECT, --- > SendDlgItemMessage(hDlgMain, IDC_FBSELECT, 564c545 < SendDlgItemMessage(hWndMain, IDC_FBSELECT, CB_SETCURSEL, --- > SendDlgItemMessage(hDlgMain, IDC_FBSELECT, CB_SETCURSEL, 571c552 < SetTimer(hWndMain,IDD_TIMER,1000,NULL); --- > SetTimer(hDlgMain,IDD_TIMER,1000,NULL); 580,584c561,562 < ShowWindow(hWndMain, SW_SHOW); < UpdateWindow(hWndMain); < while (GetMessage(&msg, NULL, 0, 0)) { < if (osversion < 211 || < hWndMain == 0 || !IsDialogMessage(hWndMain, &msg)) { --- > ShowWindow(hDlgMain, SW_SHOW); > UpdateWindow(hDlgMain); 586c564,566 < TranslateMessage(&msg); --- > > while (GetMessage(&msg, NULL, 0, 0)) { > // if (osversion < 211 || 588c568 < if(msg.message == WM_CHAR || msg.message == WM_LBUTTONDOWN){ --- > if(msg.message == WM_KEYDOWN || msg.message == WM_LBUTTONDOWN){ 591c571 < KillTimer(hWndMain,IDD_TIMER); --- > KillTimer(hDlgMain,IDD_TIMER); 595a576,579 > > if(!IsDialogMessage(hDlgMain, &msg)) { > > TranslateMessage(&msg); 1061a1046 > BOOL BootKernel(int directboot){ 1063,1121d1047 < < LRESULT CALLBACK WndProc(HWND hWnd, UINT message, < WPARAM wParam, LPARAM lParam ) < { < int i, idx; < < switch (message) { < case WM_CREATE: < sndPlaySound(TEXT("OpenProg"), SND_NODEFAULT | SND_ASYNC); < hWndCB = CommandBar_Create(hInst, hWnd, 1); < CommandBar_AddAdornments(hWndCB, STD_HELP, (DWORD)NULL); < palette_init(hWnd); < break; < < case WM_PAINT: < { < HDC hdc; < PAINTSTRUCT ps; < < hdc = BeginPaint(hWnd, &ps); < EndPaint(hWnd, &ps); < } < break; < < case WM_PALETTECHANGED: < palette_check(hWnd); < break; < < case WM_HELP: < /* < MessageBox (NULL, TEXT("HELP NOT AVAILABLE"), < szAppName, MB_OK); < */ < DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT), hWnd, DlgProc2); < break; < < < case WM_TIMER: < if(!booting){/* ignore! */ < KillTimer(hWnd,IDD_TIMER); < stat_printf(TEXT("interrupt2")); < return (1); < } < if(how_long_to_boot > 0){ < how_long_to_boot--; < stat_printf( < TEXT("autoboot after %d second,tap or hit any key to interrupt"), < how_long_to_boot); < } < else{ < KillTimer(hWnd,IDD_TIMER); < goto BOOTING; < } < break; < case WM_COMMAND: < < switch (LOWORD(wParam)) { < case IDC_BOOT: < { 1122a1049 > int i; 1134,1135c1061 < BOOTING: < if (GetDlgItemText(hWndMain, IDC_KERNEL, wkernel_name, --- > if (GetDlgItemText(hDlgMain, IDC_KERNEL, wkernel_name, 1139c1065 < break; --- > return FALSE; 1141c1067 < GetDlgItemText(hWndMain, IDC_OPTIONS, --- > GetDlgItemText(hDlgMain, IDC_OPTIONS, 1148c1074 < break; --- > return FALSE; 1159c1085 < break; --- > return FALSE; 1165c1091 < break; --- > return FALSE; 1173c1099 < break; --- > return FALSE; 1179c1105 < break; --- > return FALSE; 1183c1109 < EnableWindow(hWndMain, FALSE); --- > EnableWindow(hDlgMain, FALSE); 1185c1111 < if (booting || (MessageBox (hWndMain, --- > if (directboot || (MessageBox (hDlgMain, 1194c1120 < hWndMain, DlgProc); --- > hDlgMain, DlgProc); 1251c1177,1204 < EnableWindow(hWndMain, TRUE); --- > EnableWindow(hDlgMain, TRUE); > return FALSE; > } > > BOOL CALLBACK MainDlgProc(HWND hWnd, UINT message, > WPARAM wParam, LPARAM lParam ) > { > int i, idx; > > switch (message) { > case WM_CREATE: > sndPlaySound(TEXT("OpenProg"), SND_NODEFAULT | SND_ASYNC); > hWndCB = CommandBar_Create(hInst, hWnd, 1); > CommandBar_AddAdornments(hWndCB, STD_HELP, (DWORD)NULL); > palette_init(hWnd); > break; > /* case WM_CTLCOLORSTATIC: > SetTextColor((HDC)wParam, GetSysColor(COLOR_STATICTEXT)); > SetBkMode((HDC)wParam, TRANSPARENT); > return (long)GetStockObject(WHITE_BRUSH); > break;*/ > case WM_PAINT: > { > HDC hdc; > PAINTSTRUCT ps; > > hdc = BeginPaint(hWnd, &ps); > EndPaint(hWnd, &ps); 1253a1207,1243 > > case WM_PALETTECHANGED: > palette_check(hWnd); > break; > > case WM_HELP: > /* > MessageBox (NULL, TEXT("HELP NOT AVAILABLE"), > szAppName, MB_OK); > */ > DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT), hWnd, DlgProc2); > break; > > > case WM_TIMER: > if(!booting){/* ignore! */ > KillTimer(hWnd,IDD_TIMER); > stat_printf(TEXT("interrupt2")); > return (1); > } > if(how_long_to_boot > 0){ > how_long_to_boot--; > stat_printf( > TEXT("autoboot after %d second,tap or hit any key to interrupt"), > how_long_to_boot); > } > else{ > KillTimer(hWnd,IDD_TIMER); > BootKernel(1); > } > break; > > case WM_COMMAND: > switch (LOWORD(wParam)) { > case IDC_BOOT: > BootKernel(0); > break; 1256c1246 < hWndMain, FbDlgProc) == IDOK) { --- > hDlgMain, FbDlgProc) == IDOK) { 1259c1249 < SendDlgItemMessage(hWndMain, IDC_FBSELECT, --- > SendDlgItemMessage(hDlgMain, IDC_FBSELECT, 1262c1252 < SendDlgItemMessage(hWndMain, IDC_FBSELECT, --- > SendDlgItemMessage(hDlgMain, IDC_FBSELECT, 1304,1305d1293 < default: < return (DefWindowProc(hWnd, message, wParam, lParam)); standbak/pbsdboot/pbsdboot.h stand/pbsdboot/pbsdboot.h 120c120 < extern HWND hWndMain; --- > extern HWND hDlgMain; standbak/pbsdboot/print.c stand/pbsdboot/print.c 85c85 < return MessageBox(hWndMain, buffer, caption, type); --- > return MessageBox(hDlgMain, buffer, caption, type); 99c99 < SetDlgItemText(hWndMain, IDC_STATUS, buffer); --- > SetDlgItemText(hDlgMain, IDC_STATUS, buffer); standbak/pbsdboot/res/pbsdboot.rc stand/pbsdboot/res/pbsdboot.rc 39c39 < IDD_FB DIALOGEX 0, 0, 119, 96 --- > IDD_FB DIALOG DISCARDABLE 0, 0, 119, 96 72,73c72,74 < IDD_MAIN_240X320 DIALOGEX 0, 0, 147, 162 < STYLE WS_POPUP --- > IDD_MAIN_240X320 DIALOGEX 0, 0, 136, 153 > STYLE DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU > CAPTION "Welcome to PocketBSD!" 76c77 < COMBOBOX IDC_KERNEL,55,21,85,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | --- > COMBOBOX IDC_KERNEL,55,12,76,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | 78c79 < COMBOBOX IDC_FBSELECT,55,36,75,109,CBS_DROPDOWNLIST | WS_VSCROLL | --- > COMBOBOX IDC_FBSELECT,55,32,69,109,CBS_DROPDOWNLIST | WS_VSCROLL | 80,81c81,82 < PUSHBUTTON "...",IDC_FBSETTING,130,40,10,8 < EDITTEXT IDC_OPTIONS,55,51,85,12,ES_AUTOHSCROLL | NOT WS_BORDER, --- > PUSHBUTTON "...",IDC_FBSETTING,124,36,10,8 > EDITTEXT IDC_OPTIONS,56,51,71,12,ES_AUTOHSCROLL | NOT WS_BORDER, 83,84c84,85 < DEFPUSHBUTTON "&Boot",IDC_BOOT,51,114,45,12 < EDITTEXT IDC_STATUS,5,150,135,10,ES_AUTOHSCROLL | ES_READONLY | --- > DEFPUSHBUTTON "&Boot",IDC_BOOT,46,114,45,12 > EDITTEXT IDC_STATUS,8,136,121,12,ES_AUTOHSCROLL | ES_READONLY | 86,90c87,90 < LTEXT "Welcome to PocketBSD!",IDC_STATIC,5,5,120,10 < RTEXT "Kernel name:",IDC_STATIC,0,25,52,8 < RTEXT "Frame Buffer:",IDC_STATIC,0,40,52,8 < RTEXT "Options:",IDC_STATIC,0,55,52,8 < PUSHBUTTON "Properties",IDC_PROPERTY,50,83,47,15 --- > RTEXT "Kernel name:",IDC_STATIC,4,13,46,8 > RTEXT "Frame Buffer:",IDC_STATIC,0,33,52,8 > RTEXT "Options:",IDC_STATIC,8,53,40,8 > PUSHBUTTON "Properties",IDC_PROPERTY,45,84,47,15 93,94c93,95 < IDD_MAIN_640X240 DIALOGEX 0, 0, 240, 120 < STYLE WS_POPUP --- > IDD_MAIN_320X240 DIALOGEX 0, 0, 160, 101 > STYLE DS_CENTER | WS_CAPTION | WS_SYSMENU > CAPTION "Welcome to PocketBSD!" 97c98 < COMBOBOX IDC_KERNEL,105,21,85,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | --- > COMBOBOX IDC_KERNEL,57,9,85,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | 99c100 < COMBOBOX IDC_FBSELECT,105,36,75,70,CBS_DROPDOWNLIST | WS_VSCROLL | --- > COMBOBOX IDC_FBSELECT,57,27,89,70,CBS_DROPDOWNLIST | WS_VSCROLL | 101,102c102,103 < PUSHBUTTON "...",IDC_FBSETTING,180,40,10,8 < EDITTEXT IDC_OPTIONS,105,51,85,12,ES_AUTOHSCROLL | NOT WS_BORDER, --- > PUSHBUTTON "...",IDC_FBSETTING,148,32,10,8 > EDITTEXT IDC_OPTIONS,59,44,86,12,ES_AUTOHSCROLL | NOT WS_BORDER, 104,109c105,109 < DEFPUSHBUTTON "&Boot",IDC_BOOT,100,90,45,12 < RTEXT "Kernel name:",IDC_STATIC,50,25,52,8 < RTEXT "Frame Buffer:",IDC_STATIC,50,40,52,8 < RTEXT "Options:",IDC_STATIC,50,55,52,8 < LTEXT "Welcome to PocketBSD!",IDC_STATIC,20,6,120,10 < EDITTEXT IDC_STATUS,5,105,230,12,ES_AUTOHSCROLL | ES_READONLY | --- > DEFPUSHBUTTON "&Boot",IDC_BOOT,86,64,45,12 > RTEXT "Kernel name:",IDC_STATIC,2,12,52,8 > RTEXT "Frame Buffer:",IDC_STATIC,2,28,52,8 > RTEXT "Options:",IDC_STATIC,5,44,52,8 > EDITTEXT IDC_STATUS,1,84,155,12,ES_AUTOHSCROLL | ES_READONLY | 111c111 < PUSHBUTTON "Properties",IDC_PROPERTY,100,72,45,11 --- > PUSHBUTTON "Properties",IDC_PROPERTY,16,64,45,11 165,180d164 < END < < IDD_MAIN_240X320, DIALOG < BEGIN < LEFTMARGIN, 7 < RIGHTMARGIN, 140 < TOPMARGIN, 7 < BOTTOMMARGIN, 155 < END < < IDD_MAIN_640X240, DIALOG < BEGIN < LEFTMARGIN, 5 < RIGHTMARGIN, 233 < TOPMARGIN, 6 < BOTTOMMARGIN, 113 standbak/pbsdboot/res/resource.h stand/pbsdboot/res/resource.h 9a10 > #define IDD_MAIN_320X240 106