Top |
int
scols_column_get_data_type (const struct libscols_column *cl
);
Since: 2.40
struct libscols_cell *
scols_column_get_header (struct libscols_column *cl
);
int
scols_column_get_json_type (const struct libscols_column *cl
);
Note that SCOLS_JSON_BOOLEAN interprets NULL, empty strings, '0', 'N' and 'n' as "false"; and everything else as "true".
Since: 2.33
const char *
scols_column_get_name (struct libscols_column *cl
);
Since: 2.38
const char *
scols_column_get_name_as_shellvar (struct libscols_column *cl
);
Like scols_column_get_name()
, but column name is modified to be compatible with shells
requirements for variable names.
Since: 2.38
const char *
scols_column_get_safechars (const struct libscols_column *cl
);
Since: 2.29
struct libscols_table *
scols_column_get_table (const struct libscols_column *cl
);
size_t
scols_column_get_width (const struct libscols_column *cl
);
Important note: the column width is unknown until library starts printing
(width is calculated before printing). The function is usable for example in
nextchunk()
callback specified by scols_column_set_wrapfunc()
.
See also scols_column_get_whint()
, it returns wanted size (!= final size).
Since: 2.29
int scols_column_get_wrap_data (const struct libscols_column *cl
,char **data
,size_t *datasiz
,char **cur
,char **next
);
This function returns the current status of wrapping cell data (for multi-line cells).
cl |
column |
|
data |
return wrap data |
|
datasiz |
return wrap buffer size |
|
cur |
the current pozition in the buffer |
|
next |
the next pozition |
Since: 2.40
int
scols_column_has_data_func (struct libscols_column *cl
);
See scols_column_set_data_func()
for more details.
Since: 2.40
int
scols_column_is_customwrap (const struct libscols_column *cl
);
Since: 2.29
int
scols_column_is_hidden (const struct libscols_column *cl
);
Gets the value of cl
's flag hidden.
Since: 2.27
int
scols_column_is_noextremes (const struct libscols_column *cl
);
Gets the value of cl
's flag no_extremes.
int
scols_column_is_right (const struct libscols_column *cl
);
Gets the value of cl
's flag right.
int
scols_column_is_strict_width (const struct libscols_column *cl
);
Gets the value of cl
's flag strict_width.
int
scols_column_is_tree (const struct libscols_column *cl
);
Gets the value of cl
's flag tree.
int
scols_column_is_trunc (const struct libscols_column *cl
);
Gets the value of cl
's flag trunc.
int
scols_column_is_wrap (const struct libscols_column *cl
);
Gets the value of cl
's flag wrap.
Since: 2.28
int scols_column_set_cmpfunc (struct libscols_column *cl
,int (*cmp) (struct libscols_cell *a, struct libscols_cell *b, void *)
,void *data
);
int scols_column_set_color (struct libscols_column *cl
,const char *color
);
The default color for data cells and column header.
If you want to set header specific color then use scols_column_get_header()
and scols_cell_set_color()
.
If you want to set data cell specific color the use scols_line_get_cell()
+
scols_cell_set_color()
.
int scols_column_set_data_func (struct libscols_column *cl
,void* (*datafunc) (const struct libscols_column *, struct libscols_cell *, void *)
,void *userdata
);
int scols_column_set_data_type (struct libscols_column *cl
,int type
);
The table always keep data in strings in form that is printed on output, but for some internal operations (like filters or counters) it needs to convert the strings to usable data format. This data format is possible to specify, by this function. If the format is not specified then filter and counters try to use SCOLS_JSON_* types, if also not define than defaults to string.
If a simple string conversion is not possible then application (which want
to use filters and counters) needs to define data function to do the
conversion. See scols_column_set_data_func()
.
Since: 2.40
int scols_column_set_flags (struct libscols_column *cl
,int flags
);
Sets the flags of cl
to flags
.
int scols_column_set_json_type (struct libscols_column *cl
,int type
);
Sets the type used for JSON formatting, the default is SCOLS_JSON_STRING.
Since: 2.33
int scols_column_set_name (struct libscols_column *cl
,const char *name
);
Since: 2.38
int scols_column_set_properties (struct libscols_column *cl
,const char *opts
);
Set properties from string, the string is comma seprated list, like "trunc,right,json=number", ...
Since: 2.39
int scols_column_set_safechars (struct libscols_column *cl
,const char *safe
);
Use for bytes you don't want to encode on output. This is for example necessary if you want to use custom wrap function based on \n, in this case you have to set "\n" as a safe char.
Since: 2.29
int scols_column_set_whint (struct libscols_column *cl
,double whint
);
Sets the width hint of column cl
to whint
. See scols_table_new_column()
.
int scols_column_set_wrapfunc (struct libscols_column *cl
,size_t (*wrap_chunksize) (const struct libscols_column *, const char *, void *)
,char* (*wrap_nextchunk) (const struct libscols_column *, char *, void *)
,void *userdata
);
Extends SCOLS_FL_WRAP and can be used to set custom wrap function. The default is to wrap by column size, but you can create functions to wrap for example after \n or after words, etc.
Note that since 2.40 the wrap_chunksize
is unnecessary. The library calculates
the size itself.
The wrap functions do not work directly with cell data, but with buffer used
by library to compose output data. The wrap_nextchunk()
function can access
additional details about wrap data by scols_column_get_wrap_data()
.
cl |
a pointer to a struct libscols_column instance |
|
wrap_chunksize |
function to return size of the largest chink of data (deprecated) |
|
wrap_nextchunk |
function to return next zero terminated data |
|
userdata |
optional stuff for callbacks |
Since: 2.29
struct libscols_column *
scols_copy_column (const struct libscols_column *cl
);
Creates a new column and copies cl
's data over to it.
struct libscols_column *
scols_new_column (void
);
Allocates space for a new column.
void
scols_ref_column (struct libscols_column *cl
);
Increases the refcount of cl
.
void
scols_unref_column (struct libscols_column *cl
);
Decreases the refcount of cl
. When the count falls to zero, the instance
is automatically deallocated.
int scols_shellvar_name (const char *name
,char **buf
,size_t *bufsz
);
Converts name
to a name compatible with shell. The buffer is reallocated if
not large enough.
Since: 2.40
size_t scols_wrapnl_chunksize (const struct libscols_column *cl
,const char *data
,void *userdata
);
Analyzes data
and returns size of the largest chunk. The chunks are based
on \n. For example for data "AAA\nBBB\nCCCC" the largest chunk size is 4.
Note that the size has to be based on number of terminal cells rather than bytes to support multu-byte output.
Deprecated since 2.40.
cl |
a pointer to a struct libscols_column instance |
|
data |
string |
|
userdata |
callback private data |
Since: 2.29
char * scols_wrapnl_nextchunk (const struct libscols_column *cl
,char *data
,void *userdata
);
This is built-in function for scols_column_set_wrapfunc()
. This function
terminates the current chunk by \0 and returns pointer to the begin of
the next chunk. The chunks are based on \n.
For example for data "AAA\nBBB\nCCC" the next chunk is "BBB".
cl |
a pointer to a struct libscols_column instance |
|
data |
string |
|
userdata |
callback private data |
Since: 2.29
char * scols_wrapzero_nextchunk (const struct libscols_column *cl
,char *data
,void *userdata
);
This is built-in function for scols_column_set_wrapfunc()
. This function
walk string separated by \0.
For example for data "AAA\0BBB\0CCC\0" the next chunk is "BBB".
cl |
a pointer to a struct libscols_column instance |
|
data |
string |
|
userdata |
callback private data |
Since: 2.40