
| Note: | |||
| The programmer has the responsability to keep in the 'dat' pointer | |||
| any useful information. The handler is charged to effect the actual | |||
| writing operation on whatever support is used, and must return the | |||
| number of characters actually written, that may be less than 'len'. | |||
| Members: | |||
| _ formflag | : Format flags | ||
| _ intgprec | : Precision (number of digits) for integers | ||
| _ intgbase | : Base for printing integers | ||
| _ fltpprec | : Precision (number of digits) for floating point numbers | ||
| _ fltpdeci | : Decimals (digits after separ.) for floating point numbers | ||
| Args: | |||
| _ obj | : XCLE_Object to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Object was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Args: | |||
| _ vd | : XCLE_Void to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Void was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Args: | |||
| _ in | : XCLE_Intg to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Intg was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Args: | |||
| _ fp | : XCLE_Fltp to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Fltp was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Args: | |||
| _ str | : XCLE_Strg to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Strg was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Args: | |||
| _ lst | : XCLE_List to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_List was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Args: | |||
| _ cod | : XCLE_Code to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Code was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Args: | |||
| _ stk | : XCLE_Stack to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| _ head | : header line | ||
| _ rowf | : row format line | ||
| _ tail | : tailer line | ||
| _ rown | : number of rows to write | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Stack, or an invalid format string, was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Note: | |||
| The row format string is printed for each stack row between 0 and rown-1. | |||
| Escape sequences take the form %pdd..dd?, where the 'p' char is an optionnal | |||
| padding character (by default ' '), 'd' chars are digits and '?' denotes either | |||
| the 'n' or 's' characters. They are replaced by the stack row number, for the 'n' | |||
| format specifier, and the corresponding object, for the 's' format, each written | |||
| on the number of chars denoted by the digits. | |||
| Args: | |||
| _ stk | : XCLE_Stack to write | ||
| _ wrt | : handler for the real write operation | ||
| _ dat | : user-set data pointer to pass the handler | ||
| _ fmt | : data formatting information | ||
| _ head | : header line | ||
| _ rowf | : row format line | ||
| _ tail | : tailer line | ||
| Returns: | |||
| _ -1 | : if some error occurred | ||
| _ the total number of character needed, if 'wrt' is NULL | |||
| else the total number of characters printed | |||
| Errors: | |||
| _ EINVAL | : if a NULL XCLE_Stack, or an invalid format string, was passed as argument | ||
| or any error generated by the 'wrt' handler. | |||
| Note: | |||
| The row format string is printed for each key in the Hash. | |||
| Escape sequences take the form %pdd..dd?, where the 'p' char is an optionnal | |||
| padding character (by default ' '), 'd' chars are digits and '?' denotes either | |||
| the 'n' or 's' characters. They are replaced by the sh key, for the 'n' format | |||
| specifier, and the corresponding object, for the 's' format, each written on the | |||
| number of chars denoted by the digits. | |||