1d012387afef0ba02185ebe27bc6bb15551912e92Havoc Pennington/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ 25c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington/* dbus-marshal-validate.h Validation routines for marshaled data 35c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * 45c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * Copyright (C) 2005 Red Hat, Inc. 55c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * 65c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * Licensed under the Academic Free License version 2.1 75c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * 85c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * This program is free software; you can redistribute it and/or modify 95c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * it under the terms of the GNU General Public License as published by 105c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * the Free Software Foundation; either version 2 of the License, or 115c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * (at your option) any later version. 125c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * 135c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * This program is distributed in the hope that it will be useful, 145c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * but WITHOUT ANY WARRANTY; without even the implied warranty of 155c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 165c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * GNU General Public License for more details. 175c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * 185c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * You should have received a copy of the GNU General Public License 195c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * along with this program; if not, write to the Free Software 205baf2f856a9c6625993234855b07680da1c8916fTobias Mueller * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 215c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington * 225c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington */ 235c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington 245c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington#ifndef DBUS_MARSHAL_VALIDATE_H 255c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington#define DBUS_MARSHAL_VALIDATE_H 265c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington 279c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington/** 28e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington * @addtogroup DBusMarshal 29e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington * 30e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington * @{ 31e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington */ 32e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington 33e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington/** 34606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington * This is used rather than a bool for high visibility 35606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington */ 36606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Penningtontypedef enum 37606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington{ 38606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington DBUS_VALIDATION_MODE_WE_TRUST_THIS_DATA_ABSOLUTELY, 39606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington DBUS_VALIDATION_MODE_DATA_IS_UNTRUSTED 40606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington} DBusValidationMode; 41606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington 42606eb2106b3d7f5cd36a4f1786d281b771bb1bf7Havoc Pennington/** 439c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington * This is primarily used in unit testing, so we can verify that each 449c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington * invalid message is invalid for the expected reasons. Thus we really 459c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington * want a distinct enum value for every codepath leaving the validator 469c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington * functions. Enum values are specified manually for ease of debugging 479c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington * (so you can see the enum value given a printf) 489c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington */ 499c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtontypedef enum 509c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington{ 515e389fdf499c39926c61b47fcafb5e71291ce1a2John (J#define _DBUS_NEGATIVE_VALIDITY_COUNT 4 52e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4, /**< can't determine validity due to OOM */ 539d21554dd3b560952cd5aa607c4ec07898c0b260Havoc Pennington DBUS_INVALID_FOR_UNKNOWN_REASON = -3, 549d21554dd3b560952cd5aa607c4ec07898c0b260Havoc Pennington DBUS_VALID_BUT_INCOMPLETE = -2, 559d21554dd3b560952cd5aa607c4ec07898c0b260Havoc Pennington DBUS_VALIDITY_UNKNOWN = -1, 56e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington DBUS_VALID = 0, /**< the data is valid */ 579c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_UNKNOWN_TYPECODE = 1, 589c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_MISSING_ARRAY_ELEMENT_TYPE = 2, 5996a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_SIGNATURE_TOO_LONG = 3, /* this one is impossible right now since 6096a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington * you can't put a too-long value in a byte 6196a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington */ 629c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_EXCEEDED_MAXIMUM_ARRAY_RECURSION = 4, 639c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_EXCEEDED_MAXIMUM_STRUCT_RECURSION = 5, 649c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_STRUCT_ENDED_BUT_NOT_STARTED = 6, 659c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_STRUCT_STARTED_BUT_NOT_ENDED = 7, 669c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_STRUCT_HAS_NO_FIELDS = 8, 679c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_ALIGNMENT_PADDING_NOT_NUL = 9, 689c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BOOLEAN_NOT_ZERO_OR_ONE = 10, 699c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_NOT_ENOUGH_DATA = 11, 70e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington DBUS_INVALID_TOO_MUCH_DATA = 12, /**< trailing junk makes it invalid */ 719c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_BYTE_ORDER = 13, 729c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_PROTOCOL_VERSION = 14, 739c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_MESSAGE_TYPE = 15, 749c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_SERIAL = 16, 759c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_INSANE_FIELDS_ARRAY_LENGTH = 17, 769c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_INSANE_BODY_LENGTH = 18, 779c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_MESSAGE_TOO_LONG = 19, 789c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_HEADER_FIELD_CODE = 20, 799c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_HEADER_FIELD_HAS_WRONG_TYPE = 21, 809c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_USES_LOCAL_INTERFACE = 22, 819c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_USES_LOCAL_PATH = 23, 829c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_HEADER_FIELD_APPEARS_TWICE = 24, 839c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_DESTINATION = 25, 849c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_INTERFACE = 26, 859c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_MEMBER = 27, 869c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_ERROR_NAME = 28, 879c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_BAD_SENDER = 29, 889c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_MISSING_PATH = 30, 899c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_MISSING_INTERFACE = 31, 909c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_MISSING_MEMBER = 32, 919c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_MISSING_ERROR_NAME = 33, 929c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBUS_INVALID_MISSING_REPLY_SERIAL = 34, 9396a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_LENGTH_OUT_OF_BOUNDS = 35, 9496a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_ARRAY_LENGTH_EXCEEDS_MAXIMUM = 36, 9596a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_BAD_PATH = 37, 9696a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_SIGNATURE_LENGTH_OUT_OF_BOUNDS = 38, 9796a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_BAD_UTF8_IN_STRING = 39, 9896a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_ARRAY_LENGTH_INCORRECT = 40, 9996a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_VARIANT_SIGNATURE_LENGTH_OUT_OF_BOUNDS = 41, 10096a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_VARIANT_SIGNATURE_BAD = 42, 10196a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_VARIANT_SIGNATURE_EMPTY = 43, 10296a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_VARIANT_SIGNATURE_SPECIFIES_MULTIPLE_VALUES = 44, 10396a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_VARIANT_SIGNATURE_MISSING_NUL = 45, 10496a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_STRING_MISSING_NUL = 46, 10596a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_SIGNATURE_MISSING_NUL = 47, 10696a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_EXCEEDED_MAXIMUM_DICT_ENTRY_RECURSION = 48, 10796a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_DICT_ENTRY_ENDED_BUT_NOT_STARTED = 49, 10896a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_DICT_ENTRY_STARTED_BUT_NOT_ENDED = 50, 10996a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_DICT_ENTRY_HAS_NO_FIELDS = 51, 11096a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_DICT_ENTRY_HAS_ONLY_ONE_FIELD = 52, 11196a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_DICT_ENTRY_HAS_TOO_MANY_FIELDS = 53, 11296a47516321dea8c08e1ab15ac0102ce3c3ae3f1Havoc Pennington DBUS_INVALID_DICT_ENTRY_NOT_INSIDE_ARRAY = 54, 11371f3b461b371d6bf7c7bc4e92578420b78d5c0d8Havoc Pennington DBUS_INVALID_DICT_KEY_MUST_BE_BASIC_TYPE = 55, 114a0cc21f8bb6752ffe0ee5f4f5b575dc50d6d46aeLennart Poettering DBUS_INVALID_MISSING_UNIX_FDS = 56, 115c11401949f29a97414887a01f0d3e6e8fe60ba40Havoc Pennington DBUS_INVALID_NESTED_TOO_DEEPLY = 57, 1168f04e1e01f51fa9bef564dbaf29be59694407d21Havoc Pennington DBUS_VALIDITY_LAST 1179c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington} DBusValidity; 1189c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 1199c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc PenningtonDBusValidity _dbus_validate_signature_with_reason (const DBusString *type_str, 1209c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int type_pos, 1219c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1229c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc PenningtonDBusValidity _dbus_validate_body_with_reason (const DBusString *expected_signature, 1239c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int expected_signature_start, 1249c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int byte_order, 1259c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int *bytes_remaining, 1269c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington const DBusString *value_str, 1279c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int value_pos, 1289c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1299c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 130099b5e59ea84d72bfe29a17e0934f6b2f492ddf3Federico Mena Quinteroconst char *_dbus_validity_to_error_message (DBusValidity validity); 131099b5e59ea84d72bfe29a17e0934f6b2f492ddf3Federico Mena Quintero 1329c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtondbus_bool_t _dbus_validate_path (const DBusString *str, 1339c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int start, 1349c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1359c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtondbus_bool_t _dbus_validate_interface (const DBusString *str, 1369c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int start, 1379c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1389c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtondbus_bool_t _dbus_validate_member (const DBusString *str, 1399c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int start, 1409c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1419c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtondbus_bool_t _dbus_validate_error_name (const DBusString *str, 1429c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int start, 1439c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1448873c90f99303f9cc308f15f8d03e637911f5b9eHavoc Penningtondbus_bool_t _dbus_validate_bus_name (const DBusString *str, 1459c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int start, 1469c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1479c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtondbus_bool_t _dbus_validate_signature (const DBusString *str, 1489c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int start, 1499c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington int len); 1509c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 1519c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington#ifdef DBUS_DISABLE_CHECKS 1529c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 1539c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington/* Be sure they don't exist, since we don't want to use them outside of checks 1549c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington * and so we want the compile failure. 1559c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington */ 1569c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington#define DECLARE_DBUS_NAME_CHECK(what) 1579c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington#define DEFINE_DBUS_NAME_CHECK(what) 1589c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 1599c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington#else /* !DBUS_DISABLE_CHECKS */ 1609c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 16131988af4089f3793940417535f8eabaae1ac26c8Havoc Pennington/** A name check is used in _dbus_return_if_fail(), it's not suitable 162fed8880c6f718b9f06e589d1769494a47b395c0dHavoc Pennington * for validating untrusted data. use _dbus_validate_whatever for that. 1639c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington */ 1649c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington#define DECLARE_DBUS_NAME_CHECK(what) \ 1659c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtondbus_bool_t _dbus_check_is_valid_##what (const char *name) 1669c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 16731988af4089f3793940417535f8eabaae1ac26c8Havoc Pennington/** Define a name check to be used in _dbus_return_if_fail() statements. 16831988af4089f3793940417535f8eabaae1ac26c8Havoc Pennington */ 1699c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington#define DEFINE_DBUS_NAME_CHECK(what) \ 1709c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Penningtondbus_bool_t \ 1719c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington_dbus_check_is_valid_##what (const char *name) \ 1729c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington{ \ 1739c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington DBusString str; \ 1749c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington \ 1759c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington if (name == NULL) \ 1769c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington return FALSE; \ 1779c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington \ 1789c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington _dbus_string_init_const (&str, name); \ 1799c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington return _dbus_validate_##what (&str, 0, \ 1809c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington _dbus_string_get_length (&str)); \ 1819c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington} 1829c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington#endif /* !DBUS_DISABLE_CHECKS */ 1839c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc Pennington 184bf172ce4c5856af21f5ee208960bf718a5058ad9Havoc Pennington/** defines _dbus_check_is_valid_path() */ 1859c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc PenningtonDECLARE_DBUS_NAME_CHECK(path); 186bf172ce4c5856af21f5ee208960bf718a5058ad9Havoc Pennington/** defines _dbus_check_is_valid_interface() */ 1879c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc PenningtonDECLARE_DBUS_NAME_CHECK(interface); 188bf172ce4c5856af21f5ee208960bf718a5058ad9Havoc Pennington/** defines _dbus_check_is_valid_member() */ 1899c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc PenningtonDECLARE_DBUS_NAME_CHECK(member); 190bf172ce4c5856af21f5ee208960bf718a5058ad9Havoc Pennington/** defines _dbus_check_is_valid_error_name() */ 1919c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc PenningtonDECLARE_DBUS_NAME_CHECK(error_name); 192bf172ce4c5856af21f5ee208960bf718a5058ad9Havoc Pennington/** defines _dbus_check_is_valid_bus_name() */ 1938873c90f99303f9cc308f15f8d03e637911f5b9eHavoc PenningtonDECLARE_DBUS_NAME_CHECK(bus_name); 194bf172ce4c5856af21f5ee208960bf718a5058ad9Havoc Pennington/** defines _dbus_check_is_valid_signature() */ 1959c3d566e95c9080f6040c64531b0ccae22bd5d74Havoc PenningtonDECLARE_DBUS_NAME_CHECK(signature); 1965c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington 197e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington/** @} */ 198e19ebac55d671ecd92877af182300311afa7641aHavoc Pennington 1995c486a24e50ef731b8f970060ab10e928cd0e7cdHavoc Pennington#endif /* DBUS_MARSHAL_VALIDATE_H */ 200