/usr/lib/emboss/include/ajfmt.h is in emboss-lib 6.6.0+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | /* @include ajfmt *************************************************************
**
** AJAX format functions
**
** String formatting routines. Similar to printf, fprintf, vprintf
** etc but the set of conversion specifiers is not fixed, and cannot
** store more characters than it can hold.
** There is also ajFmtScanS / ajFmtScanC which is an extended sscanf.
**
** Special formatting provided here:
** %B : AJAX boolean
** %D : AJAX date
** %S : AJAX string
** %z : Dynamic char* allocation in ajFmtScanS
**
** Other differences are:
** %s : accepts null strings and prints null in angle brackets
**
** @author Copyright (C) 1998 Ian Longden
** @author Copyright (C) 1998 Peter Rice
** @author Copyright (C) 1999 Alan Bleasby
** @version $Revision: 1.22 $
** @modified Copyright (C) 2001 Alan Bleasby. Added ajFmtScanS functions
** @modified Copyright (C) 2003 Jon Ison. Added ajFmtScanC functions
** @modified $Date: 2012/03/22 21:19:08 $ by $Author: mks $
** @@
**
** This library is free software; you can redistribute it and/or
** modify it under the terms of the GNU Lesser General Public
** License as published by the Free Software Foundation; either
** version 2.1 of the License, or (at your option) any later version.
**
** This library is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
** Lesser General Public License for more details.
**
** You should have received a copy of the GNU Lesser General Public
** License along with this library; if not, write to the Free Software
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
** MA 02110-1301, USA.
**
******************************************************************************/
#ifndef AJFMT_H
#define AJFMT_H
/* ========================================================================= */
/* ============================= include files ============================= */
/* ========================================================================= */
#include "ajdefine.h"
#include "ajfile.h"
#include "ajstr.h"
#include <stdarg.h>
AJ_BEGIN_DECLS
/* ========================================================================= */
/* =============================== constants =============================== */
/* ========================================================================= */
/* ========================================================================= */
/* ============================== public data ============================== */
/* ========================================================================= */
/* ========================================================================= */
/* =========================== public functions ============================ */
/* ========================================================================= */
/*
** Prototype definitions
*/
void ajFmtFmt(int (*put) (int c, void *cl), void *cl,
const char *fmt, ...);
void ajFmtVfmt(int (*put) (int c, void *cl), void *cl,
const char *fmt, va_list ap);
void ajFmtError(const char *fmt, ...);
void ajFmtVError(const char *fmt, va_list ap);
void ajFmtPrint(const char *fmt, ...);
void ajFmtVPrint(const char *fmt, va_list ap);
void ajFmtPrintFp(FILE *stream,
const char *fmt, ...);
void ajFmtVPrintFp(FILE *stream,
const char *fmt, va_list ap);
void ajFmtPrintF(AjPFile file,
const char *fmt, ...);
void ajFmtVPrintF(AjPFile file,
const char *fmt, va_list ap);
ajint ajFmtPrintCL(char *buf, ajint size,
const char *fmt, ...);
ajint ajFmtVPrintCL(char *buf, ajint size,
const char *fmt, va_list ap);
void ajFmtPrintSplit(AjPFile outf, const AjPStr str,
const char *prefix, ajint len,
const char *delim);
char* ajFmtString(const char *fmt, ...);
char* ajFmtVString(const char *fmt, va_list ap);
void ajFmtPutd(const char *str, ajint len,
int (*put) (int c, void *cl), void *cl,
const ajuint *flags, ajint width, ajint precision);
void ajFmtPuts(const char *str, ajint len,
int (*put) (int c, void *cl), void *cl,
const ajuint *flags, ajint width, ajint precision);
AjPStr ajFmtStr(const char *fmt, ...);
AjPStr ajFmtPrintS(AjPStr *pthis, const char *fmt, ...);
AjPStr ajFmtVPrintS(AjPStr *pthis, const char *fmt, va_list ap);
AjPStr ajFmtPrintAppS(AjPStr *pthis, const char *fmt, ...);
ajint ajFmtVfmtCL(char *buf, ajint size, const char *fmt,
va_list ap);
ajint ajFmtVfmtStrCL(char **buf, ajint pos, size_t *size,
const char *fmt, va_list ap);
ajint ajFmtScanS(const AjPStr thys, const char *fmt, ...);
ajint ajFmtScanC(const char *thys, const char *fmt, ...);
ajint ajFmtScanF(AjPFile thys, const char *fmt, ...);
/*
** End of prototype definitions
*/
AJ_END_DECLS
#endif /* !AJFMT_H */
|