Subject: Re: CVS commit: src/include
To: Elad Efrat <elad@NetBSD.org>
From: Jason Thorpe <thorpej@shagadelic.org>
List: source-changes
Date: 02/18/2006 06:31:32
On Feb 18, 2006, at 4:29 AM, Elad Efrat wrote:

> would it be possible to avoid memory allocation and just typedef
> the struct? (say, pw_policy_t)

No, simply typedef'ing the struct still exposes the size and internal  
layout to callers unless you do:

typedef struct pw_policy *pw_policy_t;

in the public header file and declare pw_policy ONLY in pw_policy.c.   
In this case, you still need to use malloc to allocate the structure  
on behalf of the caller.

I still prefer having the typedef, because I think that's a cleaner  
way to pass around pointers to opaque data types.

-- thorpej