: Diameter API I-D, v4 - void types

David Lehmann <[email protected]> Tue, 18 Oct 2005 14:34:08 -0400
Newsgroups gmane.ietf.aaa
Message-ID <[email protected]>
Hello,

Sections 3.1.7, 3.1.8, and 3.1.10 define typedefs which create new

void types. IMHO, all of these should be void pointers since no

variable will be created from these types unless it is a pointer. In
addition,

it makes the handles truly opaque.

e.g.

typedef void *AAAserver;

typedef void *AAASessionID;

typedef void *AAACallbackHandle;

These typedefs will simplify some of the function definitions,

again mainly because the handles are opaque.

e.g. These functions...

AAAServer *AAALookupServer(IP_ADDR ipAddr);

AAAReturnCode AAAStartSession(AAASessionId **sessionId, ...);

AAAReturnCode AAADeregisterNoncommandCallback(AAACallbackHandle

*handle);

... change to ...

AAAServer AAALookupServer(IP_ADDR ipAddr);

AAAReturnCode AAAStartSession(AAASessionId *sessionId, ...);

AAAReturnCode AAADeregisterNoncommandCallback(AAACallbackHandle handle);

Note the elimination of the double pointer in AAAStartSession().

This change will also be consistent with section 3.1.11.

--

David Lehmann
Ulticom, Inc.
http://www.ulticom.com