From: Mark Daniel [Mark.Daniel@wasd.vsm.com.au] Sent: Monday, March 26, 2001 5:13 PM To: Info-VAX@Mvb.Saic.Com Subject: Re: $CREATE_USER_PROFILE argument USRPROLEN word or longword? As Adam Maulis has pointed out in his reply the documentation is clearly in error. This should be noted for correction. Thanks Adam. Mark Daniel wrote: > > There seems to be some confusion about the size of $CREATE_USER_PROFILE > argument USRPROLEN. > > The online and hardcopy both outline this service as > > Returns an encoded security profile for the specified user. > > Format > > SYS$CREATE_USER_PROFILE usrnam, [itmlst], [flags], usrprolen, > usrprolen, [contxt] > > C Prototype > > int sys$create_user_profile (void *usrnam, void *itmlst, > unsigned int flags, void *usrpro, > unsigned int *usrprolen, > unsigned int *contxt); > > BUT, the 'usrprolen' description goes something like this ... > > usrprolen > > OpenVMS usage:word > type: word (unsigned) > access: read/write > mechanism: by reference > Word to receive the full size of the security profile. On input, > the usrprolen argument specifies the length of the buffer pointed > to by the usrpro argument. The usrprolen argument is the address > of a word to which $CREATE_USER_PROFILE writes the actual length > of the security profile. If the caller specifies a usrpro address > of 0, $CREATE_USER_PROFILE returns the anticipated size, in > bytes, of the buffer needed to hold the user's security profile > in the usrprolen argument. > > Why does the C prototype have it as 'unsigned int *usrprolen'? I know a > pointer is a pointer to whatever, but why then if it is word not have it > as a pointer to short? > > Word or longword? > > TIA, Mark Daniel.