read support over lp port

git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@588 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Peter Kallden 2004-01-29 12:24:15 +00:00
parent 682fa1081a
commit 2466e0a1a4

View File

@ -69,9 +69,11 @@ parallel_create(uint32 device_id, uint32 access, uint32 share_mode, uint32 dispo
{
int parallel_fd;
parallel_fd = open(g_rdpdr_device[device_id].local_path, O_WRONLY);
if (parallel_fd == -1)
parallel_fd = open(g_rdpdr_device[device_id].local_path, O_RDWR);
if (parallel_fd == -1) {
perror("open");
return STATUS_ACCESS_DENIED;
}
g_rdpdr_device[device_id].handle = parallel_fd;
@ -87,6 +89,13 @@ parallel_close(HANDLE handle)
return STATUS_SUCCESS;
}
NTSTATUS
parallel_read(HANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result)
{
*result = read(handle, data, length);
return STATUS_SUCCESS;
}
static NTSTATUS
parallel_write(HANDLE handle, uint8 * data, uint32 length, uint32 offset, uint32 * result)
{
@ -121,7 +130,7 @@ parallel_device_control(HANDLE handle, uint32 request, STREAM in, STREAM out)
DEVICE_FNS parallel_fns = {
parallel_create,
parallel_close,
NULL,
parallel_read,
parallel_write,
parallel_device_control
};