Tuesday, November 29, 2005, 4:47:47 PM, Robert Shearman wrote:
Hi Vitaliy,
This patch looks pretty good, but needs some finishing touches. Are you planning to continue the directory work to get objects to start supporting it?
Yes I do. It should be a straight forward for events, sections, mutants, semaphores and timers. But named pipes, mail slots and winstations with desktops will have to wait a bit. I'm not sure yet how to properly separate name spaces (you should not be able to create an event in the named pipe name space. And wise-versa).
Vitaliy Margolen wrote:
+struct syboliclink *create_syboliclink( struct directory *root, const struct unicode_str *name,
unsigned int attr, const struct unicode_str *target )
Spelling mistake again. Also, should match whatever name is decided for the name of the object.
Damn. How in the world did gcc compiled this then? With so many errors?! I don't know why didn't I see this before. Of course I will change it to "symlink".
+/* Global initialization */ +void init_syboliclinks(void) +{ +}
+void close_syboliclinks(void) +{ +}
It would probably be nicer to have all of the namespace initialisation done in one place, e.g. directory.c That would mean exporting the create_symlink function, but then init_symboliclinks and close_symboliclinks would no longer have to be exported.
Yup are you right. Done.
- if (req->rootdir && !(root = get_directory_obj(
current->process, req->rootdir, 0 )))
return;
Does NT really allow you to open a directory without having any specific access rights?
Yup. In the tests I'm opening directory with "directory query" rights only. And it works when I'm using it as the RootDirectory. Even when creating new objects in it.
Vitaliy