* Version $Id$
*/
+#ifndef __LIBPROTOS_H
+#define __LIBPROTOS_H
+
class JCR;
/* attr.c */
JCR *jcr_walk_start();
JCR *jcr_walk_next(JCR *prev_jcr);
void jcr_walk_end(JCR *jcr);
-uint32_t get_jobid_from_tid(pthread_t tid);
-uint32_t get_jobid_from_tid();
-JCR *get_jcr_from_tid(pthread_t tid);
-JCR *get_jcr_from_tid();
+uint32_t get_jobid_from_tsd();
+JCR *get_jcr_from_tsd();
+void set_jcr_in_tsd(JCR *jcr);
/* lex.c */
bool verify_peer);
void free_tls_context (TLS_CONTEXT *ctx);
#ifdef HAVE_TLS
-bool tls_postconnect_verify_host (TLS_CONNECTION *tls,
+bool tls_postconnect_verify_host(JCR *jcr, TLS_CONNECTION *tls,
const char *host);
-bool tls_postconnect_verify_cn (TLS_CONNECTION *tls,
+bool tls_postconnect_verify_cn(JCR *jcr, TLS_CONNECTION *tls,
alist *verify_list);
TLS_CONNECTION *new_tls_connection (TLS_CONTEXT *ctx, int fd);
bool tls_bsock_accept (BSOCK *bsock);
/* util.c */
+
+extern "C" {
+typedef char *(*job_code_callback_t)(JCR *, const char *);
+}
+
bool is_buf_zero (char *buf, int len);
void lcase (char *str);
void bash_spaces (char *str);
char * encode_mode (mode_t mode, char *buf);
int do_shell_expansion (char *name, int name_len);
void jobstatus_to_ascii (int JobStatus, char *msg, int maxlen);
-int run_program (char *prog, int wait, POOLMEM *results);
-int run_program_full_output (char *prog, int wait, POOLMEM *results);
+int run_program (char *prog, int wait, POOLMEM *&results);
+int run_program_full_output (char *prog, int wait, POOLMEM *&results);
const char * job_type_to_str (int type);
const char * job_status_to_str (int stat);
const char * job_level_to_str (int level);
void make_session_key (char *key, char *seed, int mode);
-POOLMEM * edit_job_codes (JCR *jcr, char *omsg, char *imsg, const char *to);
+void encode_session_key (char *encode, char *session, char *key, int maxlen);
+void decode_session_key (char *decode, char *session, char *key, int maxlen);
+POOLMEM * edit_job_codes (JCR *jcr, char *omsg, char *imsg, const char *to, job_code_callback_t job_code_callback = NULL);
void set_working_directory (char *wd);
const char * last_path_separator (const char *str);
void stop_thread_timer(btimer_t *wid);
btimer_t *start_bsock_timer(BSOCK *bs, uint32_t wait);
void stop_bsock_timer(btimer_t *wid);
+
+#endif /* __LIBPROTOS_H */