Set the server type we will announce as via nmbd.
********************************************************************/
+static const struct srv_role_tab {
+ uint32 role;
+ const char *role_str;
+} srv_role_tab [] = {
+ { ROLE_STANDALONE, "ROLE_STANDALONE" },
+ { ROLE_DOMAIN_MEMBER, "ROLE_DOMAIN_MEMBER" },
+ { ROLE_DOMAIN_BDC, "ROLE_DOMAIN_BDC" },
+ { ROLE_DOMAIN_PDC, "ROLE_DOMAIN_PDC" },
+ { 0, NULL }
+};
+
+const char* server_role_str(uint32 role)
+{
+ int i = 0;
+ for (i=0; srv_role_tab[i].role_str; i++) {
+ if (role == srv_role_tab[i].role) {
+ return srv_role_tab[i].role_str;
+ }
+ }
+ return NULL;
+}
+
static void set_server_role(void)
{
server_role = ROLE_STANDALONE;
break;
}
- DEBUG(10, ("set_server_role: role = "));
-
- switch(server_role) {
- case ROLE_STANDALONE:
- DEBUGADD(10, ("ROLE_STANDALONE\n"));
- break;
- case ROLE_DOMAIN_MEMBER:
- DEBUGADD(10, ("ROLE_DOMAIN_MEMBER\n"));
- break;
- case ROLE_DOMAIN_BDC:
- DEBUGADD(10, ("ROLE_DOMAIN_BDC\n"));
- break;
- case ROLE_DOMAIN_PDC:
- DEBUGADD(10, ("ROLE_DOMAIN_PDC\n"));
- break;
- }
+ DEBUG(10, ("set_server_role: role = %s", server_role_str(server_role)));
}
/***********************************************************
return (string);
}
-static const char* server_role_str(uint32 server_role)
-{
- switch(server_role) {
- case ROLE_STANDALONE:
- return SMB_STRDUP("ROLE_STANDALONE");
- break;
- case ROLE_DOMAIN_MEMBER:
- return SMB_STRDUP("ROLE_DOMAIN_MEMBER");
- break;
- case ROLE_DOMAIN_BDC:
- return SMB_STRDUP("ROLE_DOMAIN_BDC");
- break;
- case ROLE_DOMAIN_PDC:
- return SMB_STRDUP("ROLE_DOMAIN_PDC");
- break;
- default:
- return SMB_STRDUP("Unknown -- internal error?");
- break;
- }
-}
-
static void display_sam_unk_info_1(SAM_UNK_INFO_1 *info1)
{
if (!silent_mode && !section_name && !parameter_name) {
- fprintf(stderr,"Server role: ");
- switch(lp_server_role()) {
- case ROLE_STANDALONE:
- fprintf(stderr,"ROLE_STANDALONE\n");
- break;
- case ROLE_DOMAIN_MEMBER:
- fprintf(stderr,"ROLE_DOMAIN_MEMBER\n");
- break;
- case ROLE_DOMAIN_BDC:
- fprintf(stderr,"ROLE_DOMAIN_BDC\n");
- break;
- case ROLE_DOMAIN_PDC:
- fprintf(stderr,"ROLE_DOMAIN_PDC\n");
- break;
- default:
- fprintf(stderr,"Unknown -- internal error?\n");
- break;
- }
+ fprintf(stderr,"Server role: %s", server_role_str(lp_server_role()));
}
if (!cname) {