Hello.

I dont know if this a cuestion for this list, but I think is it a valid 
cuestion...
I reading a book recomended in http://www.openbsd.org/books.html The book is 
"Advanced programmig in the unix environment".
In this book I read Figure 3.1 but this not compile. the error is:

$cc F3_10.c
/tmp//ccnsuA79.o(.text+027): In function 'main':
:undefined reference to 'err_quit'
/tmp//ccnsuA79.o(.text+0x74): In fuction 'main':
:undefined reference to 'err_sys'
/tmp//ccnsuA79.o(.txt+0xdf): In functiion 'main':
:undefined reference to 'err_dump'
collect2: ld returned 1 exit status

The source is:


#include "apue.h"
#include <fcntl.h>

int
main(int argc, char *argv[])
{
        int val;
        if (argc != 2)
          err_quit("usage: a.out <descriptor#>");
        if ((val = fcntl(atoi(argv[1]), F_GETFL, 0)) < 0)
          err_sys("fcntl error for fd %d", atoi(argv[1]));

        switch (val & O_ACCMODE) {
        case O_RDONLY:
                printf("read only");
                break;
        case O_WRONLY:
                printf("write only");
                break;
        case O_RDWR:
                printf("read write");
                break;
        default:
                err_dump("unknown access mode");
        }
        if (val & O_APPEND)
                printf(", append");
        if (val & O_NONBLOCK)
                printf(", nonblocking");
        #if  defined(O_SYNC)
                if (val & O_SYNC)
                        printf(", synchronous writes");
        #endif
                putchar('\n');
                exit(0);
        }

I dont know wath is the problem. your can helpme?

Sorry my bad english.

regards.

Dmitri.-

Reply via email to