1 #ifndef _DSN_UTIL_H_INCLUDED_
2 #define _DSN_UTIL_H_INCLUDED_
25 #define DSN_LEN (DSN_DIGS1 + 1 + DSN_DIGS2 + 1 + DSN_DIGS3)
26 #define DSN_SIZE (DSN_LEN + 1)
38 #define DSN_UPDATE(dsn_buf, dsn, len) do { \
39 if (len >= sizeof((dsn_buf).data)) \
40 msg_panic("DSN_UPDATE: bad DSN code \"%.*s...\" length %d", \
41 INT_SIZEOF((dsn_buf).data) - 1, dsn, len); \
42 strncpy((dsn_buf).data, (dsn), (len)); \
43 (dsn_buf).data[len] = 0; \
46 #define DSN_STATUS(dsn_buf) ((const char *) (dsn_buf).data)
48 #define DSN_CLASS(dsn_buf) ((dsn_buf).data[0])
64 extern char *
dsn_prepend(
const char *,
const char *);
size_t dsn_valid(const char *)
DSN_SPLIT * dsn_split(DSN_SPLIT *, const char *, const char *)
char * dsn_prepend(const char *, const char *)