#include <errno.h>
...
int main(int argc){
int fd,err;
extern int errno;
char* myString = "helloworld\n";
errno=0;
fd = open("rtser0", O_RDWR);
printf("errno is : %d\n",errno);
if (fd < 0) {
printf(MAIN_PREFIX "1 : can't open %s (write), %s\n",
WRITE_FILE,
strerror(-fd));
return fd;
}
sandbox:/home/bkw/code/driver_v4# ./simpledriver_v4
errno is : 2
main : 1 : can't open rtser0 (write), Operation not permitted
Correct way of using errno?
Hope so..
/Bachman
On 13/09/2007, Gilles Chanteperdrix <[EMAIL PROTECTED]> wrote:
> On 9/13/07, Bachman Kharazmi <[EMAIL PROTECTED]> wrote:
> > int main(int argc){
> > int fd,err;
> > char* myString = "helloworld\n";
> > fd = open("rtser0", O_RDWR);
> > if (fd < 0) {
> > printf(MAIN_PREFIX "1 : can't open %s (write), %s\n",
> > WRITE_FILE,
> > strerror(-fd));
> > return fd;
> > }
> > err=ioctl(fd, RTSER_RTIOC_SET_CONFIG, &write_config);
> > if (err < 0) {
> > printf(MAIN_PREFIX "2 : error %s (write), %s\n",
> > WRITE_FILE, strerror(-fd));
> > return err;
> > }
> > err=write(fd, myString, strlen(myString));
> > if (err < 0) {
> > printf(MAIN_PREFIX "3 : error %s (write), %s\n",
> > WRITE_FILE, strerror(-fd));
> > return err;
> > }
> > printf("err is %d\n", err);
> > close(fd);
> > return 0;
> > }
> >
> > sandbox:/home/bkw/code/driver_v4# ./simpledriver_v4
> > main : 1 : can't open rtser0 (write), Operation not permitted
> >
> > why that, I'm running as root? :/
> > /BK
>
> When a posix function returns -1, the reason for the failure is stored
> in errno. You are not checking errno.
> If you do not know what errno is, type simply "man errno".
>
> --
> Gilles Chanteperdrix
>
_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help