* never have errors, or it is really fatal.
*/
B_DB *
-db_init_database(void *jcr, char *db_name, char *db_user, char *db_password,
+db_init_database(JCR *jcr, char *db_name, char *db_user, char *db_password,
char *db_address, int db_port, char *db_socket)
{
B_DB *mdb;
* which are returned in the errmsg
*/
int
-db_open_database(void *jcr, B_DB *mdb)
+db_open_database(JCR *jcr, B_DB *mdb)
{
char *dbf;
int fd, badctl;
return 1;
}
-void db_close_database(void *jcr, B_DB *mdb)
+void db_close_database(JCR *jcr, B_DB *mdb)
{
P(mutex);
mdb->ref_count--;
* much more efficient. Usually started when inserting
* file attributes.
*/
-void db_start_transaction(void *jcr, B_DB *mdb)
+void db_start_transaction(JCR *jcr, B_DB *mdb)
{
}
-void db_end_transaction(void *jcr, B_DB *mdb)
+void db_end_transaction(JCR *jcr, B_DB *mdb)
{
}
* -----------------------------------------------------------------------
*/
-int db_create_file_attributes_record(void *jcr, B_DB *mdb, ATTR_DBR *ar)
+int db_create_file_attributes_record(JCR *jcr, B_DB *mdb, ATTR_DBR *ar)
{
/* *****FIXME***** implement this */
return 1;
}
-int db_create_file_item(void *jcr, B_DB *mdb, ATTR_DBR *ar)
+int db_create_file_item(JCR *jcr, B_DB *mdb, ATTR_DBR *ar)
{
/****FIXME***** not implemented */
return 1;
* Returns: 0 on failure
* 1 on success
*/
-int db_create_job_record(void *jcr, B_DB *mdb, JOB_DBR *jr)
+int db_create_job_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr)
{
int len;
* Returns: 0 on failure
* record-id on success
*/
-int db_create_jobmedia_record(void *jcr, B_DB *mdb, JOBMEDIA_DBR *jm)
+int db_create_jobmedia_record(JCR *jcr, B_DB *mdb, JOBMEDIA_DBR *jm)
{
int len;
* Returns: 0 on failure
* 1 on success
*/
-int db_create_pool_record(void *jcr, B_DB *mdb, POOL_DBR *pr)
+int db_create_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pr)
{
int len;
POOL_DBR mpr;
* Returns: 0 on failure
* 1 on success
*/
-int db_create_media_record(void *jcr, B_DB *mdb, MEDIA_DBR *mr)
+int db_create_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr)
{
int len;
MEDIA_DBR mmr;
* Returns: 0 on failure
* 1 on success
*/
-int db_create_client_record(void *jcr, B_DB *mdb, CLIENT_DBR *cr)
+int db_create_client_record(JCR *jcr, B_DB *mdb, CLIENT_DBR *cr)
{
int len;
CLIENT_DBR lcr;
* Returns: 0 on failure
* 1 on success
*/
-int db_create_fileset_record(void *jcr, B_DB *mdb, FILESET_DBR *fsr)
+int db_create_fileset_record(JCR *jcr, B_DB *mdb, FILESET_DBR *fsr)
{
int len;
FILESET_DBR lfsr;
* Returns: 0 on error
* the number of records deleted on success
*/
-int db_delete_pool_record(void *jcr, B_DB *mdb, POOL_DBR *pr)
+int db_delete_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pr)
{
int stat;
POOL_DBR opr;
return stat;
}
-int db_delete_media_record(void *jcr, B_DB *mdb, MEDIA_DBR *mr)
+int db_delete_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr)
{
int stat;
MEDIA_DBR omr;
* Returns: 0 on failure
* 1 on success, jr unchanged, but stime set
*/
-int db_find_job_start_time(void *jcr, B_DB *mdb, JOB_DBR *jr, POOLMEM **stime)
+int db_find_job_start_time(JCR *jcr, B_DB *mdb, JOB_DBR *jr, POOLMEM **stime)
{
char cmd[MAXSTRING], Name[MAX_NAME_LENGTH], StartTime[MAXSTRING];
int Type, Level;
* Returns: 0 on failure
* numrows on success
*/
-int db_find_next_volume(void *jcr, B_DB *mdb, int item, MEDIA_DBR *mr)
+int db_find_next_volume(JCR *jcr, B_DB *mdb, int item, MEDIA_DBR *mr)
{
MEDIA_DBR omr;
int stat = 0;
return stat;
}
-int db_find_last_jobid(void *jcr, B_DB *mdb, JOB_DBR *jr) { return 0; }
+int db_find_last_jobid(JCR *jcr, B_DB *mdb, JOB_DBR *jr) { return 0; }
#endif /* HAVE_BACULA_DB */
* 1 on success
*/
-int db_get_job_record(void *jcr, B_DB *mdb, JOB_DBR *jr)
+int db_get_job_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr)
{
JOB_DBR ojr;
faddr_t rec_addr;
* Returns: -1 on failure
* number on success
*/
-int db_get_num_pool_records(void *jcr, B_DB *mdb)
+int db_get_num_pool_records(JCR *jcr, B_DB *mdb)
{
int stat = 0;
* Returns 0: on failure
* 1: on success
*/
-int db_get_pool_ids(void *jcr, B_DB *mdb, int *num_ids, uint32_t *ids[])
+int db_get_pool_ids(JCR *jcr, B_DB *mdb, int *num_ids, uint32_t *ids[])
{
int i = 0;
uint32_t *id;
* Returns: 0 on failure
* id on success
*/
-int db_get_pool_record(void *jcr, B_DB *mdb, POOL_DBR *pr)
+int db_get_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pr)
{
POOL_DBR opr;
faddr_t rec_addr;
* Returns: -1 on failure
* number on success
*/
-int db_get_num_media_records(void *jcr, B_DB *mdb)
+int db_get_num_media_records(JCR *jcr, B_DB *mdb)
{
int stat = 0;
* Returns 0: on failure
* 1: on success
*/
-int db_get_media_ids(void *jcr, B_DB *mdb, int *num_ids, uint32_t *ids[])
+int db_get_media_ids(JCR *jcr, B_DB *mdb, int *num_ids, uint32_t *ids[])
{
int i = 0;
uint32_t *id;
* Returns: 0 on failure
* id on success
*/
-int db_get_media_record(void *jcr, B_DB *mdb, MEDIA_DBR *mr)
+int db_get_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr)
{
faddr_t rec_addr;
int found = 0;
* Volumes are concatenated in VolumeNames
* separated by a vertical bar (|).
*/
-int db_get_job_volume_names(void *jcr, B_DB *mdb, uint32_t JobId, POOLMEM **VolumeNames)
+int db_get_job_volume_names(JCR *jcr, B_DB *mdb, uint32_t JobId, POOLMEM **VolumeNames)
{
int found = 0;
JOBMEDIA_DBR jm;
* Returns: 0 on failure
* id on success
*/
-int db_get_client_record(void *jcr, B_DB *mdb, CLIENT_DBR *cr)
+int db_get_client_record(JCR *jcr, B_DB *mdb, CLIENT_DBR *cr)
{
CLIENT_DBR lcr;
int len;
* Returns: 0 on failure
* id on success
*/
-int db_get_fileset_record(void *jcr, B_DB *mdb, FILESET_DBR *fsr)
+int db_get_fileset_record(JCR *jcr, B_DB *mdb, FILESET_DBR *fsr)
{
FILESET_DBR lfsr;
int stat = 0;
-int db_get_file_attributes_record(void *jcr, B_DB *mdb, char *fname, FILE_DBR *fdbr)
+int db_get_file_attributes_record(JCR *jcr, B_DB *mdb, char *fname, FILE_DBR *fdbr)
{ return 0; }
-int db_get_job_volume_parameters(void *jcr, B_DB *mdb, uint32_t JobId, VOL_PARAMS **VolParams)
+int db_get_job_volume_parameters(JCR *jcr, B_DB *mdb, uint32_t JobId, VOL_PARAMS **VolParams)
{ return 0; }
-int db_get_client_ids(void *jcr, B_DB *mdb, int *num_ids, uint32_t *ids[])
+int db_get_client_ids(JCR *jcr, B_DB *mdb, int *num_ids, uint32_t *ids[])
{ return 0; }
#endif /* HAVE_BACULA_DB */
/*
* Submit general SQL query
*/
-int db_list_sql_query(void *jcr, B_DB *mdb, char *query, DB_LIST_HANDLER *sendit,
+int db_list_sql_query(JCR *jcr, B_DB *mdb, char *query, DB_LIST_HANDLER *sendit,
void *ctx, int verbose)
{
sendit(ctx, "SQL Queries not implemented with internal database.\n");
/*
* List all the pool records
*/
-void db_list_pool_records(void *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_pool_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx)
{
int len;
POOL_DBR pr;
/*
* List Media records
*/
-void db_list_media_records(void *jcr, B_DB *mdb, MEDIA_DBR *mdbr,
+void db_list_media_records(JCR *jcr, B_DB *mdb, MEDIA_DBR *mdbr,
DB_LIST_HANDLER *sendit, void *ctx)
{
char ewc[30];
return;
}
-void db_list_jobmedia_records(void *jcr, B_DB *mdb, uint32_t JobId,
+void db_list_jobmedia_records(JCR *jcr, B_DB *mdb, uint32_t JobId,
DB_LIST_HANDLER *sendit, void *ctx)
{
JOBMEDIA_DBR jm;
/*
* List Job records
*/
-void db_list_job_records(void *jcr, B_DB *mdb, JOB_DBR *jr,
+void db_list_job_records(JCR *jcr, B_DB *mdb, JOB_DBR *jr,
DB_LIST_HANDLER *sendit, void *ctx)
{
int jrlen;
/*
* List Job Totals
*/
-void db_list_job_totals(void *jcr, B_DB *mdb, JOB_DBR *jr,
+void db_list_job_totals(JCR *jcr, B_DB *mdb, JOB_DBR *jr,
DB_LIST_HANDLER *sendit, void *ctx)
{
char ewc1[30], ewc2[30], ewc3[30];
-void db_list_files_for_job(void *jcr, B_DB *mdb, uint32_t jobid, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_files_for_job(JCR *jcr, B_DB *mdb, uint32_t jobid, DB_LIST_HANDLER *sendit, void *ctx)
{ }
-void db_list_client_records(void *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx)
+void db_list_client_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx)
{ }
-int db_list_sql_query(void *jcr, B_DB *mdb, char *query, DB_LIST_HANDLER *sendit,
+int db_list_sql_query(JCR *jcr, B_DB *mdb, char *query, DB_LIST_HANDLER *sendit,
void *ctx, int verbose, e_list_type type)
{
return 0;
}
void
-db_list_pool_records(void *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
+db_list_pool_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
{ }
void
-db_list_media_records(void *jcr, B_DB *mdb, MEDIA_DBR *mdbr,
+db_list_media_records(JCR *jcr, B_DB *mdb, MEDIA_DBR *mdbr,
DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
{ }
-void db_list_jobmedia_records(void *jcr, B_DB *mdb, uint32_t JobId,
+void db_list_jobmedia_records(JCR *jcr, B_DB *mdb, uint32_t JobId,
DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
{ }
void
-db_list_job_records(void *jcr, B_DB *mdb, JOB_DBR *jr, DB_LIST_HANDLER *sendit,
+db_list_job_records(JCR *jcr, B_DB *mdb, JOB_DBR *jr, DB_LIST_HANDLER *sendit,
void *ctx, e_list_type type)
{ }
void
-db_list_client_records(void *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
+db_list_client_records(JCR *jcr, B_DB *mdb, DB_LIST_HANDLER *sendit, void *ctx, e_list_type type)
{ }
* most current start fields to the job record.
* It is assumed that you did a db_create_job_record() already.
*/
-int db_update_job_start_record(void *jcr, B_DB *mdb, JOB_DBR *jr)
+int db_update_job_start_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr)
{
int len, stat = 1;
JOB_DBR ojr;
* This is called at Job termination time to add all the
* other fields to the job record.
*/
-int db_update_job_end_record(void *jcr, B_DB *mdb, JOB_DBR *jr)
+int db_update_job_end_record(JCR *jcr, B_DB *mdb, JOB_DBR *jr)
{
int len, stat = 1;
JOB_DBR ojr;
}
-int db_update_media_record(void *jcr, B_DB *mdb, MEDIA_DBR *mr)
+int db_update_media_record(JCR *jcr, B_DB *mdb, MEDIA_DBR *mr)
{
int stat = 1;
MEDIA_DBR omr;
return stat;
}
-int db_update_pool_record(void *jcr, B_DB *mdb, POOL_DBR *pr)
+int db_update_pool_record(JCR *jcr, B_DB *mdb, POOL_DBR *pr)
{
int stat = 1;
POOL_DBR opr;
return stat;
}
-int db_add_SIG_to_file_record(void *jcr, B_DB *mdb, FileId_t FileId, char *SIG, int type)
+int db_add_SIG_to_file_record(JCR *jcr, B_DB *mdb, FileId_t FileId, char *SIG, int type)
{
return 1;
}
-int db_mark_file_record(void *jcr, B_DB *mdb, FileId_t FileId, JobId_t JobId)
+int db_mark_file_record(JCR *jcr, B_DB *mdb, FileId_t FileId, JobId_t JobId)
{
return 1;
}
-int db_update_client_record(void *jcr, B_DB *mdb, CLIENT_DBR *cr)
+int db_update_client_record(JCR *jcr, B_DB *mdb, CLIENT_DBR *cr)
{
return 1;
}
}
dev->VolCatInfo.VolCatWrites++;
- Dmsg1(500, "Write block of %u bytes\n", wlen);
+ Dmsg1(300, "Write block of %u bytes\n", wlen);
if ((uint32_t)(stat=write(dev->fd, block->buf, (size_t)wlen)) != wlen) {
/* We should check for errno == ENOSPC, BUT many
* devices simply report EIO when it is full.