about ISO9660 file system structure), and cd9660_extern.h (which now
contains the definitions and data structures used by the kernel).
There's lots of other stuff scattered around this code that should go
into cd9660_extern.h, but doesn't need to right now. This changed patterned
on ffs, which has 'fs.h' which describes the FS structure, and ffs_extern.h
for kernel-internals gunk. Now libsa can include iso.h without the nasty
hack that was there before.
Also, clean up the isonum_* definitions so that the #ifdefs aren't
impossibly spread apart. (Now the #ifdefs are _in_ the functions. This
leads to #ifdefs that are only a few lines long, rather than a few _pages_
long, as well as a reduction of duplication of function headers, etc.)
Note that isonum_7{21,22,31,32} are currently missing.
about ISO9660 file system structure), and cd9660_extern.h (which now
contains the definitions and data structures used by the kernel).
There's lots of other stuff scattered around this code that should go
into cd9660_extern.h, but doesn't need to right now. This changed patterned
on ffs, which has 'fs.h' which describes the FS structure, and ffs_extern.h
for kernel-internals gunk. Now libsa can include iso.h without the nasty
hack that was there before.
'const char *', and 'void *', respectively. The second arg is taken directly
from user arguments, and is const there, so must be const in the prototypes
and functions. The third arg is also taken directly from user arguments.
It doesn't have to be changed, but since it's cleaner to keep the type
the same as the user arg's type, and I'm already making the 'const char *'
change...
struct member cn_nameptr 'const', since they should never be used to
modify the path name. (Only the pathname buffer, cn_pnbuf, should be
modified.) Propagate the const poisoning to code that uses the namei
and componentname structs.
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
cleanup.
* Require the file system to decide whether or not linking and unlinking of
directories is allowed, and disable it for all current file systems.
Implement cd9660_blkatoff() and use it.
Reduce lots of multiplies and divides to shifts.
Make some macros look more like UFS.
Make isodirino() return the inumber rather than poke it into the abyss.