Added samsync and samrepl (untested) message types to smbcontrol.
authorTim Potter <tpot@samba.org>
Tue, 28 Aug 2001 06:38:11 +0000 (06:38 +0000)
committerTim Potter <tpot@samba.org>
Tue, 28 Aug 2001 06:38:11 +0000 (06:38 +0000)
(This used to be commit b0c8090396ca02d06669d6e20a1c715fc83ff887)

source3/utils/smbcontrol.c

index 088ce0c08ed2e115d6c03c4c5bf7a0b808db77c7..112c70741207fb58e716c8c5a2aca13b586cacf0 100644 (file)
@@ -33,6 +33,8 @@ static struct {
        {"debuglevel", MSG_REQ_DEBUGLEVEL},
        {"printer-notify", MSG_PRINTER_NOTIFY},
        {"close-share", MSG_SMB_FORCE_TDIS},
+        {"samsync", MSG_SMB_SAM_SYNC},
+        {"samrepl", MSG_SMB_SAM_REPL},
        {NULL, -1}
 };
 
@@ -299,6 +301,42 @@ static BOOL do_command(char *dest, char *msg_name, char **params)
                                      strlen(params[0]) + 1, False);
                break;
 
+        case MSG_SMB_SAM_SYNC:
+                if (!strequal(dest, "smbd")) {
+                        fprintf(stderr, "samsync can only be sent to smbd\n");
+                        return False;
+                }
+
+                if (params) {
+                        fprintf(stderr, "samsync does not take any parameters\n");
+                        return False;
+                }
+
+                retval = send_message(dest, MSG_SMB_SAM_SYNC, NULL, 0, False);
+
+                break;
+
+        case MSG_SMB_SAM_REPL: {
+                uint32 seqnum;
+
+                if (!strequal(dest, "smbd")) {
+                        fprintf(stderr, "sam repl can only be sent to smbd\n");
+                        return False;
+                }
+
+                if (!params || !params[0]) {
+                        fprintf(stderr, "SAM_REPL needs a parameter\n");
+                        return False;
+                }
+
+                seqnum = atoi(params[0]);
+
+                retval = send_message(dest, MSG_SMB_SAM_SYNC, 
+                                      (char *)&seqnum, sizeof(uint32), False); 
+
+                break;
+        }
+
        case MSG_PING:
                if (!pong_registered) {
                    message_register(MSG_PONG, pong_function);