r5603: add "authservice()" property to the interface property list
[samba.git] / source4 / librpc / rpc / dcerpc.h
index f5ed637d0b8126892b7a17861685c17f2013b577..db7b76a7796fd1891fb70e9608144d608287a7ff 100644 (file)
@@ -119,17 +119,24 @@ struct dcerpc_pipe {
 #define DCERPC_SCHANNEL_ANY            (DCERPC_SCHANNEL_BDC| \
                                        DCERPC_SCHANNEL_DOMAIN| \
                                        DCERPC_SCHANNEL_WORKSTATION)
+
 /* use a 128 bit session key */
 #define DCERPC_SCHANNEL_128            (1<<12)
 
-#define DCERPC_AUTH_OPTIONS    (DCERPC_SEAL|DCERPC_SIGN|DCERPC_SCHANNEL_ANY)
-
 /* check incoming pad bytes */
 #define DCERPC_DEBUG_PAD_CHECK         (1<<13)
 
 /* set LIBNDR_FLAG_REF_ALLOC flag when decoding NDR */
 #define DCERPC_NDR_REF_ALLOC           (1<<14)
 
+#define DCERPC_AUTH_OPTIONS    (DCERPC_SEAL|DCERPC_SIGN|DCERPC_SCHANNEL_ANY|DCERPC_AUTH_SPNEGO|DCERPC_AUTH_KRB5)
+
+/* enable spnego auth */
+#define DCERPC_AUTH_SPNEGO             (1<<15)
+
+/* enable krb5 auth */
+#define DCERPC_AUTH_KRB5               (1<<16)
+
 /*
   this is used to find pointers to calls
 */
@@ -146,6 +153,11 @@ struct dcerpc_endpoint_list {
        const char * const *names;
 };
 
+struct dcerpc_authservice_list {
+       uint32_t count;
+       const char * const *names;
+};
+
 struct dcerpc_interface_table {
        const char *name;
        const char *uuid;
@@ -154,6 +166,7 @@ struct dcerpc_interface_table {
        uint32_t num_calls;
        const struct dcerpc_interface_call *calls;
        const struct dcerpc_endpoint_list *endpoints;
+       const struct dcerpc_authservice_list *authservices;
 };
 
 struct dcerpc_interface_list {
@@ -161,16 +174,14 @@ struct dcerpc_interface_list {
        const struct dcerpc_interface_table *table;
 };
 
-extern struct dcerpc_interface_list *dcerpc_pipes;
-
-
 /* this describes a binding to a particular transport/pipe */
 struct dcerpc_binding {
        enum dcerpc_transport_t transport;
        struct GUID object;
-       int object_version;
+       uint16_t object_version;
        const char *host;
        const char *endpoint;
+       const char *authservice;
        const char **options;
        uint32_t flags;
 };