using #defines for function prototypes
authorLuke Leighton <lkcl@samba.org>
Fri, 29 Oct 1999 18:57:22 +0000 (18:57 +0000)
committerLuke Leighton <lkcl@samba.org>
Fri, 29 Oct 1999 18:57:22 +0000 (18:57 +0000)
(This used to be commit 4a44cccf4401e0ce01303459011ac64805c53561)

source3/include/ntdomain.h
source3/include/proto.h
source3/rpcclient/cmd_samr.c

index 110901ec3eff73fce11d41dc94489a2c38648095..87a438841b564071e07562b952b455cae9ad99f2 100644 (file)
@@ -146,5 +146,13 @@ struct acct_info
     uint32  rid; /* domain-relative RID */
 };
 
+/*
+ * higher order functions for use with msrpc client code
+ */
+
+#define GROUP_FN(fn) void (*fn)(char*, DOM_SID*, uint32, char*)
+#define GROUP_INFO_FN(fn) void (*fn)(char*, DOM_SID*, uint32, GROUP_INFO_CTR *)
+#define GROUP_MEM_FN(fn) void(*fn)(char*, DOM_SID*, uint32, char*, uint32, uint32*, char**, uint32*)
+
 #endif /* _NT_DOMAIN_H */
 
index 82984e8f9222ae48a3263d6f102a9aa8c3ef56c4..5a47265ad1e9f8d928142bbf4a4d72605136c28c 100644 (file)
@@ -3252,9 +3252,9 @@ BOOL sam_query_groupmem(struct cli_state *cli, uint16 fnum,
 uint32 msrpc_sam_enum_groups(struct client_info *info,
                                struct acct_info **sam,
                                uint32 *num_sam_entries,
-                               void (*grp_fn)(char*, DOM_SID*, uint32, char*),
-                               void (*grp_inf_fn)(char*, DOM_SID*, uint32, GROUP_INFO_CTR *),
-                               void(*grp_mem_fn)(char*, DOM_SID*, uint32, char*, uint32, uint32*, char**, uint32*));
+                               GROUP_FN(grp_fn),
+                               GROUP_INFO_FN(grp_inf_fn),
+                               GROUP_MEM_FN(grp_mem_fn));
 void cmd_sam_enum_groups(struct client_info *info);
 
 /*The following definitions come from  rpcclient/cmd_srvsvc.c  */
index 9d80c4fa53af400540ae4699c7ab1c065e2535a4..05d4b137379867a5715baeff730e6f88b863c0ff 100644 (file)
@@ -2088,25 +2088,6 @@ static void sam_display_group_info(char *domain, DOM_SID *sid,
        display_group_info_ctr(out_hnd, ACTION_FOOTER   , ctr);
 }
 
-static void query_groupinfo(struct cli_state *cli, uint16 fnum,
-                               POLICY_HND *pol_dom,
-                               char *domain,
-                               DOM_SID *sid,
-                               uint32 group_rid,
-                               void (*grp_inf)(char*, DOM_SID*, uint32, GROUP_INFO_CTR *))
-{
-       GROUP_INFO_CTR ctr;
-
-       /* send group info query */
-       if (get_samr_query_groupinfo(smb_cli, fnum,
-                                     pol_dom,
-                                     1, /* info level */
-                                     group_rid, &ctr))
-       {
-               grp_inf(domain, sid, group_rid, &ctr);
-       }
-}
-
 static void sam_display_group(char *domain, DOM_SID *sid,
                                uint32 group_rid, char *group_name)
 {
@@ -2126,13 +2107,32 @@ static void sam_display_group_members(char *domain, DOM_SID *sid,
        display_group_members(out_hnd, ACTION_FOOTER   , num_names, name, type);
 }
 
+static void query_groupinfo(struct cli_state *cli, uint16 fnum,
+                               POLICY_HND *pol_dom,
+                               char *domain,
+                               DOM_SID *sid,
+                               uint32 group_rid,
+                               GROUP_INFO_FN(grp_inf))
+{
+       GROUP_INFO_CTR ctr;
+
+       /* send group info query */
+       if (get_samr_query_groupinfo(smb_cli, fnum,
+                                     pol_dom,
+                                     1, /* info level */
+                                     group_rid, &ctr))
+       {
+               grp_inf(domain, sid, group_rid, &ctr);
+       }
+}
+
 static void req_groupmem_info(struct cli_state *cli, uint16 fnum,
                                POLICY_HND *pol_dom,
                                char *domain,
                                DOM_SID *sid,
                                uint32 group_rid,
                                char *group_name,
-                               void(*act_fn)(char*, DOM_SID*, uint32, char*, uint32, uint32*, char**, uint32*))
+                               GROUP_MEM_FN(grp_mem))
 {
        uint32 num_names = 0;
        char **name = NULL;
@@ -2143,7 +2143,7 @@ static void req_groupmem_info(struct cli_state *cli, uint16 fnum,
                                &num_names, &rid_mem, &name, &type))
        {
 
-               act_fn(domain, sid,
+               grp_mem(domain, sid,
                       group_rid, group_name,
                       num_names, rid_mem, name, type);
 
@@ -2161,9 +2161,9 @@ SAM groups query.
 uint32 msrpc_sam_enum_groups(struct client_info *info,
                                struct acct_info **sam,
                                uint32 *num_sam_entries,
-                               void (*grp_fn)(char*, DOM_SID*, uint32, char*),
-                               void (*grp_inf_fn)(char*, DOM_SID*, uint32, GROUP_INFO_CTR *),
-                               void(*grp_mem_fn)(char*, DOM_SID*, uint32, char*, uint32, uint32*, char**, uint32*))
+                               GROUP_FN(grp_fn),
+                               GROUP_INFO_FN(grp_inf_fn),
+                               GROUP_MEM_FN(grp_mem_fn))
 {
        uint16 fnum;
        fstring srv_name;