File: "important.h"
struct _an_important_object
{
int one_member;
char another_member;
....
};
typedef struct _an_important_object *AN_IMPORTANT_OBJECT;
/* Function prototypes */
AN_IMPORTANT_OBJECT their_function(void);
void another_function(AN_IMPORTANT_OBJECT);
User file:
#include "important.h"
my_func()
{
AN_IMPORTANT_OBJECT my_object;
my_object = their_function();
...
another_function(my_object);
...
}