|
|
| version 1.4.2.13, 2010/09/08 18:12:39 | version 1.6.4.1, 2011/03/16 16:59:33 |
|---|---|
| Line 10 | Line 10 |
| #define __AITIO_H | #define __AITIO_H |
| #include <openssl/evp.h> | |
| typedef struct _tagURLItem { | typedef struct _tagURLItem { |
| int vallen; | int vallen; |
| char *value; | char *value; |
| Line 29 struct tagIOURL { | Line 32 struct tagIOURL { |
| char *url_reserved; | char *url_reserved; |
| }; | }; |
| struct tagReqXML { | |
| unsigned char xml_line[BUFSIZ]; | |
| url_Item_t xml_namespace; | |
| union { | |
| url_Item_t container; | |
| url_Item_t path; | |
| } xml_node; | |
| url_Item_t xml_data; | |
| url_Item_t xml_attribute; | |
| url_Item_t xml_value; | |
| }; | |
| // io_GetErrno() Get error code of last operation | // io_GetErrno() Get error code of last operation |
| inline int io_GetErrno(); | inline int io_GetErrno(); |
| // io_GetError() Get error text of last operation | // io_GetError() Get error text of last operation |
| Line 84 int ioRegexGet(const char *csRegex, const char *csData | Line 100 int ioRegexGet(const char *csRegex, const char *csData |
| char *ioRegexReplace(const char *csRegex, const char *csData, const char *csNew); | char *ioRegexReplace(const char *csRegex, const char *csData, const char *csNew); |
| /* | /* |
| * ioVarAst() Function for evaluate string like asterisk variable "{text[:[-]#[:#]]}" | |
| * @csString = Input string | |
| * return: NULL error, !=NULL Allocated new string evaluated from input string, must be free() | |
| */ | |
| char *ioVarAst(const char *csString); | |
| /* | |
| * io_Path2File() Parse and make path/filename pair | * io_Path2File() Parse and make path/filename pair |
| * @csArgs = Input argument line | * @csArgs = Input argument line |
| * @psPath = Output Path, if ==NULL path not returned | * @psPath = Output Path, if ==NULL path not returned |
| Line 192 int ioURLGetFile(struct tagIOURL *url, char * __restri | Line 215 int ioURLGetFile(struct tagIOURL *url, char * __restri |
| /* | /* |
| * ioXMLGet() Parse and get data from input XML request string [ns:]container[|attribute[=value]][?data] | |
| * @csXML = Input XML request line | |
| * @xml = Output parsed XML request | |
| * return: 0 error format incorrect, -1 error:: can`t read; >0 ok readed elements bits | |
| */ | |
| int ioXMLGet(const char *csXML, struct tagReqXML *xml); | |
| /* | |
| * ioMkDir() Function for racursive directory creation and validation | |
| * @csDir = Full directory path | |
| * @mode = Mode for directory creation if missing dir | |
| * return: -1 error, 0 directory path exist, >0 created missing dirs | |
| */ | |
| int ioMkDir(const char *csDir, int mode); | |
| /* | |
| * ioWatchDirLoop() Function for watching changes in directory and fire callback | |
| * @csDir = Full directory path | |
| * @callback = Callback if raise event! nOp -1 delete, 0 change/move, 1 create | |
| * return: -1 error, !=-1 ok, number of total signaled events | |
| */ | |
| int ioWatchDirLoop(const char *csDir, int (*callback)(const char *csName, int nOp)); | |
| /* | |
| * io_rread() Raw VFS read function | * io_rread() Raw VFS read function |
| * @fd = File handle | * @fd = File handle |
| * @buf = Read buffer | * @buf = Read buffer |
| Line 250 extern int io_Debug; | Line 299 extern int io_Debug; |
| __func__, __LINE__, ait##_GetErrno(), \ | __func__, __LINE__, ait##_GetErrno(), \ |
| ait##_GetError()); \ | ait##_GetError()); \ |
| } while (0) | } while (0) |
| /* Crypto framework */ | |
| /* | |
| * ioCipher() Cipher wrapper for all supported crypto algorythms | |
| * @pInput = input buffer | |
| * @inLen = input buffer len | |
| * @ppOutput = output allocated buffe, must be free after use | |
| * @Cipher = cipher engine, like EVP_bf_cbc() or etc... | |
| * @pKey = key | |
| * @pIV = IV, salt (8 bytes) | |
| * @nMode = Mode 0 - decrypting or 1 - encrypting | |
| * return: 0 not present data or error!; >0 number of processed and returned bytes into ppOutput | |
| */ | |
| int ioCipher(unsigned char *pInput, int inLen, unsigned char **ppOutput, const EVP_CIPHER *Cipher, | |
| unsigned char *pKey, unsigned char *pIV, int nMode); | |
| /* | |
| * io_Blowfish() Blowfish cipher algorythm, work with ASCII hex strings | |
| * @pInput = input buffer | |
| * @inLen = input buffer len | |
| * @ppOutput = output allocated buffe, must be free after use | |
| * @pKey = key | |
| * @pIV = IV, salt (8 bytes) | |
| * @nMode = Mode 0 - decrypting or 1 - encrypting | |
| * return: 0 not present data or error!; >0 number of processed and returned bytes into ppOutput | |
| */ | |
| int io_Blowfish(u_char *pInput, int inLen, u_char **ppOutput, u_char *pKey, u_char *pIV, int nMode); | |
| #endif | #endif |