03-12-2009
ioctl : strace
Hi All,
int ioctl(int d, int request, ...);
Can somebody tell me how does ioctl decides the input parameter: "request".
Sometimes, its SNDCTL_TMR_TIMEBASE or TCGETS
or FIONREAD...etc.
What is the pattern??
I am asking this coz my strace returns this:
open("/usr/lib/perl5/5.8.5/i386-linux-thread-multi/IO/Select.pm", O_RDONLY|O_LARGEFILE) = 5
ioctl(5, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfe76d08) = -1 ENOTTY (Inappropriate ioctl for device)
Now, since I have the ioctl error, hence my program is aborting.
Any help!!
10 More Discussions You Might Find Interesting
1. Programming
UNIX, gnu cc compiler, SUN Ultra 60
Hello, this is my first post, so please bear with me. I'm currently developing a test environment for a network subsystem that, when live, accesses databases and other network elements.
However, my test environment will be run offline, so I need to fake... (4 Replies)
Discussion started by: j_t_kim
4 Replies
2. UNIX for Dummies Questions & Answers
Hello,
I have a cron entry:
59 23 * * * . $HOME/.profile;mydate=`date '+%Y%m%d'`;mv filename filename_$mydate
Which works fine interactively, but gives me the following error when it runs in cron:
Your "cron" job on servername
. $HOME/.profile;mydate=`date '+
produced the... (4 Replies)
Discussion started by: steelrose
4 Replies
3. UNIX for Advanced & Expert Users
OK so I wanted to know how does grep outputs to the pipe and how sort reads from it. So I run a strace over "grep blah myfile | sort" and this is what I got:
open("myfile", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0600, st_size=84, ...}) = 0
read(3, "blah blah and blah cause of... (4 Replies)
Discussion started by: klam
4 Replies
4. UNIX for Advanced & Expert Users
Hi Gurus,
I need to trace a sqlplus session using strace.
Can someone please provide me the syntax. sorry was not able to figure out by reading the man page. :-(
i tried to do as below but getting the error
xt33db006/u1/app/oracle/product/10.2.0/asm_1$ strace -f sqlplus '/as sysdba'... (0 Replies)
Discussion started by: p4cldba
0 Replies
5. Solaris
For some reason when I try to take a snapshot of the root slice on a particular machine I get an ioctl 22 error. I can't seem to find much on the problem by searching the internet other than some realtime processes such as ntp that use mlock can cause this to happen. I tried running it with truss... (2 Replies)
Discussion started by: ilikecows
2 Replies
6. UNIX for Advanced & Expert Users
Hi,
does anyone know the equivalent command of the following in AIX :
$ strace -tp 15033
Process 15033 attached - interrupt to quit
11:28:06 gettimeofday({1257766086, 104118}, NULL) = 0
11:28:06 getrusage(RUSAGE_SELF, {ru_utime={2270, 615813}, ru_stime={0, 634903}, ...}) = 0
Thank you (6 Replies)
Discussion started by: big123456
6 Replies
7. UNIX for Advanced & Expert Users
Hi All,
Good day, need some help on strace result. We're encountering oracle Database server connection slowness (using sqlplus login to db server, there have 1 or 2 secs delay) we had generated strace and provide to oracle to investigate, and they told us it look like OS problem (Our OS is Red... (4 Replies)
Discussion started by: klng
4 Replies
8. Android
I need to run and monitor applications on Android Emulator. I am using the strace utility to monitor system calls. Everytime to start strace i need to manually start the application , get the process Id of the application and then give it to strace to start logging all the system calls.
So is... (20 Replies)
Discussion started by: far001han
20 Replies
9. Ubuntu
I want to run the strace -p xxxx -o in a script to monitor a process that hangs sometimes and requires a restart, my question is if strace is constantly running in the background will it chew up system resources and cause the system slowness? (3 Replies)
Discussion started by: wereyou
3 Replies
10. Red Hat
I have requirement for strace utility rpm package for RHEL 5.9. I have made a google for last 1 hr. but did not find the required one. Can any one help me out to find out the compatible rpm package of strace for Redhat 5.9 version (I require 64 bit version). (7 Replies)
Discussion started by: Anjan Ganguly
7 Replies
LEARN ABOUT FREEBSD
ioctl
IOCTL(2) BSD System Calls Manual IOCTL(2)
NAME
ioctl -- control device
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/ioctl.h>
int
ioctl(int fd, unsigned long request, ...);
DESCRIPTION
The ioctl() system call manipulates the underlying device parameters of special files. In particular, many operating characteristics of
character special files (e.g. terminals) may be controlled with ioctl() requests. The argument fd must be an open file descriptor.
The third argument to ioctl() is traditionally named char *argp. Most uses of ioctl(), however, require the third argument to be a caddr_t
or an int.
An ioctl() request has encoded in it whether the argument is an ``in'' argument or ``out'' argument, and the size of the argument argp in
bytes. Macros and defines used in specifying an ioctl request are located in the file <sys/ioctl.h>.
GENERIC IOCTLS
Some generic ioctls are not implemented for all types of file descriptors. These include:
FIONREAD int
Get the number of bytes that are immediately available for reading.
FIONWRITE int
Get the number of bytes in the descriptor's send queue. These bytes are data which has been written to the descriptor but which are
being held by the kernel for further processing. The nature of the required processing depends on the underlying device. For TCP
sockets, these bytes have not yet been acknowledged by the other side of the connection.
FIONSPACE int
Get the free space in the descriptor's send queue. This value is the size of the send queue minus the number of bytes being held in
the queue. Note: while this value represents the number of bytes that may be added to the queue, other resource limitations may
cause a write not larger than the send queue's space to be blocked. One such limitation would be a lack of network buffers for a
write to a network connection.
RETURN VALUES
If an error has occurred, a value of -1 is returned and errno is set to indicate the error.
ERRORS
The ioctl() system call will fail if:
[EBADF] The fd argument is not a valid descriptor.
[ENOTTY] The fd argument is not associated with a character special device.
[ENOTTY] The specified request does not apply to the kind of object that the descriptor fd references.
[EINVAL] The request or argp argument is not valid.
[EFAULT] The argp argument points outside the process's allocated address space.
SEE ALSO
execve(2), fcntl(2), intro(4), tty(4)
HISTORY
The ioctl() function appeared in Version 7 AT&T UNIX.
BSD
September 11, 2013 BSD