Listing 2. The Shared Control Block Structure.
typedef struct {
volatile int numframes; /* Number of frames
* stored in this control block */
volatile FFT_T *analdat; /* Pointer to the
* beginning of analysis data */
volatile long curframe; /* Number of current
* frame for resynthesis */
volatile FixPt curposn; /* for interpolation */
volatile FixPt frameinc; /* Number of frames to
* skip every resynth iteration in
* fixed-point format */
volatile FixPt pitchbend; /* Frequency multiplier
* for use at resynthesize-time */
volatile RunMode autoinc; /* Step through spectra
* automatically */
volatile int xv_ready; /* XView up & running */
/* The following are only set at initialisation
* time: not volatile */
pid_t alertpid; /* The place to send
* signals to update display */
int analchans; /* No of channels in
* spectral data */
} CtrlBlk_T;