--- libaitio/inc/aitio.h 2011/09/21 13:25:19 1.11.2.18 +++ libaitio/inc/aitio.h 2011/10/07 10:32:35 1.11.2.24 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitio.h,v 1.11.2.18 2011/09/21 13:25:19 misho Exp $ +* $Id: aitio.h,v 1.11.2.24 2011/10/07 10:32:35 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -47,8 +47,13 @@ SUCH DAMAGE. #define __AITIO_H +#define COMPAT_43TTY + #include #include +#include +#include +#include #define VACUUM_LEFT 1 @@ -749,6 +754,16 @@ int ioCipher(unsigned char *pInput, int inLen, unsigne */ int io_Blowfish(unsigned char *pInput, int inLen, unsigned char **ppOutput, unsigned char *pKey, unsigned char *pIV, int nMode); +/* + * io_ctr_AES() Encrypt/Decrypt stream cipher CTR_AES + * @pInput = Input buffer with ASCII + * @inLen = Input buffer data length + * @ppOutput = Output buffer with cipher data, must be free after use + * @pKey = Key + * @IV = IVector/Nonce/Counter + * return: -1 error or >-1 how many cipher blocks proceeded + */ +int io_ctr_AES(u_char *pInput, int inLen, u_char **ppOutput, u_char *pKey, u_char IV[AES_BLOCK_SIZE]); /* @@ -764,11 +779,12 @@ int io_Blowfish(unsigned char *pInput, int inLen, unsi inline int ioAllocPTY(int *ptyfd, int *ttyfd, char * __restrict name, int namesiz, struct termios * __restrict term, struct winsize * __restrict winz); /* - * ioFreeTTY() Release TTY + * ioFreePTY() Release PTY and TTY device + * @ptyfd = master fd, pty (==-1 skip closing pty) * @ttyname = tty filename * return: none */ -inline void ioFreeTTY(const char *ttyname); +inline void ioFreePTY(int ptyfd, const char *ttyname); /* * ioChgWinPTY() Change window size of PTY * @ptyfd = master fd, pty @@ -820,6 +836,14 @@ inline int ioRestoreMode(int fd, struct termios tio); */ pid_t ioForkPTY(int *ptyfd, char * __restrict name, int namesiz, struct termios * __restrict term, struct winsize * __restrict winz, struct termios * __restrict otio); + +/* + * ioCreatePIDFile() Create PID file + * @csName = PID filename + * @ifExists = !=0 if filename exists return error + * return: -1 error or 0 ok + */ +inline int ioCreatePIDFile(const char *csName, int ifExists); #endif