In this directory: (for Netscape 3.0b5) libfileplugin.so - a plugin using a temporary file to play RealAudio Makefile.file - Makefile for same npfile.c - source for same libwavplugin.so - a plugin for audio/x-wav using a pipe to wavplay Makefile.wav - Makefile for same npwav.c - source for same diodes-wav.html - demo for same libaudioplugin.so - a (broken) plugin for audio/basic will only play short files libconsoletextplugin.so - a version of libtextplugin.so that prints to /dev/console libtextplugin.so - the original text plugin that doesn't work because it needs Motif or isn't otherwise built right diodes.html, bong.html - demo for audio plugin text*html - demos for text plugin You should create a directory ~/.netscape/plugins and copy the lib*plugin* to it. Spurious files in there cause a load of warning messages. Info about plugins can be had in the Netscape "URL" "about:plugins". It should be relatively easy for someone (better at C than me; not difficult ...) to create a streaming WAV player from this and the wavplay package. Andrew Daviel libtextplugin.so : This is the Netscape text plugin from the Unix SDK built with gcc -shared. The Unix SDK may be accessed from Netscape via Help --> about plugins The info page about:plugins is displayed correctly, but Netscape crashes if I actually access a text file. The library built with only minor warnings: gcc -c -g -DXP_UNIX -DPLUGIN_TRACE -fPIC -I. -I/usr/include -Wall npunix.c gcc -c -g -DXP_UNIX -DPLUGIN_TRACE -fPIC -I. -I/usr/include -Wall npshell.c npshell.c: In function `NPP_SetWindow': npshell.c:256: warning: unused variable `form' npshell.c: In function `NPP_Print': npshell.c:444: warning: unused variable `printOne' npshell.c:442: warning: unused variable `platformPrint' npshell.c:465: warning: unused variable `platformPrint' npshell.c:463: warning: unused variable `printWindow' npshell.c:422: warning: unused variable `This' gcc -shared -Wl,-soname,libtextplugin.so -Wall -o libtextplugin.so npunix.o npshell.o It used header files from the SWiM Motif 1.2.1 distribution strace give the following: mmap(0, 3441, PROT_READ, MAP_SHARED, 15, 0) = 0x50007000 close(15) = 0 open("/usr1/home/andrew/.netscape/plugins/libtextplugin.so.1.0", O_RDONLY) = 15 --- SIGALRM (Alarm clock) --- gettimeofday({836421429, 912490}, NULL) = 0 sigreturn() = ? (mask now []) read(15, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3"..., 4096) = 4096 mmap(0, 16384, PROT_NONE, MAP_PRIVATE|0x20, 4294967295, 0) = 0x50300000 mmap(0x50300000, 10277, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 15, 0 ) = 0x50300000 mmap(0x50303000, 2428, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 15, 0x2000) = 0x 50303000 close(15) = 0 --- SIGALRM (Alarm clock) --- gettimeofday({836421429, 950361}, NULL) = 0 sigreturn() = ? (mask now []) munmap(0x50007000, 3441) = 0 write(2, "NP_Initialize\n", 14) = 14 write(2, "New\n", 4) = 4 write(2, "SetWindow\n", 10) = 10 write(2, "netscape: can\'t resolve symbol "..., 46) = 46 _exit(1) = ?