├── COPYING ├── Makefile ├── Makefile.kernel ├── Makefile.module ├── Makefile.win2k ├── README ├── README.md ├── alloc.c ├── async.c ├── bit.c ├── block.c ├── build ├── cluster.c ├── console.c ├── create.c ├── date.c ├── dir.c ├── disk.c ├── dos.bat ├── dos.mak ├── dos2unix.c ├── dump.c ├── fat.c ├── file.c ├── fileutil.c ├── fileutil.h ├── filter.c ├── globals.c ├── globals.h ├── hash.c ├── image.h ├── imghelp.h ├── inode.c ├── ioctl.c ├── lock.c ├── lru.c ├── mmap.c ├── nofilt.c ├── nwbackup.c ├── nwconfig.c ├── nwcreate.c ├── nwdir.c ├── nwdir.h ├── nwdisk.c ├── nwdismnt.c ├── nwdump.c ├── nwerror.h ├── nwext.c ├── nwfile.c ├── nwfix.c ├── nwfs ├── nwfs.h ├── nwfs.mak ├── nwfsmod.mak ├── nwfssmp.mak ├── nwhash.h ├── nwhelp.h ├── nwimage.c ├── nwioctl.h ├── nwmenu.c ├── nwmenu.h ├── nwmodsmp.mak ├── nwmount.c ├── nwntfs.c ├── nwpart.c ├── nwproc.h ├── nwrepair.c ├── nwrestor.c ├── nwrwlock.c ├── nwstruct.h ├── nwtool.c ├── nwvfs.c ├── nwvfs.h ├── nwview.c ├── nwvol.c ├── nwvp.c ├── nwvp.h ├── nwvpcmd.h ├── nwvpext.h ├── nwvphal.c ├── nwvphal.h ├── nwvpmain.c ├── rapidfat.c ├── sources ├── sources.nt5 ├── suballoc.c ├── super.c ├── symlink.c ├── trustee.c ├── util.mak ├── utilms.bat ├── utilms.mak ├── vcommand.c ├── vconsole.c ├── vconsole.h ├── volume.c └── windows-src ├── cachesup.c ├── cleanup.c ├── close.c ├── create.c ├── devctrl.c ├── deviosup.c ├── dirctrl.c ├── fenris.h ├── fileinfo.c ├── filobsup.c ├── fsctrl.c ├── fspdisp.c ├── lockctrl.c ├── makefile ├── namesup.c ├── nodetype.h ├── nw.h ├── nwdata.c ├── nwdata.h ├── nwfsro.rc ├── nwinit.c ├── nwprocs.h ├── nwstruc.h ├── nwsup.c ├── read.c ├── resrcsup.c ├── sources ├── sources.nt5 ├── strucsup.c ├── volinfo.c └── workque.c /COPYING: -------------------------------------------------------------------------------- 1 | 2 | /*************************************************************************** 3 | * 4 | * Copyright (c) 1998, 2022 Jeff V. Merkey 5 | * 7260 SE Tenino St. 6 | * Portland, Oregon 97206 7 | * jeffmerkey@gmail.com 8 | * 9 | * This program is free software; you can redistribute it and/or modify it 10 | * under the terms of the Lesser GNU Public License as published by the 11 | * Free Software Foundation, version 2.1, or any later version. 12 | * 13 | * This program is distributed in the hope that it will be useful, but 14 | * WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * General Public License for more details. 17 | * 18 | ****************************************************************************/ 19 | 20 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Makefile for the NWFS module For Linux. 4 | # 5 | 6 | CC = gcc 7 | LINK = ld 8 | CFLAGS = -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 \ 9 | -fomit-frame-pointer -fno-strength-reduce -pipe -m386 -DCPU=386 \ 10 | -I/usr/src/linux/include -c 11 | 12 | ifdef MODVERSIONS 13 | CFLAGS+=-DMODVERSIONS 14 | endif 15 | 16 | ifdef SMP 17 | CFLAGS+=-D__SMP__ 18 | endif 19 | 20 | ifdef LINUX_DRIVER 21 | CFLAGS+=-DLINUX_DRIVER=1 22 | CFLAGS+=-DOVERRIDE=1 23 | endif 24 | 25 | LFLAGS = -m elf_i386 -Map nwfs.map -r -o 26 | 27 | incdeps = nwfs.h nwstruct.h nwdir.h nwhash.h nwproc.h nwvfs.h nwerror.h \ 28 | globals.h 29 | 30 | objects = nwvfs.o alloc.o disk.o nwpart.o volume.o globals.o lru.o \ 31 | lock.o hash.o async.o fat.o bit.o block.o cluster.o dir.o \ 32 | mmap.o inode.o super.o file.o ioctl.o nwdir.o nwfile.o nwfix.o \ 33 | trustee.o nwext.o suballoc.o create.o date.o \ 34 | nwcreate.o symlink.o nwvp.o nwvphal.o 35 | 36 | all: nwfs.o 37 | 38 | nwfs.o: $(objects) 39 | $(LINK) $(LFLAGS) nwfs.o $(objects) 40 | 41 | nwvfs.o: nwvfs.c $(incdeps) 42 | $(CC) $(CFLAGS) nwvfs.c 43 | nwvp.o: nwvp.c $(incdeps) 44 | $(CC) $(CFLAGS) nwvp.c 45 | nwvphal.o: nwvphal.c $(incdeps) 46 | $(CC) $(CFLAGS) nwvphal.c 47 | alloc.o: alloc.c $(incdeps) 48 | $(CC) $(CFLAGS) alloc.c 49 | disk.o: disk.c $(incdeps) 50 | $(CC) $(CFLAGS) disk.c 51 | nwpart.o: nwpart.c $(incdeps) 52 | $(CC) $(CFLAGS) nwpart.c 53 | volume.o: volume.c $(incdeps) 54 | $(CC) $(CFLAGS) volume.c 55 | fat.o: fat.c $(incdeps) 56 | $(CC) $(CFLAGS) fat.c 57 | globals.o: globals.c $(incdeps) 58 | $(CC) $(CFLAGS) globals.c 59 | lock.o: lock.c $(incdeps) 60 | $(CC) $(CFLAGS) lock.c 61 | hash.o: hash.c $(incdeps) 62 | $(CC) $(CFLAGS) hash.c 63 | string.o: string.c $(incdeps) 64 | $(CC) $(CFLAGS) string.c 65 | lru.o: lru.c $(incdeps) 66 | $(CC) $(CFLAGS) lru.c 67 | bit.o: bit.c $(incdeps) 68 | $(CC) $(CFLAGS) bit.c 69 | block.o: block.c $(incdeps) 70 | $(CC) $(CFLAGS) block.c 71 | cluster.o: cluster.c $(incdeps) 72 | $(CC) $(CFLAGS) cluster.c 73 | dir.o: dir.c $(incdeps) 74 | $(CC) $(CFLAGS) dir.c 75 | mmap.o: mmap.c $(incdeps) 76 | $(CC) $(CFLAGS) mmap.c 77 | inode.o: inode.c $(incdeps) 78 | $(CC) $(CFLAGS) inode.c 79 | super.o: super.c $(incdeps) 80 | $(CC) $(CFLAGS) super.c 81 | file.o: file.c $(incdeps) 82 | $(CC) $(CFLAGS) file.c 83 | ioctl.o: ioctl.c $(incdeps) 84 | $(CC) $(CFLAGS) ioctl.c 85 | nwdir.o: nwdir.c $(incdeps) 86 | $(CC) $(CFLAGS) nwdir.c 87 | nwfile.o: nwfile.c $(incdeps) 88 | $(CC) $(CFLAGS) nwfile.c 89 | trustee.o: trustee.c $(incdeps) 90 | $(CC) $(CFLAGS) trustee.c 91 | nwext.o: nwext.c $(incdeps) 92 | $(CC) $(CFLAGS) nwext.c 93 | suballoc.o: suballoc.c $(incdeps) 94 | $(CC) $(CFLAGS) suballoc.c 95 | create.o: create.c $(incdeps) 96 | $(CC) $(CFLAGS) create.c 97 | date.o: date.c $(incdeps) 98 | $(CC) $(CFLAGS) date.c 99 | nwcreate.o: nwcreate.c $(incdeps) 100 | $(CC) $(CFLAGS) nwcreate.c 101 | symlink.o: symlink.c $(incdeps) 102 | $(CC) $(CFLAGS) symlink.c 103 | async.o: async.c $(incdeps) 104 | $(CC) $(CFLAGS) async.c 105 | nwfix.o: nwfix.c $(incdeps) 106 | $(CC) $(CFLAGS) nwfix.c 107 | 108 | clean: 109 | rm -f nwvol nwvp nwview nwdump nwdisk nwconfig nwrepair nwfsinfo \ 110 | nwimage nwbackup nwrestor *.o *.map *.log *.LOG 111 | 112 | 113 | -------------------------------------------------------------------------------- /Makefile.kernel: -------------------------------------------------------------------------------- 1 | # 2 | # Makefile for the Linux nwfs filesystem routines. 3 | # 4 | # Note! Dependencies are done automagically by 'make dep', which also 5 | # removes any old dependencies. DON'T put your own dependencies here 6 | # unless it's something special (not a .c file). 7 | # 8 | # Note 2! The CFLAGS definitions are now in the main makefile. 9 | 10 | O_TARGET := nwfs.o 11 | O_OBJS := nwvfs.o alloc.o disk.o nwpart.o volume.o globals.o lru.o \ 12 | lock.o hash.o async.o fat.o bit.o block.o cluster.o dir.o \ 13 | mmap.o inode.o super.o file.o ioctl.o nwdir.o nwfile.o nwfix.o \ 14 | trustee.o nwext.o suballoc.o create.o date.o \ 15 | nwcreate.o symlink.o nwvp.o nwvphal.o 16 | M_OBJS := $(O_TARGET) 17 | 18 | include $(TOPDIR)/Rules.make 19 | -------------------------------------------------------------------------------- /Makefile.module: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Makefile for the NWFS module For Linux. 4 | # 5 | 6 | CC = gcc 7 | LINK = ld 8 | CFLAGS = -DMODULE -D__KERNEL__ -Wall -Wstrict-prototypes -O2 \ 9 | -fomit-frame-pointer -fno-strength-reduce -pipe -m386 -DCPU=386 \ 10 | -I/usr/src/linux/include -c 11 | 12 | ifdef MODVERSIONS 13 | CFLAGS+=-DMODVERSIONS 14 | endif 15 | 16 | ifdef SMP 17 | CFLAGS+=-D__SMP__ 18 | endif 19 | 20 | LFLAGS = -m elf_i386 -Map nwfs.map -r -o 21 | 22 | incdeps = nwfs.h nwstruct.h nwdir.h nwhash.h nwproc.h nwvfs.h nwerror.h \ 23 | globals.h 24 | 25 | objects = nwvfs.o alloc.o disk.o nwpart.o volume.o globals.o lru.o \ 26 | lock.o hash.o async.o fat.o bit.o block.o cluster.o dir.o \ 27 | mmap.o inode.o super.o file.o ioctl.o nwdir.o nwfile.o nwfix.o \ 28 | trustee.o nwext.o suballoc.o create.o date.o \ 29 | nwcreate.o symlink.o nwvp.o nwvphal.o 30 | 31 | nwfs.o: $(objects) 32 | $(LINK) $(LFLAGS) nwfs.o $(objects) 33 | 34 | nwvfs.o: nwvfs.c $(incdeps) 35 | $(CC) $(CFLAGS) nwvfs.c 36 | nwvp.o: nwvp.c $(incdeps) 37 | $(CC) $(CFLAGS) nwvp.c 38 | nwvphal.o: nwvphal.c $(incdeps) 39 | $(CC) $(CFLAGS) nwvphal.c 40 | alloc.o: alloc.c $(incdeps) 41 | $(CC) $(CFLAGS) alloc.c 42 | disk.o: disk.c $(incdeps) 43 | $(CC) $(CFLAGS) disk.c 44 | nwpart.o: nwpart.c $(incdeps) 45 | $(CC) $(CFLAGS) nwpart.c 46 | volume.o: volume.c $(incdeps) 47 | $(CC) $(CFLAGS) volume.c 48 | fat.o: fat.c $(incdeps) 49 | $(CC) $(CFLAGS) fat.c 50 | globals.o: globals.c $(incdeps) 51 | $(CC) $(CFLAGS) globals.c 52 | lock.o: lock.c $(incdeps) 53 | $(CC) $(CFLAGS) lock.c 54 | hash.o: hash.c $(incdeps) 55 | $(CC) $(CFLAGS) hash.c 56 | string.o: string.c $(incdeps) 57 | $(CC) $(CFLAGS) string.c 58 | lru.o: lru.c $(incdeps) 59 | $(CC) $(CFLAGS) lru.c 60 | bit.o: bit.c $(incdeps) 61 | $(CC) $(CFLAGS) bit.c 62 | block.o: block.c $(incdeps) 63 | $(CC) $(CFLAGS) block.c 64 | cluster.o: cluster.c $(incdeps) 65 | $(CC) $(CFLAGS) cluster.c 66 | dir.o: dir.c $(incdeps) 67 | $(CC) $(CFLAGS) dir.c 68 | mmap.o: mmap.c $(incdeps) 69 | $(CC) $(CFLAGS) mmap.c 70 | inode.o: inode.c $(incdeps) 71 | $(CC) $(CFLAGS) inode.c 72 | super.o: super.c $(incdeps) 73 | $(CC) $(CFLAGS) super.c 74 | file.o: file.c $(incdeps) 75 | $(CC) $(CFLAGS) file.c 76 | ioctl.o: ioctl.c $(incdeps) 77 | $(CC) $(CFLAGS) ioctl.c 78 | nwdir.o: nwdir.c $(incdeps) 79 | $(CC) $(CFLAGS) nwdir.c 80 | nwfile.o: nwfile.c $(incdeps) 81 | $(CC) $(CFLAGS) nwfile.c 82 | trustee.o: trustee.c $(incdeps) 83 | $(CC) $(CFLAGS) trustee.c 84 | nwext.o: nwext.c $(incdeps) 85 | $(CC) $(CFLAGS) nwext.c 86 | suballoc.o: suballoc.c $(incdeps) 87 | $(CC) $(CFLAGS) suballoc.c 88 | create.o: create.c $(incdeps) 89 | $(CC) $(CFLAGS) create.c 90 | date.o: date.c $(incdeps) 91 | $(CC) $(CFLAGS) date.c 92 | nwcreate.o: nwcreate.c $(incdeps) 93 | $(CC) $(CFLAGS) nwcreate.c 94 | symlink.o: symlink.c $(incdeps) 95 | $(CC) $(CFLAGS) symlink.c 96 | async.o: async.c $(incdeps) 97 | $(CC) $(CFLAGS) async.c 98 | nwfix.o: nwfix.c $(incdeps) 99 | $(CC) $(CFLAGS) nwfix.c 100 | 101 | clean: 102 | rm -f *.o 103 | 104 | -------------------------------------------------------------------------------- /Makefile.win2k: -------------------------------------------------------------------------------- 1 | # 2 | # DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source 3 | # file to this component. This file merely indirects to the real make file 4 | # that is shared by all the driver components of the Windows NT DDK 5 | # 6 | 7 | !INCLUDE $(NTMAKEENV)\makefile.def 8 | -------------------------------------------------------------------------------- /README: -------------------------------------------------------------------------------- 1 | 2 | 3 | NETWARE-FILE-SYSTEM 4 | 5 | 6 | NetWare SMP File System for Linux, Windows, and DOS 7 | 8 | 9 | Table of Contents 10 | 11 | - Using the Build Script 12 | - Building with Manual Make Files 13 | - Windows File System Driver Components 14 | - Linux File System Driver Components 15 | - MS-DOS and DR-DOS File System Components 16 | 17 | 18 | Using the Build Script 19 | 20 | # 21 | # ./build