| libxfce4mcs Reference Manual |
|---|
mcs-commonmcs-common — common MCS utility functions and types |
McsBuffer;
McsColor;
McsList;
McsChannel;
McsChannelList;
McsSetting;
enum McsType;
enum McsResult;
enum McsManagerCheck;
McsManagerCheck mcs_manager_check_running (Display *display,
int screen);
McsSetting* mcs_setting_copy (McsSetting *setting);
void mcs_setting_free (McsSetting *setting);
int mcs_setting_equal (McsSetting *setting_a,
McsSetting *setting_b);
void mcs_list_free (McsList *list);
McsList* mcs_list_copy (McsList *list);
McsResult mcs_list_insert (McsList **list,
McsSetting *setting);
McsSetting* mcs_list_lookup (McsList *list,
const gchar *name);
McsResult mcs_list_delete (McsList **list,
const gchar *name);
gchar mcs_byte_order (void);
#define MCS_PAD (n,m)
typedef struct {
gchar byte_order;
size_t len;
guchar *data;
guchar *pos;
} McsBuffer;
A data storage buffer.
gchar byte_order; |
The btye ordering of data in the buffer. |
size_t len; |
The length of data in the buffer. |
guchar *data; |
A pointer to the data in the buffer. |
guchar *pos; |
FIXME |
typedef struct {
guint16 red, green, blue, alpha;
} McsColor;
A structure representing a color value.
guint16 red; |
The color's red component. |
guint16 green; |
The color's green component. |
guint16 blue; |
The color's blue component. |
guint16 alpha; |
The color's alpha (transparency) value. |
typedef struct {
McsSetting *setting;
McsList *next;
} McsList;
A singly-linked list structure containing McsSetting structs.
McsSetting *setting; |
The McsSetting in this list node. |
McsList *next; |
A pointer to the next node in the list. |
typedef struct {
gchar *channel_name;
Atom channel_atom;
McsList *settings;
gboolean raw;
int ref_count;
} McsChannel;
A representation of a settings channel.
gchar *channel_name; |
The name of the channel. |
Atom channel_atom; |
FIXME |
McsList *settings; |
A list of settings in the channel. |
gboolean raw; |
|
int ref_count; |
A reference count. |
typedef struct {
McsChannel *channel;
McsChannelList *next;
} McsChannelList;
A singly-linked list structure containing McsChannel structs.
McsChannel *channel; |
The McsChannel in this list node. |
McsChannelList *next; |
A pointer to the next node in the list. |
typedef struct {
gchar *name;
gchar *channel_name;
McsType type;
union
{
int v_int;
gchar *v_string;
McsColor v_color;
} McsSetting;
A structure representing a setting controlled by the MCS manager.
typedef enum
{
MCS_TYPE_INT = 0,
MCS_TYPE_STRING = 1,
MCS_TYPE_COLOR = 2
}
McsType;
An enumerated type for MCS settings types.
MCS_TYPE_INT |
The setting is an integer value. |
MCS_TYPE_STRING |
The setting is a string value. |
MCS_TYPE_COLOR |
The setting is an McsColor value. |
typedef enum
{
MCS_SUCCESS,
MCS_NO_MEM,
MCS_ACCESS,
MCS_FAILED,
MCS_NO_ENTRY,
MCS_DUPLICATE_ENTRY,
MCS_NO_CHANNEL
}
McsResult;
An enumerated type for detailing error conditions from MCS functions.
MCS_SUCCESS |
The command commpleted successfully. |
MCS_NO_MEM |
The command failed due to an out-of-memory condition. |
MCS_ACCESS |
The command failed because you do not have the proper access privileges. |
MCS_FAILED |
The command failed for an unknown or generic reason. |
MCS_NO_ENTRY |
The command failed because no entry was found matching what you specified. |
MCS_DUPLICATE_ENTRY |
The command failed because an entry of that name already exists. |
MCS_NO_CHANNEL |
The command failed because the channel specified does not exist. |
typedef enum
{
MCS_MANAGER_NONE,
MCS_MANAGER_STD,
MCS_MANAGER_MULTI_CHANNEL,
MCS_MANAGER_BOTH
}
McsManagerCheck;
An enumerated type detailing what kind of MCS manager is running.
MCS_MANAGER_NONE |
No MCS manager is running. |
MCS_MANAGER_STD |
A standard MCS manager is running. |
MCS_MANAGER_MULTI_CHANNEL |
A multi-channel MCS manager is running. |
MCS_MANAGER_BOTH |
An MCS manager that supports both single- and multi-channel access is running. |
McsManagerCheck mcs_manager_check_running (Display *display, int screen);
Checks to see if there is an MCS manager running on display and screen.
display : |
The X display on which the MCS manager may be running. |
screen : |
The X screen on which the MCS manager may be running. |
| Returns : | An McsManagerCheck value describing what kind of MCS manager (if any) is running. |
McsSetting* mcs_setting_copy (McsSetting *setting);
Makes a copy of setting. You should free the result with mcs_setting_free()
when it is no longer needed.
setting : |
An existing McsSetting. |
| Returns : | A new McsSetting, initialised to the value of setting.
|
void mcs_setting_free (McsSetting *setting);
Frees all resources associated with setting.
setting : |
An McsSetting. |
int mcs_setting_equal (McsSetting *setting_a, McsSetting *setting_b);
Checks to see if setting_a and setting_b represent the same setting
data.
setting_a : |
An McsSetting. |
setting_b : |
An McsSetting. |
| Returns : | 1 if the two settings are the same, 0 otherwise.
|
void mcs_list_free (McsList *list);
Frees all memory associated with list.
list : |
An McsList. |
McsList* mcs_list_copy (McsList *list);
Makes a copy of list. You should free the result with mcs_list_free() when
it is no longer needed.
McsResult mcs_list_insert (McsList **list, McsSetting *setting);
Inserts setting into list, updating the list pointer if necessary.
list : |
A pointer to an existing McsList. |
setting : |
An McsSetting to insert into the list. |
| Returns : | MCS_SUCCESS if the item was successfully inserted.
|
McsSetting* mcs_list_lookup (McsList *list, const gchar *name);
Looks for a setting with name name in the McsList.
list : |
An McsList. |
name : |
The name of a setting. |
| Returns : | The corresponding McsSetting, or NULL if the setting was not
found.
|
McsResult mcs_list_delete (McsList **list, const gchar *name);
Deletes the McsSetting with name name from list, adjusting the list
pointer if necessary.
list : |
A pointer to an existing McsList. |
name : |
The name of the item to delete. |
| Returns : | MCS_SUCCESS on success.
|
gchar mcs_byte_order (void);
Gets the byte ordering for this system.
| Returns : | Either LSBFirst or MSBFirst.
|
| << mcs-client | mcs-manager >> |