Re: Implement directory object in wineserver.

2005-11-29 Thread Steven Edwards
Hi, On 11/28/05, Vitaliy Margolen <[EMAIL PROTECTED]> wrote: > Change tests accordingly. This reminded me, I meant to send you a note when this test was first added. The test needs some loving for Windows Server 2003. om.c:190: Test failed: Failed create returned valid handle! (80905558) om.c:20

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 12:37:05 PM, Vitaliy Margolen wrote: > Ok, then this is what we have: > 1. Pass arguments explicitly to each function (rootdir, name, >attributes). > 2. Don't use object_attr structure. > > Only left is to decide what rootdir should be (struct object*, > struct dir

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 11:59:24 AM, Robert Shearman wrote: > Vitaliy Margolen wrote: >>Wednesday, November 23, 2005, 11:05:05 AM, Robert Shearman wrote: >>Using object_attr: >>static struct object *create_mapping( const struct object_attr >>*attr, file_pos_t size, int protect, >>

Re: Implement directory object in wineserver.

2005-11-23 Thread Robert Shearman
Vitaliy Margolen wrote: Wednesday, November 23, 2005, 11:05:05 AM, Robert Shearman wrote: Alexandre Julliard wrote: Vitaliy Margolen <[EMAIL PROTECTED]> writes: +/* open a new handle to an existing object */ +obj_handle_t open_object_dir( const struct object_attr *attr, const str

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 11:30:18 AM, Alexandre Julliard wrote: > Vitaliy Margolen <[EMAIL PROTECTED]> writes: >> I'm not sure if that's possible. You can't insert mutex or even into >> named pipe's name space. Same, you can't insert named pipe or desktop >> into a directory object. >> >> Bec

Re: Implement directory object in wineserver.

2005-11-23 Thread Ivan Leo Puoti
Vitaliy Margolen wrote: +#define DIRECTORY_QUERY (0x0001) +#define DIRECTORY_TRAVERSE (0x0002) +#define DIRECTORY_CREATE_OBJECT (0x0004) +#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008) +#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF) Should

Re: Implement directory object in wineserver.

2005-11-23 Thread Alexandre Julliard
Vitaliy Margolen <[EMAIL PROTECTED]> writes: > I'm not sure if that's possible. You can't insert mutex or even into > named pipe's name space. Same, you can't insert named pipe or desktop > into a directory object. > > Because we don't have object type objects, I can't think of any other way > to

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 11:05:05 AM, Robert Shearman wrote: > Alexandre Julliard wrote: >>Vitaliy Margolen <[EMAIL PROTECTED]> writes: >> >>+/* open a new handle to an existing object */ >>+obj_handle_t open_object_dir( const struct object_attr *attr, const struct >>object_ops *ops, >>+

Re: Implement directory object in wineserver.

2005-11-23 Thread Robert Shearman
Alexandre Julliard wrote: Vitaliy Margolen <[EMAIL PROTECTED]> writes: Basically event, mutex, section, timer, etc can go there with minor changes to code. Named pipes, mail slots and winstations with desktops are a bit different. They have their own name space, that I'm planning on using c

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 10:34:05 AM, Alexandre Julliard wrote: > Vitaliy Margolen <[EMAIL PROTECTED]> writes: >> Basically event, mutex, section, timer, etc can go there with minor >> changes to code. Named pipes, mail slots and winstations with desktops >> are a bit different. They have the

Re: Implement directory object in wineserver.

2005-11-23 Thread Alexandre Julliard
Vitaliy Margolen <[EMAIL PROTECTED]> writes: > Basically event, mutex, section, timer, etc can go there with minor > changes to code. Named pipes, mail slots and winstations with desktops > are a bit different. They have their own name space, that I'm planning on > using current namespace mechanis

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 9:59:42 AM, Alexandre Julliard wrote: > Vitaliy Margolen <[EMAIL PROTECTED]> writes: >> Mm I don't want to do that because find_object_dir could and will be used >> on any object. I'm planning on renaming our current find_object into >> something like find_object_ns o

Re: Implement directory object in wineserver.

2005-11-23 Thread Alexandre Julliard
Vitaliy Margolen <[EMAIL PROTECTED]> writes: > Just want to make clear for myself. You want me to add all this code to > each object's create/open instead of putting it in the one place? Yes. If there's common code you can of course move it to a shared function. But please not an ugly macro that

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 9:14:28 AM, Alexandre Julliard wrote: > Vitaliy Margolen <[EMAIL PROTECTED]> writes: >> void *create_named_object_dir( const struct object *rootdir, >>const struct unicode_str *name, >>unsigned int attr,

Re: Implement directory object in wineserver.

2005-11-23 Thread Alexandre Julliard
Vitaliy Margolen <[EMAIL PROTECTED]> writes: > void *create_named_object_dir( const struct object *rootdir, >const struct unicode_str *name, >unsigned int attr, >const struct object_ops *ops ); > > DECL

Re: Implement directory object in wineserver.

2005-11-23 Thread Vitaliy Margolen
Wednesday, November 23, 2005, 4:53:23 AM, Alexandre Julliard wrote: > Vitaliy Margolen <[EMAIL PROTECTED]> writes: >> +/* get parts of an OBJECT_ATTRIBUTES into object_attr */ >> +#define GET_OBJECT_ATTR(a,r,n) \ >> +get_req_unicode_str( n ); \ >> +(a)->rootdir= (r)->rootdir; \ >> +

Re: Implement directory object in wineserver.

2005-11-23 Thread Alexandre Julliard
Vitaliy Margolen <[EMAIL PROTECTED]> writes: > +/* get parts of an OBJECT_ATTRIBUTES into object_attr */ > +#define GET_OBJECT_ATTR(a,r,n) \ > +get_req_unicode_str( n ); \ > +(a)->rootdir= (r)->rootdir; \ > +(a)->attributes = (r)->attributes; \ > +(a)->name = (n); > + Th

Re: Implement directory object in wineserver.

2005-11-23 Thread Saulius Krasuckas
* On Tue, 22 Nov 2005, Vitaliy Margolen wrote: > * Tuesday, November 22, 2005, 1:51:05 PM, Robert Shearman wrote: > > > >>+#define DIRECTORY_QUERY (0x0001) > >>+#define DIRECTORY_TRAVERSE (0x0002) > >>+#define DIRECTORY_CREATE_OBJECT (0x0004) > >>+#define DIREC

Re: Implement directory object in wineserver.

2005-11-22 Thread Vitaliy Margolen
Tuesday, November 22, 2005, 3:14:15 PM, Robert Shearman wrote: +struct object *permanent_obj[25]; +int permanent_obj_cnt = 0; >>>This looks a bit ugly to me. Why not just keep track of the individual >>>objects that need to be kept around in named variables? >>Because there will be more. Po

Re: Implement directory object in wineserver.

2005-11-22 Thread Robert Shearman
Vitaliy Margolen wrote: +struct object *obj, *parent; +struct unicode_str name_l = *attr->name; What does name_l stand for? L for local. I don't like to give local variables to long of the names. I'd drop the "_l" suffix. It confused me when reading your patch into

Re: Implement directory object in wineserver.

2005-11-22 Thread Vitaliy Margolen
Tuesday, November 22, 2005, 1:51:05 PM, Robert Shearman wrote: >> ChangeLog: >> Implement directory object in wineserver. > I like the design, but I have a few comments on the patch. Thank you. That's like 6st revision of it. >>+#define DIRECTORY_QUERY

Re: Implement directory object in wineserver.

2005-11-22 Thread Robert Shearman
Vitaliy Margolen wrote: ChangeLog: Implement directory object in wineserver. I like the design, but I have a few comments on the patch. server/Makefile.in |1 server/directory.c | 384 +++ server/main.c |1 server/object.c