--- libaitio/inc/aitio.h 2013/12/05 15:56:10 1.38.10.5 +++ libaitio/inc/aitio.h 2013/12/05 23:08:59 1.38.10.7 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.38.10.5 2013/12/05 15:56:10 misho Exp $ +* $Id: aitio.h,v 1.38.10.7 2013/12/05 23:08:59 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -123,6 +123,7 @@ typedef struct { pthread_mutex_t prog_mtx; array_t *prog_fds; + unsigned int *prog_used; } prog_t; @@ -151,13 +152,21 @@ prog_t *io_progInit(const char *progName, */ int io_progOpen(prog_t * __restrict prg, unsigned int execNum); /* + * io_progGrow() - Execute to number of programs in pool + * + * @prg = program pool + * @toNum = execute to number of programs (0 max) + * return: 0 error, >0 executed programs and abs(<0) executed programs with logged error + */ +int io_progGrow(prog_t * __restrict prg, unsigned int toNum); +/* * io_progVacuum() - Vacuum pool to running number of programs * * @prg = program pool * @toNum = vacuum to number of programs (0 to init number) * return: 0 error or >0 closed programs */ -int io_progVacuum(prog_t * __restrict prg, u_int toNum); +int io_progVacuum(prog_t * __restrict prg, unsigned int toNum); /* * io_progClose() - Close all programs in pool * @@ -181,6 +190,22 @@ void io_progDestroy(prog_t ** __restrict pprg); * return: -1 error or >-1 exited programs */ int io_progCheck(prog_t * __restrict prg); + +/* + * io_progAttach() - Attach to open program + * + * @prg = program pool + * return: NULL error or !=NULL attached program handle + */ +FILE *io_progAttach(prog_t * __restrict prg); +/* + * io_progDetach() - Detch from open program + * + * @prg= program pool + * @pfd = attached program handle + * return: none + */ +void io_progDetach(prog_t * __restrict prg, FILE *pfd); /*