Saveliy Tretiakov <saveliyt(a)mail.ru>
- Started serialui dll
- Implemented drvCommConfigDialogA and drvCommConfigDialogW
Modified: trunk/reactos/Makefile
Modified: trunk/reactos/bootdata/packages/reactos.dff
Added: trunk/reactos/lib/serialui/
Added: trunk/reactos/lib/serialui/Makefile
Added: trunk/reactos/lib/serialui/resource.h
Added: trunk/reactos/lib/serialui/serialui.c
Added: trunk/reactos/lib/serialui/serialui.def
Added: trunk/reactos/lib/serialui/serialui.h
Added: trunk/reactos/lib/serialui/serialui.rc
_____
Modified: trunk/reactos/Makefile
--- trunk/reactos/Makefile 2005-04-06 06:09:01 UTC (rev 14524)
+++ trunk/reactos/Makefile 2005-04-06 11:14:57 UTC (rev 14525)
@@ -61,7 +61,7 @@
DLLS = acledit aclui advapi32 advpack cabinet cards comctl32 crtdll
comdlg32 d3d8thk dbghelp expat fmifs freetype \
gdi32 gdiplus glu32 hid imagehlp imm32 iphlpapi kernel32
lzexpand mesa32 midimap mmdrv mpr msacm msafd \
msgina msi msimg32 msvcrt20 msvideo mswsock netapi32 ntdll ole32
oleaut32 oledlg olepro32 opengl32 \
- packet psapi riched20 richedit rpcrt4 samlib secur32 setupapi
shell32 shlwapi smlib smdll snmpapi \
+ packet psapi riched20 richedit rpcrt4 samlib secur32 serialui
setupapi shell32 shlwapi smlib smdll snmpapi \
syssetup twain user32 userenv version wininet winmm winspool
ws2help ws2_32 wsock32 wshirda dnsapi \
urlmon shdocvw dinput dinput8 dxdiagn devenum dsound lsasrv
$(DLLS_KBD) $(DLLS_CPL) $(DLLS_SHELLEXT)
_____
Modified: trunk/reactos/bootdata/packages/reactos.dff
--- trunk/reactos/bootdata/packages/reactos.dff 2005-04-06 06:09:01 UTC
(rev 14524)
+++ trunk/reactos/bootdata/packages/reactos.dff 2005-04-06 11:14:57 UTC
(rev 14525)
@@ -115,6 +115,7 @@
lib\rpcrt4\rpcrt4.dll 1
lib\samlib\samlib.dll 1
lib\secur32\secur32.dll 1
+lib\serialui\serialui.dll 1
lib\setupapi\setupapi.dll 1
lib\shdocvw\shdocvw.dll 1
lib\shell32\shell32.dll 1
_____
Added: trunk/reactos/lib/serialui/Makefile
--- trunk/reactos/lib/serialui/Makefile 2005-04-06 06:09:01 UTC (rev
14524)
+++ trunk/reactos/lib/serialui/Makefile 2005-04-06 11:14:57 UTC (rev
14525)
@@ -0,0 +1,36 @@
+
+PATH_TO_TOP = ../..
+
+TARGET_TYPE = dynlink
+
+TARGET_NAME = serialui
+
+TARGET_BASE = $(TARGET_BASE_LIB_SERIALUI)
+
+TARGET_CFLAGS = \
+ -I./include \
+ -Wall \
+ -Werror \
+ -fno-builtin \
+ -DUNICODE \
+ -DLE \
+ -DDBG \
+ -D__USE_W32API
+
+TARGET_LFLAGS = -nostartfiles -nostdlib
+
+TARGET_SDKLIBS = kernel32.a user32.a shlwapi.a
+
+TARGET_OBJECTS = serialui.o
+
+DEP_OBJECTS := $(TARGET_OBJECTS)
+
+TARGET_CLEAN = $(DEP_FILES)
+
+include $(PATH_TO_TOP)/rules.mak
+
+include $(TOOLS_PATH)/helper.mk
+
+include $(TOOLS_PATH)/depend.mk
+
+# EOF
Property changes on: trunk/reactos/lib/serialui/Makefile
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:eol-style
+ native
_____
Added: trunk/reactos/lib/serialui/resource.h
--- trunk/reactos/lib/serialui/resource.h 2005-04-06 06:09:01 UTC
(rev 14524)
+++ trunk/reactos/lib/serialui/resource.h 2005-04-06 11:14:57 UTC
(rev 14525)
@@ -0,0 +1,32 @@
+#define IDS_EVENPARITY 2001
+#define IDS_MARKPARITY 2002
+#define IDS_NOPARITY 2003
+#define IDS_ODDPARITY 2004
+#define IDS_SPACEPARITY 2005
+
+#define IDS_ONESTOPBIT 2006
+#define IDS_ONE5STOPBITS 2007
+#define IDS_TWOSTOPBITS 2008
+
+#define IDS_FC_NO 2009
+#define IDS_FC_CTSRTS 2010
+#define IDS_FC_XONXOFF 2011
+
+#define IDS_TITLE 2012
+
+#define IDD_COMMDLG 1000
+#define IDC_GRP1 1001
+#define IDC_OKBTN 1002
+#define IDC_CANCELBTN 1003
+#define IDC_BTN 1004
+#define IDC_STC1 1005
+#define IDC_STC2 1006
+#define IDC_STC3 1007
+#define IDC_STC4 1008
+#define IDC_STC5 1009
+#define IDC_BAUDRATE 1010
+#define IDC_BYTESIZE 1011
+#define IDC_PARITY 1012
+#define IDC_STOPBITS 1013
+#define IDC_FLOW 1014
+#define IDC_RESTOREBTN 1015
Property changes on: trunk/reactos/lib/serialui/resource.h
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:eol-style
+ native
_____
Added: trunk/reactos/lib/serialui/serialui.c
--- trunk/reactos/lib/serialui/serialui.c 2005-04-06 06:09:01 UTC
(rev 14524)
+++ trunk/reactos/lib/serialui/serialui.c 2005-04-06 11:14:57 UTC
(rev 14525)
@@ -0,0 +1,440 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS SerialUI DLL
+ * FILE: serialui.c
+ * PUROPSE: A dialog box to cunfigure COM port.
+ * Functions to set(and get too) default configuration.
+ * PROGRAMMERS: Saveliy Tretiakov (saveliyt(a)mail.ru)
+ * REVISIONS:
+ * ST (05/04/2005) Created. Implemented
drvCommConfigDialog.
+ */
+
+#include <serialui.h>
+
+static HINSTANCE hDllInstance;
+
+/************************************
+ *
+ * DATA
+ *
+ ************************************/
+
+struct
+{
+ DWORD Baud;
+ CHAR *Str;
+} Bauds[] =
+{
+ { CBR_110, "110" },
+ { CBR_300, "300" },
+ { CBR_600, "600" },
+ { CBR_1200, "1200" },
+ { CBR_2400, "2400" },
+ { CBR_4800, "4800" },
+ { CBR_9600, "9600" },
+ { CBR_14400, "14400" },
+ { CBR_19200, "19200" },
+ { CBR_38400, "38400" },
+ { CBR_56000, "56000" },
+ { CBR_57600, "57600" },
+ { CBR_115200, "115200" },
+ { CBR_128000, "128000" },
+ { CBR_256000, "256000" },
+ { 0, 0 }
+};
+
+struct
+{
+ BYTE ByteSize;
+ CHAR *Str;
+} ByteSizes[] =
+{
+ { 5, "5" },
+ { 6, "6" },
+ { 7, "7" },
+ { 8, "8" },
+ { 0, 0 }
+};
+
+struct
+{
+ BYTE Parity;
+ UINT StrId;
+} Paritys[] =
+{
+ { EVENPARITY, IDS_EVENPARITY },
+ { MARKPARITY, IDS_MARKPARITY },
+ { NOPARITY, IDS_NOPARITY },
+ { ODDPARITY, IDS_ODDPARITY },
+ { SPACEPARITY, IDS_SPACEPARITY },
+ { 0, 0 }
+};
+
+struct
+{
+ BYTE StopBit;
+ UINT StrId;
+} StopBits[] =
+{
+ { ONESTOPBIT, IDS_ONESTOPBIT },
+ { ONE5STOPBITS, IDS_ONE5STOPBITS },
+ { TWOSTOPBITS, IDS_TWOSTOPBITS },
+ { 0, 0 }
+};
+
+
+/************************************
+ *
+ * DLLMAIN
+ *
+ ************************************/
+
+BOOL
+STDCALL
+DllMain(HINSTANCE hInstance,
+ DWORD dwReason,
+ LPVOID reserved)
+{
+ if(dwReason==DLL_PROCESS_ATTACH)
+ {
+ hDllInstance = hInstance;
+ }
+ else if(dwReason==DLL_THREAD_ATTACH)
+ {
+ DisableThreadLibraryCalls(hInstance);
+ }
+
+ return TRUE;
+}
+
+
+/************************************
+ *
+ * EXPORTS
+ *
+ ************************************/
+
+/*
+ * @implemented
+ */
+BOOL WINAPI drvCommConfigDialogW(LPCWSTR lpszDevice,
+ HWND hWnd,
+ LPCOMMCONFIG lpCommConfig)
+{
+ DIALOG_INFO DialogInfo;
+
+ if(!lpszDevice || !lpCommConfig)
+ {
+ return FALSE;
+ }
+
+ DialogInfo.lpszDevice = lpszDevice;
+ DialogInfo.lpCC = lpCommConfig;
+
+ return DialogBoxParamW(hDllInstance,
MAKEINTRESOURCEW(IDD_COMMDLG),
+ hWnd, (DLGPROC)CommDlgProc,
(LPARAM)&DialogInfo);
+}
+
+/*
+ * @implemented
+ */
+BOOL WINAPI drvCommConfigDialogA(LPCSTR lpszDevice,
+ HWND hWnd,
+ LPCOMMCONFIG lpCommConfig)
+{
+ BOOL result;
+ UINT len;
+ WCHAR *wstr;
+
+ len = MultiByteToWideChar(CP_ACP, 0, lpszDevice, -1, NULL, 0);
+ if((wstr = HeapAlloc(GetProcessHeap(), 0, len*sizeof(WCHAR))))
+ {
+ MultiByteToWideChar(CP_ACP, 0, lpszDevice, -1, wstr,
len);
+ result = drvCommConfigDialogW(wstr, hWnd, lpCommConfig);
+ HeapFree(GetProcessHeap(), 0, wstr);
+ return result;
+ }
+ else
+ return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI drvSetDefaultCommConfigW(LPCWSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ DWORD dwSize)
+{
+ UNIMPLEMENTED
+}
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI drvSetDefaultCommConfigA(LPCSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ DWORD dwSize)
+{
+ UNIMPLEMENTED
+}
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI drvGetDefaultCommConfigW(LPCWSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ LPDWORD lpdwSize)
+{
+ UNIMPLEMENTED
+}
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI drvGetDefaultCommConfigA(LPCSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ LPDWORD lpdwSize)
+{
+ UNIMPLEMENTED
+}
+
+
+/************************************
+ *
+ * INTERNALS
+ *
+ ************************************/
+
+LRESULT CommDlgProc(HWND hDlg,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam)
+{
+ LPDIALOG_INFO lpDlgInfo = NULL;
+ HWND hBox;
+
+ switch (Msg)
+ {
+
+ case WM_INITDIALOG:
+ {
+ WCHAR wstr[255], *format;
+ CHAR str[255];
+ RECT rc, rcDlg, rcOwner;
+ HWND hOwner;
+ INT i, len;
+
+ lpDlgInfo = (LPDIALOG_INFO)lParam;
+ SetWindowLong(hDlg, DWL_USER, (LONG)lpDlgInfo);
+
+ /* Set title */
+ LoadStringA(hDllInstance, IDS_TITLE, str, 254);
+ len = MultiByteToWideChar(CP_ACP, 0, str, -1,
NULL, 0);
+ if((format = HeapAlloc(GetProcessHeap(), 0,
len*sizeof(WCHAR))))
+ {
+ MultiByteToWideChar(CP_ACP, 0, str, -1,
format, len);
+ wnsprintfW(wstr, 254, format,
lpDlgInfo->lpszDevice);
+ HeapFree(GetProcessHeap(), 0, format);
+ SetWindowTextW(hDlg, wstr);
+ }
+
+ if(!(hOwner = GetParent(hDlg)))
+ hOwner = GetDesktopWindow();
+
+ /* Position dialog in the center of owner window
*/
+ GetWindowRect(hOwner, &rcOwner);
+ GetWindowRect(hDlg, &rcDlg);
+ CopyRect(&rc, &rcOwner);
+ OffsetRect(&rcDlg, -rcDlg.left, -rcDlg.top);
+ OffsetRect(&rc, -rc.left, -rc.top);
+ OffsetRect(&rc, -rcDlg.right, -rcDlg.bottom);
+ SetWindowPos(hDlg, HWND_TOP,
+ rcOwner.left + (rc.right / 2),
+ rcOwner.top + (rc.bottom / 2),
+ 0, 0, SWP_NOSIZE);
+
+ /* Initialize baud rate combo */
+ if(!(hBox = GetDlgItem(hDlg, IDC_BAUDRATE)))
+ EndDialog(hDlg, 0);
+
+ for(i = 0; Bauds[i].Str; i++)
+ {
+ SendMessageA(hBox, CB_INSERTSTRING,
(WPARAM)i, (LPARAM)Bauds[i].Str);
+ if(Bauds[i].Baud ==
lpDlgInfo->lpCC->dcb.BaudRate)
+ SendMessageA(hBox, CB_SETCURSEL,
(WPARAM)i, 0);
+ }
+
+ if(SendMessage(hBox, CB_GETCURSEL, 0,
0)==CB_ERR)
+ SendMessageA(hBox, CB_SETCURSEL,
DEFAULT_BAUD_INDEX, 0);
+
+ /* Initialize byte size combo */
+ if(!(hBox = GetDlgItem(hDlg, IDC_BYTESIZE)))
+ EndDialog(hDlg, 0);
+
+ for(i = 0; ByteSizes[i].Str; i++)
+ {
+ SendMessageA(hBox, CB_INSERTSTRING,
(WPARAM)i, (LPARAM)ByteSizes[i].Str);
+ if(ByteSizes[i].ByteSize ==
lpDlgInfo->lpCC->dcb.ByteSize)
+ SendMessageA(hBox, CB_SETCURSEL,
(WPARAM)i, 0);
+ }
+
+ if(SendMessage(hBox, CB_GETCURSEL, 0,
0)==CB_ERR)
+ SendMessageA(hBox, CB_SETCURSEL,
DEFAULT_BYTESIZE_INDEX, 0);
+
+ /* Initialize parity combo */
+ if(!(hBox = GetDlgItem(hDlg, IDC_PARITY)))
+ EndDialog(hDlg, 0);
+
+ for(i = 0; Paritys[i].StrId; i++)
+ {
+ if(LoadStringA(hDllInstance,
Paritys[i].StrId, str, 254))
+ {
+ SendMessageA(hBox,
CB_INSERTSTRING, (WPARAM)i, (LPARAM)str);
+ if(Paritys[i].Parity ==
lpDlgInfo->lpCC->dcb.Parity)
+ SendMessageA(hBox,
CB_SETCURSEL, (WPARAM)i, 0);
+ }
+ }
+
+ if(SendMessage(hBox, CB_GETCURSEL, 0,
0)==CB_ERR)
+ SendMessageA(hBox, CB_SETCURSEL,
DEFAULT_PARITY_INDEX, 0);
+
+ /* Initialize stop bits combo */
+ if(!(hBox = GetDlgItem(hDlg, IDC_STOPBITS)))
+ EndDialog(hDlg, 0);
+
+ for(i = 0; StopBits[i].StrId; i++)
+ {
+
if(LoadStringA(hDllInstance,StopBits[i].StrId, str, 254))
+ {
+ SendMessageA(hBox,
CB_INSERTSTRING, (WPARAM)i, (LPARAM)str);
+ if(StopBits[i].StopBit ==
lpDlgInfo->lpCC->dcb.StopBits)
+ SendMessageA(hBox,
CB_SETCURSEL, (WPARAM)i, 0);
+ }
+ }
+
+ if(SendMessage(hBox, CB_GETCURSEL, 0,
0)==CB_ERR)
+ SendMessageA(hBox, CB_SETCURSEL,
DEFAULT_STOPBITS_INDEX, 0);
+
+ /* Initialize flow control combo */
+ if(!(hBox = GetDlgItem(hDlg, IDC_FLOW)))
+ EndDialog(hDlg, 0);
+
+ if(LoadStringA(hDllInstance,IDS_FC_NO, str,
254))
+ {
+ SendMessageA(hBox, CB_INSERTSTRING, 0,
(LPARAM)str);
+ SendMessageA(hBox, CB_SETCURSEL, 0, 0);
+ lpDlgInfo->InitialFlowIndex = 0;
+ }
+
+
+ if(LoadStringA(hDllInstance,IDS_FC_CTSRTS, str,
254))
+ {
+ SendMessageA(hBox, CB_INSERTSTRING, 1,
(LPARAM)str);
+ if(lpDlgInfo->lpCC->dcb.fRtsControl ==
RTS_CONTROL_HANDSHAKE
+ ||
lpDlgInfo->lpCC->dcb.fOutxCtsFlow == TRUE)
+ {
+ SendMessageA(hBox, CB_SETCURSEL,
1, 0);
+ lpDlgInfo->InitialFlowIndex = 1;
+ }
+ }
+
+ if(LoadStringA(hDllInstance,IDS_FC_XONXOFF, str,
254))
+ {
+ SendMessageA(hBox, CB_INSERTSTRING, 2,
(LPARAM)str);
+ if(lpDlgInfo->lpCC->dcb.fOutX ||
lpDlgInfo->lpCC->dcb.fInX)
+ {
+ SendMessageA(hBox, CB_SETCURSEL,
2, 0);
+ lpDlgInfo->InitialFlowIndex = 2;
+ }
+ }
+
+ /* Set focus */
+ SetFocus(GetDlgItem(hDlg, IDC_OKBTN));
+
+ return FALSE;
+ } /* WM_INITDIALOG */
+
+ case WM_COMMAND:
+ {
+ switch(wParam)
+ {
+ case IDC_CANCELBTN:
+ EndDialog(hDlg, FALSE);
+ break;
+ case IDC_OKBTN:
+ OkButton(hDlg);
+ EndDialog(hDlg, TRUE);
+ break;
+ }
+ return TRUE;
+ } /* WM_COMMAND */
+
+ case WM_CLOSE:
+ {
+ EndDialog(hDlg, FALSE);
+ return TRUE;
+ } /* WM_CLOSE */
+
+ default:
+ return FALSE;
+ }
+
+}
+
+
+VOID OkButton(HWND hDlg)
+{
+ LPDIALOG_INFO lpDlgInfo;
+ UINT Index;
+
+ lpDlgInfo = (LPDIALOG_INFO) GetWindowLong(hDlg, DWL_USER);
+
+ /* Baud rate */
+ Index = SendMessage(GetDlgItem(hDlg, IDC_BAUDRATE),
CB_GETCURSEL, 0, 0);
+ lpDlgInfo->lpCC->dcb.BaudRate = Bauds[Index].Baud;
+
+ /* Byte size */
+ Index = SendMessage(GetDlgItem(hDlg, IDC_BYTESIZE),
CB_GETCURSEL, 0, 0);
+ lpDlgInfo->lpCC->dcb.ByteSize = ByteSizes[Index].ByteSize;
+
+ /* Parity */
+ Index = SendMessage(GetDlgItem(hDlg, IDC_PARITY), CB_GETCURSEL,
0, 0);
+ lpDlgInfo->lpCC->dcb.Parity = Paritys[Index].Parity;
+
+ /* Stop bits */
+ Index = SendMessage(GetDlgItem(hDlg, IDC_STOPBITS),
CB_GETCURSEL, 0, 0);
+ lpDlgInfo->lpCC->dcb.StopBits = StopBits[Index].StopBit;
+
+ /* Flow Control */
+ Index = SendMessage(GetDlgItem(hDlg, IDC_FLOW), CB_GETCURSEL, 0,
0);
+ if(lpDlgInfo->InitialFlowIndex != Index)
+ {
+ switch(Index)
+ {
+ case 0: /* NO */
+ lpDlgInfo->lpCC->dcb.fDtrControl =
DTR_CONTROL_DISABLE;
+ lpDlgInfo->lpCC->dcb.fRtsControl =
RTS_CONTROL_DISABLE;
+ lpDlgInfo->lpCC->dcb.fOutxCtsFlow =
FALSE;
+ lpDlgInfo->lpCC->dcb.fOutxDsrFlow =
FALSE;
+ lpDlgInfo->lpCC->dcb.fOutX = FALSE;
+ lpDlgInfo->lpCC->dcb.fInX = FALSE;
+ break;
+ case 1: /* CTS/RTS */
+ lpDlgInfo->lpCC->dcb.fDtrControl =
DTR_CONTROL_DISABLE;
+ lpDlgInfo->lpCC->dcb.fRtsControl =
RTS_CONTROL_HANDSHAKE;
+ lpDlgInfo->lpCC->dcb.fOutxCtsFlow =
TRUE;
+ lpDlgInfo->lpCC->dcb.fOutxDsrFlow =
FALSE;
+ lpDlgInfo->lpCC->dcb.fOutX = FALSE;
+ lpDlgInfo->lpCC->dcb.fInX = FALSE;
+ break;
+ case 2: /* XON/XOFF */
+ lpDlgInfo->lpCC->dcb.fDtrControl =
DTR_CONTROL_DISABLE;
+ lpDlgInfo->lpCC->dcb.fRtsControl =
RTS_CONTROL_DISABLE;
+ lpDlgInfo->lpCC->dcb.fOutxCtsFlow =
FALSE;
+ lpDlgInfo->lpCC->dcb.fOutxDsrFlow =
FALSE;
+ lpDlgInfo->lpCC->dcb.fOutX = TRUE;
+ lpDlgInfo->lpCC->dcb.fInX = TRUE;
+ break;
+ }
+ }
+}
Property changes on: trunk/reactos/lib/serialui/serialui.c
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:eol-style
+ native
_____
Added: trunk/reactos/lib/serialui/serialui.def
--- trunk/reactos/lib/serialui/serialui.def 2005-04-06 06:09:01 UTC
(rev 14524)
+++ trunk/reactos/lib/serialui/serialui.def 2005-04-06 11:14:57 UTC
(rev 14525)
@@ -0,0 +1,10 @@
+LIBRARY serialui.dll
+
+EXPORTS
+drvCommConfigDialogW@12
+drvCommConfigDialogA@12
+drvSetDefaultCommConfigW@12
+drvSetDefaultCommConfigA@12
+drvGetDefaultCommConfigW@12
+drvGetDefaultCommConfigA@12
+
Property changes on: trunk/reactos/lib/serialui/serialui.def
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:eol-style
+ native
_____
Added: trunk/reactos/lib/serialui/serialui.h
--- trunk/reactos/lib/serialui/serialui.h 2005-04-06 06:09:01 UTC
(rev 14524)
+++ trunk/reactos/lib/serialui/serialui.h 2005-04-06 11:14:57 UTC
(rev 14525)
@@ -0,0 +1,74 @@
+/*
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS SerialUI DLL
+ * FILE: serialui.h
+ * PURPOSE: header file
+ * PROGRAMMERS: Saveliy Tretiakov (saveliyt(a)mail.ru)
+ */
+
+#include <windows.h>
+#include <shlwapi.h>
+#include "resource.h"
+
+#define UNIMPLEMENTED \
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); \
+ return FALSE;
+
+#define DEFAULT_BAUD_INDEX 6
+#define DEFAULT_BYTESIZE_INDEX 3
+#define DEFAULT_PARITY_INDEX 2
+#define DEFAULT_STOPBITS_INDEX 0
+
+typedef struct _DIALOG_INFO
+{
+ LPCWSTR lpszDevice;
+ UINT InitialFlowIndex;
+ LPCOMMCONFIG lpCC;
+} DIALOG_INFO, *LPDIALOG_INFO;
+
+
+/************************************
+ *
+ * EXPORTS
+ *
+ ************************************/
+
+BOOL WINAPI drvCommConfigDialogW(LPCWSTR lpszDevice,
+ HWND hWnd,
+ LPCOMMCONFIG lpCommConfig);
+
+BOOL WINAPI drvCommConfigDialogA(LPCSTR lpszDevice,
+ HWND hWnd,
+ LPCOMMCONFIG lpCommConfig);
+
+BOOL WINAPI drvSetDefaultCommConfigW(LPCWSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ DWORD dwSize);
+
+BOOL WINAPI drvSetDefaultCommConfigA(LPCSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ DWORD dwSize);
+
+BOOL WINAPI drvGetDefaultCommConfigW(LPCWSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ LPDWORD lpdwSize);
+
+BOOL WINAPI drvGetDefaultCommConfigA(LPCSTR lpszDevice,
+ LPCOMMCONFIG lpCommConfig,
+ LPDWORD lpdwSize);
+
+
+/************************************
+ *
+ * INTERNALS
+ *
+ ************************************/
+
+LRESULT CommDlgProc(HWND hDlg,
+ UINT Msg,
+ WPARAM wParam,
+ LPARAM lParam);
+
+VOID OkButton(HWND hDlg);
+
+
Property changes on: trunk/reactos/lib/serialui/serialui.h
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:eol-style
+ native
_____
Added: trunk/reactos/lib/serialui/serialui.rc
--- trunk/reactos/lib/serialui/serialui.rc 2005-04-06 06:09:01 UTC
(rev 14524)
+++ trunk/reactos/lib/serialui/serialui.rc 2005-04-06 11:14:57 UTC
(rev 14525)
@@ -0,0 +1,48 @@
+#include "resource.h"
+
+#define REACTOS_VERSION_DLL
+#define REACTOS_STR_FILE_DESCRIPTION "ReactOS SerialUI DLL\0"
+#define REACTOS_STR_INTERNAL_NAME "serialui\0"
+#define REACTOS_STR_ORIGINAL_FILENAME "serialui.dll\0"
+#include <reactos/version.rc>
+
+
+STRINGTABLE LOADONCALL DISCARDABLE
+BEGIN
+ IDS_EVENPARITY, "Even"
+ IDS_MARKPARITY, "Mark"
+ IDS_NOPARITY, "No parity"
+ IDS_ODDPARITY, "Odd"
+ IDS_SPACEPARITY, "Space"
+
+ IDS_ONESTOPBIT, "1 stop bit"
+ IDS_ONE5STOPBITS, "1.5 stop bits"
+ IDS_TWOSTOPBITS, "2 stop bits"
+
+ IDS_FC_NO, "No"
+ IDS_FC_CTSRTS, "CTS/RTS"
+ IDS_FC_XONXOFF, "XON/XOFF"
+
+ IDS_TITLE, "Properties for %s"
+END
+
+IDD_COMMDLG DIALOGEX 6,5,222,175
+FONT 8,"MS Sans Serif"
+STYLE 0x10C80080
+EXSTYLE 0x00000001
+BEGIN
+ CONTROL "",IDC_GRP1,"Button",0x50000007,6,5,210,146,0x00000000
+ CONTROL
"OK",IDC_OKBTN,"Button",0x50010000,98,156,56,13,0x00000000
+ CONTROL
"Cancel",IDC_CANCELBTN,"Button",0x50010000,158,156,56,13,0x00000000
+ CONTROL "Baud
rate:",IDC_STC1,"Static",0x50000000,24,31,42,9,0x00000000
+ CONTROL "Byte
size:",IDC_STC2,"Static",0x50000000,24,53,42,9,0x00000000
+ CONTROL
"Parity:",IDC_STC3,"Static",0x50000000,24,73,42,9,0x00000000
+ CONTROL "Stop
bits:",IDC_STC4,"Static",0x50000000,24,96,42,9,0x00000000
+ CONTROL "Flow
control:",IDC_STC5,"Static",0x50000000,24,120,42,9,0x00000000
+ CONTROL
"",IDC_BAUDRATE,"ComboBox",0x50210003,98,29,100,50,0x00000000
+ CONTROL
"",IDC_BYTESIZE,"ComboBox",0x50210003,98,49,100,50,0x00000000
+ CONTROL
"",IDC_PARITY,"ComboBox",0x50210003,98,72,100,50,0x00000000
+ CONTROL
"",IDC_STOPBITS,"ComboBox",0x50210003,98,94,100,50,0x00000000
+ CONTROL
"",IDC_FLOW,"ComboBox",0x50210003,98,116,100,50,0x00000000
+END
+
Property changes on: trunk/reactos/lib/serialui/serialui.rc
___________________________________________________________________
Name: svn:keywords
+ author date id revision
Name: svn:eol-style
+ native