I saw it in the Android GPS simulator code and recorded it as interesting.
The first is the definition of struct:
[Cpp]
/* This is the state of our connection to the qemu_gpsd daemon */
Typedef struct {
Int init;
Int fd;
GpsCallbacks callbacks;
Pthread_t thread;
Int control [2];
} GpsState;
/* This is the state of our connection to the qemu_gpsd daemon */
Typedef struct {
Int init;
Int fd;
GpsCallbacks callbacks;
Pthread_t thread;
Int control [2];
} GpsState;
Then declare the struct pointer variable
Static GpsState _ gps_state [1];
Normal use:
[Cpp]
Static int
Qemu_gps_init (GpsCallbacks * callbacks)
{
GpsState * s = _ gps_state;
If (! S-> init)
Gps_state_init (s, callbacks );
If (s-> fd <0)
Return-1;
Return 0;
}
Static int
Qemu_gps_init (GpsCallbacks * callbacks)
{
GpsState * s = _ gps_state;
If (! S-> init)
Gps_state_init (s, callbacks );
If (s-> fd <0)
Return-1;
Return 0;
}