b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/************************************************************
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncAuthor: Eamon Walsh <ewalsh@tycho.nsa.gov>
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncPermission to use, copy, modify, distribute, and sell this software and its
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncdocumentation for any purpose is hereby granted without fee, provided that
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncthis permission notice appear in supporting documentation. This permission
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncnotice shall be included in all copies or substantial portions of the
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncAUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync********************************************************/
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* subject state (clients and devices only) */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* object state */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsynctypedef struct {
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * Label functions
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSELinuxAtomToSID(Atom atom, int prop, SELinuxObjectRec **obj_rtn);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSELinuxSelectionToSID(Atom selection, SELinuxSubjectRec *subj,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSELinuxPropertyToSID(Atom property, SELinuxSubjectRec *subj,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSELinuxEventToSID(unsigned type, security_id_t sid_of_window,
b9a21c3c91c47e090316e28d759194e46628ed49vboxsyncSELinuxExtensionToSID(const char *name, security_id_t *sid_rtn);
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * Security module functions
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync * Private Flask definitions
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Security class constants */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* Mapping from DixAccess bits to Flask permissions */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_drawable",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_screen",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_font",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_colormap",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_property",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_selection",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_cursor",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_client",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_pointer",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_keyboard",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_server",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_extension",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_event",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_synthetic_event",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync { "x_resource",
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync/* x_resource "read" bits from the list above */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#define SELinuxReadMask (DixReadAccess|DixGetAttrAccess|DixListPropAccess| \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync DixGetPropAccess|DixGetFocusAccess|DixListAccess| \
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* _XSELINUX_NEED_FLASK_MAP */
b9a21c3c91c47e090316e28d759194e46628ed49vboxsync#endif /* _XSELINUXINT_H */