freeBSD device driver (use struct uio)


 
Thread Tools Search this Thread
Top Forums Programming freeBSD device driver (use struct uio)
# 1  
Old 07-31-2002
freeBSD device driver (use struct uio)

Hi, everybody

I have next problem...

1) My Example program code
void main()
{
int fd;
int len;
int buf[256];
fd=open("mydev", O_RDONLY);
lseek(fd, 0, SEEK_SET);
len=read(fd, buf, sizeof(buf));
}

2) My Example Driver code

static int mydev_read(dev_t dev, ?, ?, struct uio* uio)
{
int newbuf[10];
int lennewbuf;
lenbuf=uio->uio_resid; //this is size of programm buffer (see up sizeof(buf))
uio->uio_resid=10*sizeof(int); //I try set new size returned buffer
moveuio(?,?,?,?);//I copy data to program buffer
return 0;
}

3) And Question...
Why is len variable (in Program code) after call read() == sizeof(buf), but I set in Driver code uio_resid to value
10*sizeof(int)?

It's All Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Programming

Compiling virtual network adapter driver problem (net_device struct)

Hi, I found on linuxgazette.net/93/bhaskaran.html page very useful sample of virtual driver (not connected to real hardware). I try to compile it with no effect. So: I got fresh Ubuntu 9.10 (kernel 2.6.31-14) My source is saved in networkAdapter.c file in /usr/src/myModules directory. I... (21 Replies)
Discussion started by: Chrisdot
21 Replies

2. BSD

FreeBSD 7.2 and hme driver

Hi, I'm using a Sun's quad network card, which uses hme driver. Driver is built into kernel (puting if_hme_load="YES" in loader.conf doesn't solve the problem). Every time machine reboots, driver doesn't come up soon enough and the interfaces don't configure properly. For now, the only way to... (1 Reply)
Discussion started by: Luka
1 Replies

3. Programming

regarding device driver

Hi All, I have a device driver that uses UARTserial port to write/read to-from a device. That device driver is working fine on FC3 machine( kernel version 2.6.12)... Now I am switching to FC9 (kernel version 2.6.25.11-97).I have changed the interrupt flag SA_INTERRUPT to IRQF_DISABLED... (0 Replies)
Discussion started by: rajuprade
0 Replies

4. UNIX for Advanced & Expert Users

help regarding device driver

Hi All, I have a device driver that uses UARTserial port to write/read to-from a device. That device driver is working fine on FC3 machine( kernel version 2.6.12)... Now I am switching to FC9 (kernel version 2.6.25.11-97).I have changed the interrupt flag SA_INTERRUPT to IRQF_DISABLED... (0 Replies)
Discussion started by: rajuprade
0 Replies

5. Solaris

SUNWglmr -- rasctrl environment monitoring driver for i2c or SCSI device driver ?

I've been researching minimizeing Solaris 8 and found that on the web page http://www.sun.com/bigadmin/content/packagelist/s8u7PkgList/p2.html the package SUNWglmr is listed as "rasctrl environment monitoring driver for i2c, (Root) (32-bit)" while in the document "Solaris 8 minimize-updt1.pdf"... (1 Reply)
Discussion started by: roygoodwin
1 Replies
Login or Register to Ask a Question
DEVCTL(8)						    BSD System Manager's Manual 						 DEVCTL(8)

NAME
devctl -- device control utility SYNOPSIS
devctl attach device devctl detach [-f] device devctl disable [-f] device devctl enable device devctl suspend device devctl resume device devctl set driver [-f] device driver DESCRIPTION
The devctl utility adjusts the state of individual devices in the kernel's internal device hierarchy. Each invocation of devctl consists of a single command followed by command-specific arguments. Each command operates on a single device specified via the device argument. The device may be specified either as the name of an existing device or as a bus-specific address. More details on supported address formats can be found in devctl(3). The following commands are supported: attach device Force the kernel to re-probe the device. If a suitable driver is found, it is attached to the device. detach [-f] device Detach the device from its current device driver. If the -f flag is specified, the device driver will be detached even if the device is busy. disable [-f] device Disable a device. If the device is currently attached to a device driver, the device driver will be detached from the device, but the device will retain its current name. If the -f flag is specified, the device driver will be detached even if the device is busy. enable device Enable a device. The device will probe and attach if a suitable device driver is found. Note that this can re-enable a device dis- abled at boot time via a loader tunable. suspend device Suspend a device. This may include placing the device in a reduced power state. resume device Resume a suspended device to a fully working state. set driver [-f] device driver Force the device to use a device driver named driver. If the device is already attached to a device driver and the -f flag is speci- fied, the device will be detached from its current device driver before it is attached to the new device driver. If the device is already attached to a device driver and the -f flag is not specified, the device will not be changed. SEE ALSO
devctl(3), devinfo(8) HISTORY
The devctl utility first appeared in FreeBSD 11.0. BSD
February 5, 2015 BSD