From ec1f1c6742d55dac75f715422ce4c0191e0f216e Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Thu, 7 Jan 2016 16:15:35 -0600 Subject: taskprocessor.c: New API for human friendly taskprocessor names. * Add new API call to get a sequence number for use in human friendly taskprocessor names. * Add new API call to create a taskprocessor name in a given buffer and append a sequence number. Change-Id: Iac458f05b45232315ed64aa31b1df05b875537a9 --- include/asterisk/taskprocessor.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'include/asterisk/taskprocessor.h') diff --git a/include/asterisk/taskprocessor.h b/include/asterisk/taskprocessor.h index 6ebf0729c..af3ce747f 100644 --- a/include/asterisk/taskprocessor.h +++ b/include/asterisk/taskprocessor.h @@ -56,6 +56,9 @@ struct ast_taskprocessor; +/*! \brief Suggested maximum taskprocessor name length (less null terminator). */ +#define AST_TASKPROCESSOR_MAX_NAME 45 + #define AST_TASKPROCESSOR_HIGH_WATER_LEVEL 500 /*! @@ -258,6 +261,30 @@ int ast_taskprocessor_execute(struct ast_taskprocessor *tps); */ int ast_taskprocessor_is_task(struct ast_taskprocessor *tps); +/*! + * \brief Get the next sequence number to create a human friendly taskprocessor name. + * \since 13.8.0 + * + * \return Sequence number for use in creating human friendly taskprocessor names. + */ +unsigned int ast_taskprocessor_seq_num(void); + +/*! + * \brief Build a taskprocessor name with a sequence number on the end. + * \since 13.8.0 + * + * \param buf Where to put the built taskprocessor name. + * \param size How large is buf including null terminator. + * \param format printf format to create the non-sequenced part of the name. + * + * \note The user supplied part of the taskprocessor name is truncated + * to allow the full sequence number to be appended within the supplied + * buffer size. + * + * \return Nothing + */ +void __attribute__((format(printf, 3, 4))) ast_taskprocessor_build_name(char *buf, unsigned int size, const char *format, ...); + /*! * \brief Return the name of the taskprocessor singleton * \since 1.6.1 -- cgit v1.2.3