Top | ![]() |
![]() |
![]() |
![]() |
void | (*FuOutputHandler) () |
gboolean | fu_common_spawn_sync () |
gchar * | fu_common_get_path () |
gchar * | fu_common_realpath () |
gboolean | fu_common_rmtree () |
GPtrArray * | fu_common_get_files_recursive () |
gboolean | fu_common_mkdir_parent () |
gboolean | fu_common_set_contents_bytes () |
GBytes * | fu_common_get_contents_bytes () |
GBytes * | fu_common_get_contents_fd () |
gboolean | fu_common_extract_archive () |
GBytes * | fu_common_firmware_builder () |
GError * | fu_common_error_array_get_best () |
guint64 | fu_common_strtoull () |
gchar * | fu_common_find_program_in_path () |
gchar * | fu_common_strstrip () |
void | fu_common_dump_raw () |
void | fu_common_dump_full () |
void | fu_common_dump_bytes () |
GBytes * | fu_common_bytes_align () |
gboolean | fu_common_bytes_is_empty () |
gboolean | fu_common_bytes_compare () |
void | fu_common_write_uint16 () |
void | fu_common_write_uint32 () |
guint16 | fu_common_read_uint16 () |
guint32 | fu_common_read_uint32 () |
guint | fu_common_string_replace () |
gboolean fu_common_spawn_sync (const gchar * const *argv
,FuOutputHandler handler_cb
,gpointer handler_user_data
,guint timeout_ms
,GCancellable *cancellable
,GError **error
);
Runs a subprocess and waits for it to exit. Any output on standard out or
standard error will be forwarded to handler_cb
as whole lines.
argv |
The argument list to run |
|
handler_cb |
A FuOutputHandler or |
[scope call] |
handler_user_data |
the user data to pass to |
|
timeout_ms |
a timeout in ms, or 0 for no limit |
|
cancellable |
a GCancellable, or |
|
error |
A GError or |
gchar *
fu_common_get_path (FuPathKind path_kind
);
Gets a fwupd-specific system path. These can be overridden with various
environment variables, for instance FWUPD_DATADIR
.
gchar * fu_common_realpath (const gchar *filename
,GError **error
);
Finds the canonicalized absolute filename for a path.
gboolean fu_common_rmtree (const gchar *directory
,GError **error
);
Recursively removes a directory.
GPtrArray * fu_common_get_files_recursive (const gchar *path
,GError **error
);
Returns every file found under directory
, and any subdirectory.
If any path under directory
cannot be accessed due to permissions an error
will be returned.
gboolean fu_common_mkdir_parent (const gchar *filename
,GError **error
);
Creates any required directories, including any parent directories.
gboolean fu_common_set_contents_bytes (const gchar *filename
,GBytes *bytes
,GError **error
);
Writes a blob of data to a filename, creating the parent directories as required.
GBytes * fu_common_get_contents_bytes (const gchar *filename
,GError **error
);
Reads a blob of data from a file.
GBytes * fu_common_get_contents_fd (gint fd
,gsize count
,GError **error
);
Reads a blob from a specific file descriptor.
Note: this will close the fd when done
gboolean fu_common_extract_archive (GBytes *blob
,const gchar *dir
,GError **error
);
Extracts an achive to a directory.
GBytes * fu_common_firmware_builder (GBytes *bytes
,const gchar *script_fn
,const gchar *output_fn
,GError **error
);
Builds a firmware file using tools from the host session in a bubblewrap jail. Several things happen during build:
The bytes
data is untarred to a temporary location
A bubblewrap container is set up
The startup.sh script is run inside the container
The firmware.bin is extracted from the container
The temporary location is deleted
GError *
fu_common_error_array_get_best (GPtrArray *errors
);
Finds the 'best' error to show the user from a array of errors, creating a completely bespoke error where required.
guint64
fu_common_strtoull (const gchar *str
);
Converts a string value to an integer. Values are assumed base 10, unless prefixed with "0x" where they are parsed as base 16.
gchar * fu_common_find_program_in_path (const gchar *basename
,GError **error
);
gchar *
fu_common_strstrip (const gchar *str
);
Removes leading and trailing whitespace from a constant string.
void fu_common_dump_raw (const gchar *log_domain
,const gchar *title
,const guint8 *data
,gsize len
);
Dumps a raw buffer to the screen.
log_domain |
log domain, typically |
|
title |
prefix title, or |
|
data |
buffer to print |
|
len |
the size of |
Since: 1.2.2
void fu_common_dump_full (const gchar *log_domain
,const gchar *title
,const guint8 *data
,gsize len
,guint columns
,FuDumpFlags flags
);
Dumps a raw buffer to the screen.
log_domain |
log domain, typically |
|
title |
prefix title, or |
|
data |
buffer to print |
|
len |
the size of |
|
columns |
break new lines after this many bytes |
|
flags |
some FuDumpFlags, e.g. |
Since: 1.2.4
void fu_common_dump_bytes (const gchar *log_domain
,const gchar *title
,GBytes *bytes
);
Dumps a byte buffer to the screen.
log_domain |
log domain, typically |
|
title |
prefix title, or |
|
bytes |
a GBytes |
Since: 1.2.2
GBytes * fu_common_bytes_align (GBytes *bytes
,gsize blksz
,gchar padval
);
Aligns a block of memory to blksize
using the padval
value; if
the block is already aligned then the original bytes
is returned.
Since: 1.2.4
gboolean
fu_common_bytes_is_empty (GBytes *bytes
);
Checks if a byte array are just empty (0xff) bytes.
gboolean fu_common_bytes_compare (GBytes *bytes1
,GBytes *bytes2
,GError **error
);
Checks if a byte array are just empty (0xff) bytes.
void fu_common_write_uint16 (guint8 *buf
,guint16 val_native
,FuEndianType endian
);
Writes a value to a buffer using a specified endian.
buf |
A writable buffer |
|
val_native |
a value in host byte-order |
|
endian |
A FuEndianType, e.g. |
void fu_common_write_uint32 (guint8 *buf
,guint32 val_native
,FuEndianType endian
);
Writes a value to a buffer using a specified endian.
buf |
A writable buffer |
|
val_native |
a value in host byte-order |
|
endian |
A FuEndianType, e.g. |
guint16 fu_common_read_uint16 (const guint8 *buf
,FuEndianType endian
);
Read a value from a buffer using a specified endian.
guint32 fu_common_read_uint32 (const guint8 *buf
,FuEndianType endian
);
Read a value from a buffer using a specified endian.
guint fu_common_string_replace (GString *string
,const gchar *search
,const gchar *replace
);
Performs multiple search and replace operations on the given string.
string |
The GString to operate on |
|
search |
The text to search for |
|
replace |
The text to use for substitutions |
Since: 1.2.0
Path types to use when dynamically determining a path at runtime
The cache directory (IE /var/cache/fwupd) |
||
The non-volatile data store (IE /usr/share/fwupd) |
||
The location to store EFI apps before install (IE /usr/libexec/fwupd/efi) |
||
The local state directory (IE /var) |
||
The local state directory for the package (IE /var/lib/fwupd) |
||
The location to look for plugins for package (IE /usr/lib/[triplet]/fwupd-plugins-3) |
||
The configuration location (IE /etc) |
||
The package configuration location (IE /etc/fwupd) |
||
The sysfs firmware location (IE /sys/firmware) |
||
The platform sysfs directory (IE /sys/bus/platform/drivers) |
||
The TPM sysfs directory (IE /sys/class/tpm) |