CAPS Universe documentation  1.0.4
All you need to know to be successful
libcapsclient.h
Go to the documentation of this file.
1#pragma once
2
3/*
4 * SPDX-License-Identifier: LGPL-2.1-or-later
5 *
6 * (c) 2017 Jürgen Borleis <projects@caps-printing.org>
7 *
8 * This library is free software; you can redistribute it and/or modify it under
9 * the terms of the GNU Lesser General Public License 2.1 as published by the Free
10 * Software Foundation.
11 *
12 * This library is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
15 * details.
16 */
17
18#include <stdlib.h>
19#include <stdbool.h>
20#include <features.h>
21#include <libcapsbase.h>
22
23#include "libcapsppcommon.h"
24
25__BEGIN_DECLS
26
47#define LIBCAPSCLIENT_MAJOR 1
49#define LIBCAPSCLIENT_MINOR 1
51#define LIBCAPSCLIENT_MICRO 1
60void caps_libclient_version_get(unsigned *major, unsigned *minor, unsigned *micro) __nonnull();
96 int (*job_change)(void *data, caps_identifier pr_id, caps_identifier job_id, struct caps_cl_job_state *jstate, struct caps_job_progression *jprogression);
106};
172struct caps_cl_handle;
206int caps_cl_instance_register(struct caps_cl_handle *instance, const struct caps_cl_notifier *notifier, void *data) __nonnull((1));
229void caps_cl_instance_destroy(struct caps_cl_handle *instance) __nonnull();
347 size_t cnt;
349};
371 char *name;
372 char *info;
373 char *location;
374 char *vendor;
375 char *model;
376 struct caps_supported_mime_list supported_formats;
377};
432 char message[256];
433};
496int caps_cl_printer_PPD_get(struct caps_cl_handle *instance, caps_identifier printer_id, int *ppdfh) __nonnull() __warn_unused_res;
515int caps_cl_printer_name_to_id(struct caps_cl_handle *instance, const char *name, caps_identifier *printer_id) __nonnull() __warn_unused_res;
666#define CAPS_NOTIFIER_HANDLED 0
671#define CAPS_NOTIFIER_NOT_YET_HANDLED 1
815int caps_cl_error_messages_catch(struct caps_cl_handle *instance, char **ptr, size_t *size) __nonnull();
929int caps_cl_job_commit(struct caps_cl_handle *instance, caps_identifier printer_id, int job_fd, const char *parameter, caps_identifier *job_id) __nonnull((1, 5)) __warn_unused_res;
941 char message[256];
942};
992bool caps_cl_job_check_if_done(struct caps_cl_handle *instance, const struct caps_cl_job_state *state) __nonnull() __warn_unused_res;
1035int caps_cl_job_cancel(struct caps_cl_handle *instance, caps_identifier job_id) __nonnull();
1039__END_DECLS
static struct caps_coordinator data
Definition: caps-printing-coordinator.c:83
static caps_identifier pr_id
Definition: caps-printing-test-client.c:37
#define __warn_unused_res
Definition: libcapsbase.h:146
#define __returns_nonnull
Definition: libcapsbase.h:141
#define __nonnull(params)
Definition: libcapsbase.h:84
int64_t caps_identifier
Definition: libcapsbase.h:323
void caps_cl_instance_destroy(struct caps_cl_handle *instance)
Definition: libcapsclient.c:1637
struct caps_cl_handle * caps_cl_instance_create(void)
Definition: libcapsclient.c:1469
void caps_cl_instance_unregister(struct caps_cl_handle *instance)
Definition: libcapsclient.c:1623
int caps_cl_instance_register(struct caps_cl_handle *instance, const struct caps_cl_notifier *notifier, void *data)
Definition: libcapsclient.c:1560
void caps_cl_error_messages_reset(struct caps_cl_handle *instance)
Definition: libcapsclient.c:1491
int caps_cl_error_messages_catch(struct caps_cl_handle *instance, char **ptr, size_t *size)
Definition: libcapsclient.c:1482
int caps_cl_connection_fd_get(struct caps_cl_handle *instance)
Definition: libcapsclient.c:1708
int caps_cl_notifiers_process(struct caps_cl_handle *instance)
Definition: libcapsclient.c:1672
void caps_cl_printer_info_destroy(struct caps_cl_handle *instance, struct caps_cl_printer_info *info)
Definition: libcapsclient.c:384
int caps_cl_printer_state_get(struct caps_cl_handle *instance, caps_identifier printer_id, struct caps_cl_printer_state *state)
Definition: libcapsclient.c:456
int caps_cl_printer_name_to_id(struct caps_cl_handle *instance, const char *name, caps_identifier *printer_id)
Definition: libcapsclient.c:640
int caps_cl_printer_info_get(struct caps_cl_handle *instance, caps_identifier printer_id, struct caps_cl_printer_info **info)
Definition: libcapsclient.c:270
int caps_cl_printer_PPD_get(struct caps_cl_handle *instance, caps_identifier printer_id, int *ppdfh)
Definition: libcapsclient.c:564
int caps_cl_printer_list_get(struct caps_cl_handle *instance, struct caps_cl_printer_list **list)
Definition: libcapsclient.c:151
int caps_cl_job_commit(struct caps_cl_handle *instance, caps_identifier printer_id, int job_fd, const char *parameter, caps_identifier *job_id)
Definition: libcapsclient.c:742
bool caps_cl_job_check_if_done(struct caps_cl_handle *instance, const struct caps_cl_job_state *state)
Definition: libcapsclient.c:1046
int caps_cl_job_progression_get(struct caps_cl_handle *instance, caps_identifier job_id, struct caps_job_progression *prog)
Definition: libcapsclient.c:1103
int caps_cl_job_cancel(struct caps_cl_handle *instance, caps_identifier job_id)
Definition: libcapsclient.c:1002
int caps_cl_job_state_get(struct caps_cl_handle *instance, caps_identifier job_id, struct caps_cl_job_state *state)
Definition: libcapsclient.c:855
void caps_libclient_version_get(unsigned *major, unsigned *minor, unsigned *micro)
Definition: libcapsclient.c:53
caps_printing_job_state
The processing states a job can be in.
Definition: libcapsppcommon.h:254
caps_printing_job_reason
The more detailed state description a printing job can be in.
Definition: libcapsppcommon.h:268
caps_printing_provider_reason
Definition: libcapsppcommon.h:156
caps_printing_provider_state
Definition: libcapsppcommon.h:138
Basic API for everything else of the CAPS universe.
Common definitions used by printing coordinator components (libcapsclient and libcapsprovider)
Definition: libcapsclient.c:45
const struct caps_cl_notifier * notifier
Definition: libcapsclient.c:48
Definition: libcapsclient.h:938
enum caps_printing_job_reason reason_id
Definition: libcapsclient.h:940
enum caps_printing_job_state id
Definition: libcapsclient.h:939
Define notifier callbacks for Printing Coordinator clients.
Definition: libcapsclient.h:89
int(* job_change)(void *data, caps_identifier pr_id, caps_identifier job_id, struct caps_cl_job_state *jstate, struct caps_job_progression *jprogression)
Definition: libcapsclient.h:96
int(* provider_change)(void *data, caps_identifier pr_id, struct caps_cl_printer_state *pstate)
Definition: libcapsclient.h:90
Definition: libcapsclient.h:370
char * name
Definition: libcapsclient.h:371
char * info
Definition: libcapsclient.h:372
char * location
Definition: libcapsclient.h:373
char * model
Definition: libcapsclient.h:375
char * vendor
Definition: libcapsclient.h:374
Definition: libcapsclient.h:346
caps_identifier list[0]
Definition: libcapsclient.h:348
size_t cnt
Definition: libcapsclient.h:347
Definition: libcapsclient.h:429
enum caps_printing_provider_state state
Definition: libcapsclient.h:430
enum caps_printing_provider_reason reason
Definition: libcapsclient.h:431
Information collection for printing progression report.
Definition: libcapsppcommon.h:308
Definition: libcapsppcommon.h:166