NAME

XGetDeviceProperty, XChangeDeviceProperty, XDeleteDeviceProperty - Get, change or delete a device's property.

SYNTAX



<> <> ##iinncclluuddee <> <> int XGetDeviceProperty(Display *display, XDevice *device, Atom property, long offset, long length, Bool delete, Bool pending, Atom req_type, Atom *actual_type_return, int *actual_format_return, unsigned long *nitems_return, unsigned long *bytes_after_return, unsigned char **prop_return); void XChangeDeviceProperty(Display *display, XDevice *device, Atom property, Atom type, int format, int mode, const char *data, int nelements); void XDeleteDeviceProperty(Display *display, XDevice *device, Atom property);

ARGUMENTS

_a_c_t_u_a_l___t_y_p_e___r_e_t_u_r_n Returns an atom identifier that defines the actual type of the property.

_a_c_t_u_a_l___f_o_r_m_a_t___r_e_t_u_r_n Returns the actual format of the property.

_b_y_t_e_s___a_f_t_e_r___r_e_t_u_r_n Returns the number of bytes remaining to be read in the property if a partial read was performed.

_d_a_t_a Specifies the property data.

_d_e_l_e_t_e Specifies a Boolean value that determines wether the property is deleted.

_d_i_s_p_l_a_y Specifies the connection to the X server.

_d_e_v_i_c_e The device to grab.

_f_o_r_m_a_t Specifies whether the data should be viewed as a list of 8-bit, 16-bit, or 32-bit quantities. Possible values are 8, 16, and 32. This information allows the X server to correctly perform byte-swap operations as necessary. If the format is 16-bit or 32-bit, you must explicitly cast the data pointer to an (unsigned char*) in the call to XXCChhaannggeeDDeevviicceePPrrooppeerrttyy.

_l_e_n_g_t_h Specifies the length in 32-bit multiplies of the data to be retrieved.

_m_o_d_e Specifies the mode of operation. You can pass PPrrooppMMooddeeRReeppllaaccee, PPrrooppMMooddeePPrreeppeenndd, or PPrrooppMMooddeeAAppppeenndd.

_n_e_l_e_m_e_n_t_s Specifies the number of elements in data.

_n_i_t_e_m_s___r_e_t_u_r_n Returns the actual number of 8-bit, 16-bit, or 32-bit items stored in the prop_return array.

_n_u_m___v_a_l_u_e_s Specifies the number of elements in the values list.

_o_f_f_s_e_t Specifies the offset in the specified property (in 32-bit quantities) where the data is to be retrieved.

_p_e_n_d_i_n_g Specifies whether to retrieve the pending state of the property or the current state.

_p_r_o_p_e_r_t_y Specifies the property to modify or query.

_p_r_o_p___r_e_t_u_r_n Returns the data in the specified format. If the returned format is 8, the returned data is represented as a char array. If the returned format is 16, the returned data is represented as an array of short int type and should be cast to that type to obtain the elements. If the returned format is 32, the property data will be stored as an array of longs (which in a 64-bit application will be 64-bit values that are padded in the upper 4 bytes).

_r_e_q___t_y_p_e Specifies the atom identifier associated with the property type or AAnnyyPPrrooppeerrttyyTTyyppee.

DESCRIPTION

The XXGGeettDDeevviicceePPrrooppeerrttyy function returns the actual type of the property; the actual format of the property; the number of 8-bit, 16-bit, or 32-bit items transferred; the number of bytes remaining to be read in the property; and a pointer to the data actually returned. For a detailed description of this function, see the man page to XXGGeettWWiinnddoowwPPrrooppeerrttyy.

The XXCChhaannggeeDDeevviicceePPrrooppeerrttyy function alters the property for the specified device and causes the server to generate a XXPPrrooppeerrttyyNNoottiiffyyEEvveenntt event on that device. For a detailed description of this function, see the man page to XXCChhaannggeePPrrooppeerrttyy.

The XXDDeelleetteeDDeevviicceePPrrooppeerrttyy function deletes the specified device property. Note that a client cannot delete a property created by a driver or the server. Attempting to do so will result in a BadAtom error.

XXGGeettDDeevviicceePPrrooppeerrttyy can generate a BadAtom, BadDevice error.

XXCChhaannggeeDDeevviicceePPrrooppeerrttyy can generate a BadDevice, a BadMatch, a BadAtom, and a BadValue error.

XXDDeelleetteeDDeevviicceePPrrooppeerrttyy can generate a BadDevice, and a BadAtom error.

DIAGNOSIS

BadAtom A value does not describe a valid named identifier or the client attempted to remove a driver-allocated property.

BadDevice An invalid device was specified. The device does not exist.

SEE ALSO

XXLLiissttDDeevviicceePPrrooppeerrttiieess, XXQQuueerryyDDeevviicceePPrrooppeerrttyy, XXCCoonnffiigguurreeDDeevviicceePPrrooppeerrttyy.

AUTHOR

PPeetteerr HHuutttteerreerr

Specification and implementation.