Discussion:
I can't find Stevens ourhdr.h
(too old to reply)
Peter Percival
2018-07-05 13:50:37 UTC
Permalink
W. Richard Stevens' /Advanced programming in the Unix environment/
features a file ourhdr.h. I have downloaded the source code for the
book from http://www.kohala.com/start/apue.tar.Z. There are a number of
files called ourhdr.h but they all seem to be empty.

I downloaded and expanded apue.tar.Z on a Windows 10 computer using
WinZip with a view to transferring them, via a USB stick, to a Raspberry Pi.
😉 Good Guy 😉
2018-07-05 15:36:10 UTC
Permalink
Post by Peter Percival
W. Richard Stevens' /Advanced programming in the Unix environment/
features a file ourhdr.h. I have downloaded the source code for the
book from http://www.kohala.com/start/apue.tar.Z. There are a number
of files called ourhdr.h but they all seem to be empty.
I downloaded and expanded apue.tar.Z on a Windows 10 computer using
WinZip with a view to transferring them, via a USB stick, to a
Raspberry Pi.
/* Our own header, to be included *after* all standard system headers */
#ifndef __ourhdr_h
#define __ourhdr_h
#include <sys/types.h> /* required for some of our prototypes */
#include <stdio.h> /* for convenience */
#include <stdlib.h> /* for convenience */
#include <string.h> /* for convenience */
#include <unistd.h> /* for convenience */
#ifdef notdef /* delete for systems that don't define this
(SunOS 4.x) */
typedef int ssize_t;
#endif
#ifdef notdef /* delete if <stdlib.h> doesn't define these for
getopt() */
extern char *optarg;
extern int optind, opterr, optopt;
#endif
#ifdef notdef /* delete if send() not supported (DEC OSF/1) */
#define send(a,b,c,d) sendto((a), (b), (c), (d), (struct
sockaddr *) NULL, 0)
#endif
#define MAXLINE 4096 /* max line length */
#define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
/* default file access permissions for new files */
#define DIR_MODE (FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH)
/* default permissions for new directories */
typedef void Sigfunc(int); /* for signal handlers */
/* 4.3BSD Reno <signal.h> doesn't define SIG_ERR */
#if defined(SIG_IGN) && !defined(SIG_ERR)
#define SIG_ERR ((Sigfunc *)-1)
#endif
#define min(a,b) ((a) < (b) ? (a) : (b))
#define max(a,b) ((a) > (b) ? (a) : (b))
/* prototypes for our own functions */
char *path_alloc(int *); /* {Prog pathalloc} */
int open_max(void); /* {Prog openmax} */
void clr_fl(int, int); /* {Prog setfl} */
void set_fl(int, int); /* {Prog setfl} */
void pr_exit(int); /* {Prog prexit} */
void pr_mask(const char *); /* {Prog prmask} */
Sigfunc *signal_intr(int, Sigfunc *);/* {Prog signal_intr_function} */
int tty_cbreak(int); /* {Prog raw} */
int tty_raw(int); /* {Prog raw} */
int tty_reset(int); /* {Prog raw} */
void tty_atexit(void); /* {Prog raw} */
#ifdef ECHO /* only if <termios.h> has been included */
struct termios *tty_termios(void); /* {Prog raw} */
#endif
void sleep_us(unsigned int); /* {Ex sleepus} */
ssize_t readn(int, void *, size_t);/* {Prog readn} */
ssize_t writen(int, const void *, size_t);/* {Prog writen} */
int daemon_init(void); /* {Prog daemoninit} */
int s_pipe(int *); /* {Progs svr4_spipe
bsd_spipe} */
int recv_fd(int, ssize_t (*func)(int, const void *, size_t));
/* {Progs recvfd_svr4 recvfd_43bsd} */
int send_fd(int, int); /* {Progs sendfd_svr4
sendfd_43bsd} */
int send_err(int, int, const char *);/* {Prog senderr} */
int serv_listen(const char *); /* {Progs servlisten_svr4
servlisten_44bsd} */
int serv_accept(int, uid_t *); /* {Progs servaccept_svr4
servaccept_44bsd} */
int cli_conn(const char *); /* {Progs cliconn_svr4
cliconn_44bsd} */
int buf_args(char *, int (*func)(int, char **));
/* {Prog bufargs} */
int ptym_open(char *); /* {Progs ptyopen_svr4
ptyopen_44bsd} */
int ptys_open(int, char *); /* {Progs ptyopen_svr4
ptyopen_44bsd} */
#ifdef TIOCGWINSZ
pid_t pty_fork(int *, char *, const struct termios *,
const struct winsize *); /* {Prog ptyfork} */
#endif
int lock_reg(int, int, int, off_t, int, off_t);
/* {Prog lockreg} */
#define read_lock(fd, offset, whence, len) \
lock_reg(fd, F_SETLK, F_RDLCK, offset, whence, len)
#define readw_lock(fd, offset, whence, len) \
lock_reg(fd, F_SETLKW, F_RDLCK, offset, whence, len)
#define write_lock(fd, offset, whence, len) \
lock_reg(fd, F_SETLK, F_WRLCK, offset, whence, len)
#define writew_lock(fd, offset, whence, len) \
lock_reg(fd, F_SETLKW, F_WRLCK, offset, whence, len)
#define un_lock(fd, offset, whence, len) \
lock_reg(fd, F_SETLK, F_UNLCK, offset, whence, len)
pid_t lock_test(int, int, off_t, int, off_t);
/* {Prog locktest} */
#define is_readlock(fd, offset, whence, len) \
lock_test(fd, F_RDLCK, offset, whence, len)
#define is_writelock(fd, offset, whence, len) \
lock_test(fd, F_WRLCK, offset, whence, len)
void err_dump(const char *, ...); /* {App misc_source} */
void err_msg(const char *, ...);
void err_quit(const char *, ...);
void err_ret(const char *, ...);
void err_sys(const char *, ...);
void log_msg(const char *, ...); /* {App misc_source} */
void log_open(const char *, int, int);
void log_quit(const char *, ...);
void log_ret(const char *, ...);
void log_sys(const char *, ...);
void TELL_WAIT(void); /* parent/child from {Sec
race_conditions} */
void TELL_PARENT(pid_t);
void TELL_CHILD(pid_t);
void WAIT_PARENT(void);
void WAIT_CHILD(void);
#endif /* __ourhdr_h */
Source: <http://www.yendor.com/programming/unix/apue/apue.html>
--
With over 950 million devices now running Windows 10, customer
satisfaction is higher than any previous version of windows.
Peter Percival
2018-07-05 17:44:44 UTC
Permalink
Post by 😉 Good Guy 😉
Post by Peter Percival
W. Richard Stevens' /Advanced programming in the Unix environment/
features a file ourhdr.h.  I have downloaded the source code for the
book from http://www.kohala.com/start/apue.tar.Z.  There are a number
of files called ourhdr.h but they all seem to be empty.
I downloaded and expanded apue.tar.Z on a Windows 10 computer using
WinZip with a view to transferring them, via a USB stick, to a Raspberry Pi.
Thank you.
Post by 😉 Good Guy 😉
Post by Peter Percival
/* Our own header, to be included *after* all standard system headers */
#ifndef    __ourhdr_h
#define    __ourhdr_h
#include    <sys/types.h>    /* required for some of our prototypes */
#include    <stdio.h>        /* for convenience */
#include    <stdlib.h>        /* for convenience */
#include    <string.h>        /* for convenience */
#include    <unistd.h>        /* for convenience */
#ifdef    notdef    /* delete for systems that don't define this
(SunOS 4.x) */
typedef    int    ssize_t;
#endif
#ifdef    notdef    /* delete if <stdlib.h> doesn't define these for
getopt() */
extern char    *optarg;
extern int    optind, opterr, optopt;
#endif
#ifdef    notdef    /* delete if send() not supported (DEC OSF/1) */
#define    send(a,b,c,d)    sendto((a), (b), (c), (d), (struct
sockaddr *) NULL, 0)
#endif
#define    MAXLINE    4096            /* max line length */
#define    FILE_MODE    (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
                    /* default file access permissions for new files */
#define    DIR_MODE    (FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH)
                    /* default permissions for new directories */
typedef    void    Sigfunc(int);    /* for signal handlers */
                    /* 4.3BSD Reno <signal.h> doesn't define SIG_ERR */
#if    defined(SIG_IGN) && !defined(SIG_ERR)
#define    SIG_ERR    ((Sigfunc *)-1)
#endif
#define    min(a,b)    ((a) < (b) ? (a) : (b))
#define    max(a,b)    ((a) > (b) ? (a) : (b))
                    /* prototypes for our own functions */
char    *path_alloc(int *);            /* {Prog pathalloc} */
int         open_max(void);            /* {Prog openmax} */
void     clr_fl(int, int);            /* {Prog setfl} */
void     set_fl(int, int);            /* {Prog setfl} */
void     pr_exit(int);                /* {Prog prexit} */
void     pr_mask(const char *);        /* {Prog prmask} */
Sigfunc    *signal_intr(int, Sigfunc *);/* {Prog signal_intr_function} */
int         tty_cbreak(int);            /* {Prog raw} */
int         tty_raw(int);                /* {Prog raw} */
int         tty_reset(int);            /* {Prog raw} */
void     tty_atexit(void);            /* {Prog raw} */
#ifdef    ECHO    /* only if <termios.h> has been included */
struct termios    *tty_termios(void);    /* {Prog raw} */
#endif
void     sleep_us(unsigned int);    /* {Ex sleepus} */
ssize_t     readn(int, void *, size_t);/* {Prog readn} */
ssize_t     writen(int, const void *, size_t);/* {Prog writen} */
int         daemon_init(void);            /* {Prog daemoninit} */
int         s_pipe(int *);                /* {Progs svr4_spipe
bsd_spipe} */
int         recv_fd(int, ssize_t (*func)(int, const void *, size_t));
                                    /* {Progs recvfd_svr4 recvfd_43bsd} */
int         send_fd(int, int);            /* {Progs sendfd_svr4
sendfd_43bsd} */
int         send_err(int, int, const char *);/* {Prog senderr} */
int         serv_listen(const char *);    /* {Progs servlisten_svr4
servlisten_44bsd} */
int         serv_accept(int, uid_t *);    /* {Progs servaccept_svr4
servaccept_44bsd} */
int         cli_conn(const char *);    /* {Progs cliconn_svr4
cliconn_44bsd} */
int         buf_args(char *, int (*func)(int, char **));
                                    /* {Prog bufargs} */
int         ptym_open(char *);            /* {Progs ptyopen_svr4
ptyopen_44bsd} */
int         ptys_open(int, char *);    /* {Progs ptyopen_svr4
ptyopen_44bsd} */
#ifdef    TIOCGWINSZ
pid_t     pty_fork(int *, char *, const struct termios *,
                  const struct winsize *);    /* {Prog ptyfork} */
#endif
int        lock_reg(int, int, int, off_t, int, off_t);
                                    /* {Prog lockreg} */
#define    read_lock(fd, offset, whence, len) \
            lock_reg(fd, F_SETLK, F_RDLCK, offset, whence, len)
#define    readw_lock(fd, offset, whence, len) \
            lock_reg(fd, F_SETLKW, F_RDLCK, offset, whence, len)
#define    write_lock(fd, offset, whence, len) \
            lock_reg(fd, F_SETLK, F_WRLCK, offset, whence, len)
#define    writew_lock(fd, offset, whence, len) \
            lock_reg(fd, F_SETLKW, F_WRLCK, offset, whence, len)
#define    un_lock(fd, offset, whence, len) \
            lock_reg(fd, F_SETLK, F_UNLCK, offset, whence, len)
pid_t    lock_test(int, int, off_t, int, off_t);
                                    /* {Prog locktest} */
#define    is_readlock(fd, offset, whence, len) \
            lock_test(fd, F_RDLCK, offset, whence, len)
#define    is_writelock(fd, offset, whence, len) \
            lock_test(fd, F_WRLCK, offset, whence, len)
void    err_dump(const char *, ...);    /* {App misc_source} */
void    err_msg(const char *, ...);
void    err_quit(const char *, ...);
void    err_ret(const char *, ...);
void    err_sys(const char *, ...);
void    log_msg(const char *, ...);        /* {App misc_source} */
void    log_open(const char *, int, int);
void    log_quit(const char *, ...);
void    log_ret(const char *, ...);
void    log_sys(const char *, ...);
void    TELL_WAIT(void);        /* parent/child from {Sec
race_conditions} */
void    TELL_PARENT(pid_t);
void    TELL_CHILD(pid_t);
void    WAIT_PARENT(void);
void    WAIT_CHILD(void);
#endif    /* __ourhdr_h */
Source: <http://www.yendor.com/programming/unix/apue/apue.html>
--
With over 950 million devices now running Windows 10, customer
satisfaction is higher than any previous version of windows.
David Kaasen
2018-07-17 14:32:40 UTC
Permalink
Hello!
Post by Peter Percival
W. Richard Stevens' /Advanced programming in the Unix environment/
features a file ourhdr.h. I have downloaded the source code for the
book from http://www.kohala.com/start/apue.tar.Z. There are a number of
files called ourhdr.h but they all seem to be empty.
I downloaded and expanded apue.tar.Z on a Windows 10 computer using
WinZip with a view to transferring them, via a USB stick, to a Raspberry Pi.
You should extract the files on Unix/Raspbian, as they understand links.
"zcat apue.tar.Z |tar tvf - |grep link\ to" gives:

hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/call/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/call/loop.poll.c link to apue/call/loop.c
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/calld/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/datafiles/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/db.lock.fine/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/environ/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/file/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/ipc/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/lib.sun/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.44/bufargs.c link to apue/lib.sun/bufargs.c
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/lib.44/clrfl.c link to apue/lib.sun/clrfl.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.44/daemoninit.c link to apue/lib.sun/daemoninit.c
hrw-r--r-- 224/20 0 1992-05-30 23:46 apue/lib.44/errorlog.c link to apue/lib.sun/errorlog.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.44/lockreg.c link to apue/lib.sun/lockreg.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.44/locktest.c link to apue/lib.sun/locktest.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.44/nspipe.c link to apue/lib.sun/nspipe.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.44/openmax.c link to apue/lib.sun/openmax.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.44/pathalloc.c link to apue/lib.sun/pathalloc.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/popen.c link to apue/lib.sun/popen.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/prexit.c link to apue/lib.sun/prexit.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/prmask.c link to apue/lib.sun/prmask.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/ptyfork.c link to apue/lib.sun/ptyfork.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/ptyopen.c link to apue/lib.sun/ptyopen.c
hrw-r--r-- 224/20 0 1992-05-30 23:47 apue/lib.44/readn.c link to apue/lib.sun/readn.c
hrw-r--r-- 224/20 0 1992-05-30 23:47 apue/lib.44/semaph.c link to apue/lib.sun/semaph.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/senderr.c link to apue/lib.sun/senderr.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/setfl.c link to apue/lib.sun/setfl.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/signal.c link to apue/lib.sun/signal.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/signalintr.c link to apue/lib.sun/signalintr.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/sleep.c link to apue/lib.sun/sleep.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/sleepus.c link to apue/lib.sun/sleepus.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/spipe.c link to apue/lib.sun/spipe.c
hrw-r--r-- 224/20 0 1992-05-30 23:45 apue/lib.44/strerror.c link to apue/lib.sun/strerror.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/tellwait.c link to apue/lib.sun/tellwait.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/ttymodes.c link to apue/lib.sun/ttymodes.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.44/writen.c link to apue/lib.sun/writen.c
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/lib.44/ourhdr.h link to apue/advio/ourhdr.h
hrwxr-xr-x 224/20 0 1992-05-30 23:45 apue/lib.44/systype.sh link to apue/lib.sun/systype.sh
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/bufargs.c link to apue/lib.sun/bufargs.c
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/lib.svr4/clrfl.c link to apue/lib.sun/clrfl.c
hrw-r--r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/error.c link to apue/lib.44/error.c
hrw-r--r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/errorlog.c link to apue/lib.sun/errorlog.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/popen.c link to apue/lib.sun/popen.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/lockreg.c link to apue/lib.sun/lockreg.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/locktest.c link to apue/lib.sun/locktest.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/nspipe.c link to apue/lib.sun/nspipe.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/openmax.c link to apue/lib.sun/openmax.c
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/lib.svr4/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/pathalloc.c link to apue/lib.sun/pathalloc.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/prexit.c link to apue/lib.sun/prexit.c
hrw-r--r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/readn.c link to apue/lib.sun/readn.c
hrw-r--r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/semaph.c link to apue/lib.sun/semaph.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/senderr.c link to apue/lib.sun/senderr.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/setfl.c link to apue/lib.sun/setfl.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/signal.c link to apue/lib.sun/signal.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/signalintr.c link to apue/lib.sun/signalintr.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/sleep.c link to apue/lib.sun/sleep.c
hrw-r--r-- 224/20 0 1992-05-30 23:45 apue/lib.svr4/strerror.c link to apue/lib.sun/strerror.c
hrwxr-xr-x 224/20 0 1992-05-30 23:45 apue/lib.svr4/systype.sh link to apue/lib.sun/systype.sh
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/tellwait.c link to apue/lib.sun/tellwait.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/ttymodes.c link to apue/lib.sun/ttymodes.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/prmask.c link to apue/lib.sun/prmask.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/writen.c link to apue/lib.sun/writen.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/spipe.socket.c link to apue/lib.sun/spipe.c
hrw-rw-r-- 224/20 0 1992-05-30 23:46 apue/lib.svr4/daemoninit.c link to apue/lib.sun/daemoninit.c
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/lib.svr4/ptyfork.c link to apue/lib.sun/ptyfork.c
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/lock/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/mycat/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/open.fe/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/open/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/opend.fe/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/opend/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:47 apue/opend/loop.select.c link to apue/opend/loop.c
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/printer/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/proc/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/pty/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/sess/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/signals/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/stdio/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/streams/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/termios/ourhdr.h link to apue/advio/ourhdr.h
hrw-rw-r-- 224/20 0 1992-05-30 23:45 apue/test/ourhdr.h link to apue/advio/ourhdr.h

Regards from
David Kaasen.
Lorinczy Zsigmond
2018-08-29 11:58:37 UTC
Permalink
Post by Peter Percival
W. Richard Stevens' /Advanced programming in the Unix environment/
features a file ourhdr.h. I have downloaded the source code for the
book from http://www.kohala.com/start/apue.tar.Z. There are a number of
files called ourhdr.h but they all seem to be empty.
I downloaded and expanded apue.tar.Z on a Windows 10 computer using
WinZip with a view to transferring them, via a USB stick, to a Raspberry Pi.
Try to uncompress file "apue/advio/ourhdr.h"
in unix:

zcat apue.tar.Z | tar -xf - apue/advio/ourhdr.h

Loading...