2 May 1999 README (page 1 of 2) fb is known to run under the following operating systems: IRIX, Linux, SunOS, and Windows 95, 98, & NT For UNIX (Linux) users only: fb can read directories if they are readable under the file system. And fb can read devices such as drives, CD-ROMs, etc.; because, as you know, under UNIX (Linux) a device is just another file. The only code for fb is fb.c. For IRIX, Linux, and SunOS the code is ready to compile. After the NO WARRANTY statement at the top of the code are some commented-out preprocessor directives: o If you wish to compile for MS-DOS, uncomment-out the appropriate #define directive. o If you are using a Borland compiler for MS-DOS, uncomment-out the indicated #define for Borland. This will result in Borland's chsize(...) being used rather than ftruncate(...). This occurs in only two places in the code. o If your compiler does not support the long long data type, there is an additional #define directive you will need to uncomment-out. o If you will be using fb under Linux running on a PC, you may, if you wish, uncomment-out the appropriate #define directive for this case. This only affects what characters are considered non-printable and should allow you to see as many characters as possible. This occurs in only one place in the code. If you wish to modify which characters are treated as non-printable (and displayed as a period), simply modify the appropriate part of the code (it is clearly indicated). Under MSDOS files are open by default as text and not as binary files. Also standard input (stdin) is opened as text. To change this so that files are opened as binary, the DOS_BINARY flag must be set to the appropriate flag to pass in the call to open(...). This is currently set to O_BINARY. (Where this is set is clearly indicated.) This may not be the flag for your system. You might find the correct flag to use by looking in the header file fcntl.h in your system's include or include/sys directory. Also, to change the mode of stdin from text to binary a call to setmode(...) is made. But this function may either not be available for your system or might have a different name. You might be able to find the appropriate function by looking in the io.h header file. You should have, in addition to this README file, the following: COPYING <-- the GNU General Public License fb.doc <-- fb manual (plain ASCII version of man page) fb.1 <-- fb man page fb.c <-- fb source code The inspiration for the translate method in fb 1.4 was John Walker's xd utility (http://www.fourmilab.ch). 2 May 1999 README (page 2 of 2) Note for Linux/UNIX users: fb -snl File is similar to od -Ad -v -tx1 File fb o File1 File2 is similar to cmp -l File1 File2 Be aware, however, that, unlike fb and od, cmp starts counting bytes from 1 rather than 0. fb . File1 File2 is similar to cmp -s File1 File2 except that the exit status of fb is richer; distinguishing between bytes differing, sizes differing, or both. fb a . File1 File2 has the same effect as cat File1 >> File2 fb c Num1.Num2 File1 File2 is the same as dd if=File1 of=File2 bs=1 skip=Num1 count=Num3 where Num3 = Num2 - Num1 Report any bugs to John Howard Swaby polymath@uwyo.edu fb web page: http://home.mho.net/jswaby/fb.html This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.