#include #include #define BUFSIZE 1024 #define WORKS "This works\n" #define NWORKS "This doesn\'t work\n" int main(int ac, char *av[]) { char buf[BUFSIZE+1]; int num, src, dst; write(2, WORKS, sizeof(WORKS)-1); src = open("/cygdrive/c/WINNT/Media/tada.wav", O_RDONLY); dst = open("/dev/dsp", 0x601); while ((num = read(src, buf, BUFSIZE)) > 0) write(dst, buf, num); close(dst); close(src); write(2, NWORKS, sizeof(NWORKS)-1); src = open("/cygdrive/c/WINNT/Media/tada.wav", O_RDONLY); dst = open("/dev/dsp", 0x601); if (dup2(dst, 1) != -1) { close(dst); dst = 1; while ((num = read(src, buf, BUFSIZE)) > 0) write(dst, buf, num); } close(dst); close(src); }