#define  ASYNCH_SOLO      0       /* different types of modes */
#define  SYNCH_SOLO       1
#define  ASYNCH_PASSING   2
#define  CUSTOM           3

#define  EMPTY            0       /* types of multiplexing filter slots */
#define  THROW            1
#define  LOWER_BOUND      2

#define  RESULTS_BUFFERSIZE 20000  // # of chars. in results buffer
#define  INFO_BUFFERSIZE 80 // # of chars. in info buffer

extern char *results_buffer;   /* global variable used to store ss output */
extern char *info_buffer;      /* global variable used to store info output */
extern char *error_string;     /* global variable used to store error output */


int generate_siteswaps(int balls, int maxthrow, int length, int* flags, int* xself, int* iself, int* xpass, int* xlen);