diff options
Diffstat (limited to 'source3/param')
-rw-r--r-- | source3/param/loadparm.c | 878 |
1 files changed, 441 insertions, 437 deletions
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index a0a5e74744..2bbffefb15 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -930,6 +930,10 @@ static const struct enum_list enum_kerberos_method[] = { * name first, and all synonyms must follow it with the FLAG_HIDE attribute. */ +#define GLOBAL_VAR(name) &Globals.name +#define LOCAL_VAR(name) &sDefault.name +#define offset ptr + static struct parm_struct parm_table[] = { {N_("Base Options"), P_SEP, P_SEPARATOR}, @@ -937,7 +941,7 @@ static struct parm_struct parm_table[] = { .label = "dos charset", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.dos_charset, + .offset = GLOBAL_VAR(dos_charset), .special = handle_dos_charset, .enum_list = NULL, .flags = FLAG_ADVANCED @@ -946,7 +950,7 @@ static struct parm_struct parm_table[] = { .label = "unix charset", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.unix_charset, + .offset = GLOBAL_VAR(unix_charset), .special = handle_charset, .enum_list = NULL, .flags = FLAG_ADVANCED @@ -955,7 +959,7 @@ static struct parm_struct parm_table[] = { .label = "comment", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.comment, + .offset = LOCAL_VAR(comment), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT @@ -964,7 +968,7 @@ static struct parm_struct parm_table[] = { .label = "path", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPath, + .offset = LOCAL_VAR(szPath), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -973,7 +977,7 @@ static struct parm_struct parm_table[] = { .label = "directory", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPath, + .offset = LOCAL_VAR(szPath), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -982,7 +986,7 @@ static struct parm_struct parm_table[] = { .label = "workgroup", .type = P_USTRING, .p_class = P_GLOBAL, - .ptr = &Globals.szWorkgroup, + .offset = GLOBAL_VAR(szWorkgroup), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -991,7 +995,7 @@ static struct parm_struct parm_table[] = { .label = "realm", .type = P_USTRING, .p_class = P_GLOBAL, - .ptr = &Globals.szRealm, + .offset = GLOBAL_VAR(szRealm), .special = handle_realm, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -1000,7 +1004,7 @@ static struct parm_struct parm_table[] = { .label = "netbios name", .type = P_USTRING, .p_class = P_GLOBAL, - .ptr = &Globals.szNetbiosName, + .offset = GLOBAL_VAR(szNetbiosName), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -1009,7 +1013,7 @@ static struct parm_struct parm_table[] = { .label = "netbios aliases", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szNetbiosAliases, + .offset = GLOBAL_VAR(szNetbiosAliases), .special = handle_netbios_aliases, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1018,7 +1022,7 @@ static struct parm_struct parm_table[] = { .label = "netbios scope", .type = P_USTRING, .p_class = P_GLOBAL, - .ptr = &Globals.szNetbiosScope, + .offset = GLOBAL_VAR(szNetbiosScope), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1027,7 +1031,7 @@ static struct parm_struct parm_table[] = { .label = "server string", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szServerString, + .offset = GLOBAL_VAR(szServerString), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -1036,7 +1040,7 @@ static struct parm_struct parm_table[] = { .label = "interfaces", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szInterfaces, + .offset = GLOBAL_VAR(szInterfaces), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -1045,7 +1049,7 @@ static struct parm_struct parm_table[] = { .label = "bind interfaces only", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bBindInterfacesOnly, + .offset = GLOBAL_VAR(bBindInterfacesOnly), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_WIZARD, @@ -1054,7 +1058,7 @@ static struct parm_struct parm_table[] = { .label = "config backend", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.ConfigBackend, + .offset = GLOBAL_VAR(ConfigBackend), .special = NULL, .enum_list = enum_config_backend, .flags = FLAG_HIDE|FLAG_ADVANCED|FLAG_META, @@ -1066,7 +1070,7 @@ static struct parm_struct parm_table[] = { .label = "security", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.security, + .offset = GLOBAL_VAR(security), .special = NULL, .enum_list = enum_security, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -1075,7 +1079,7 @@ static struct parm_struct parm_table[] = { .label = "auth methods", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.AuthMethods, + .offset = GLOBAL_VAR(AuthMethods), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1084,7 +1088,7 @@ static struct parm_struct parm_table[] = { .label = "encrypt passwords", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bEncryptPasswords, + .offset = GLOBAL_VAR(bEncryptPasswords), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -1093,7 +1097,7 @@ static struct parm_struct parm_table[] = { .label = "client schannel", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.clientSchannel, + .offset = GLOBAL_VAR(clientSchannel), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -1102,7 +1106,7 @@ static struct parm_struct parm_table[] = { .label = "server schannel", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.serverSchannel, + .offset = GLOBAL_VAR(serverSchannel), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -1111,7 +1115,7 @@ static struct parm_struct parm_table[] = { .label = "allow trusted domains", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bAllowTrustedDomains, + .offset = GLOBAL_VAR(bAllowTrustedDomains), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1120,7 +1124,7 @@ static struct parm_struct parm_table[] = { .label = "map to guest", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.map_to_guest, + .offset = GLOBAL_VAR(map_to_guest), .special = NULL, .enum_list = enum_map_to_guest, .flags = FLAG_ADVANCED, @@ -1129,7 +1133,7 @@ static struct parm_struct parm_table[] = { .label = "null passwords", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bNullPasswords, + .offset = GLOBAL_VAR(bNullPasswords), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_DEPRECATED, @@ -1138,7 +1142,7 @@ static struct parm_struct parm_table[] = { .label = "obey pam restrictions", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bObeyPamRestrictions, + .offset = GLOBAL_VAR(bObeyPamRestrictions), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1147,7 +1151,7 @@ static struct parm_struct parm_table[] = { .label = "password server", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPasswordServer, + .offset = GLOBAL_VAR(szPasswordServer), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_WIZARD, @@ -1156,7 +1160,7 @@ static struct parm_struct parm_table[] = { .label = "smb passwd file", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szSMBPasswdFile, + .offset = GLOBAL_VAR(szSMBPasswdFile), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1165,7 +1169,7 @@ static struct parm_struct parm_table[] = { .label = "private dir", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPrivateDir, + .offset = GLOBAL_VAR(szPrivateDir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1174,7 +1178,7 @@ static struct parm_struct parm_table[] = { .label = "passdb backend", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPassdbBackend, + .offset = GLOBAL_VAR(szPassdbBackend), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_WIZARD, @@ -1183,7 +1187,7 @@ static struct parm_struct parm_table[] = { .label = "algorithmic rid base", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.AlgorithmicRidBase, + .offset = GLOBAL_VAR(AlgorithmicRidBase), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1192,7 +1196,7 @@ static struct parm_struct parm_table[] = { .label = "root directory", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szRootdir, + .offset = GLOBAL_VAR(szRootdir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1201,7 +1205,7 @@ static struct parm_struct parm_table[] = { .label = "root dir", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szRootdir, + .offset = GLOBAL_VAR(szRootdir), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1210,7 +1214,7 @@ static struct parm_struct parm_table[] = { .label = "root", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szRootdir, + .offset = GLOBAL_VAR(szRootdir), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1219,7 +1223,7 @@ static struct parm_struct parm_table[] = { .label = "guest account", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szGuestaccount, + .offset = GLOBAL_VAR(szGuestaccount), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -1228,7 +1232,7 @@ static struct parm_struct parm_table[] = { .label = "enable privileges", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bEnablePrivileges, + .offset = GLOBAL_VAR(bEnablePrivileges), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_DEPRECATED, @@ -1238,7 +1242,7 @@ static struct parm_struct parm_table[] = { .label = "pam password change", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bPamPasswordChange, + .offset = GLOBAL_VAR(bPamPasswordChange), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1247,7 +1251,7 @@ static struct parm_struct parm_table[] = { .label = "passwd program", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPasswdProgram, + .offset = GLOBAL_VAR(szPasswdProgram), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1256,7 +1260,7 @@ static struct parm_struct parm_table[] = { .label = "passwd chat", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPasswdChat, + .offset = GLOBAL_VAR(szPasswdChat), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1265,7 +1269,7 @@ static struct parm_struct parm_table[] = { .label = "passwd chat debug", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bPasswdChatDebug, + .offset = GLOBAL_VAR(bPasswdChatDebug), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1274,7 +1278,7 @@ static struct parm_struct parm_table[] = { .label = "passwd chat timeout", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iPasswdChatTimeout, + .offset = GLOBAL_VAR(iPasswdChatTimeout), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1283,7 +1287,7 @@ static struct parm_struct parm_table[] = { .label = "check password script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szCheckPasswordScript, + .offset = GLOBAL_VAR(szCheckPasswordScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1292,7 +1296,7 @@ static struct parm_struct parm_table[] = { .label = "username map", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szUsernameMap, + .offset = GLOBAL_VAR(szUsernameMap), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1301,7 +1305,7 @@ static struct parm_struct parm_table[] = { .label = "password level", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.pwordlevel, + .offset = GLOBAL_VAR(pwordlevel), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_DEPRECATED, @@ -1310,7 +1314,7 @@ static struct parm_struct parm_table[] = { .label = "username level", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.unamelevel, + .offset = GLOBAL_VAR(unamelevel), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1319,7 +1323,7 @@ static struct parm_struct parm_table[] = { .label = "unix password sync", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bUnixPasswdSync, + .offset = GLOBAL_VAR(bUnixPasswdSync), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1328,7 +1332,7 @@ static struct parm_struct parm_table[] = { .label = "restrict anonymous", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.restrict_anonymous, + .offset = GLOBAL_VAR(restrict_anonymous), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1337,7 +1341,7 @@ static struct parm_struct parm_table[] = { .label = "lanman auth", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bLanmanAuth, + .offset = GLOBAL_VAR(bLanmanAuth), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1346,7 +1350,7 @@ static struct parm_struct parm_table[] = { .label = "ntlm auth", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bNTLMAuth, + .offset = GLOBAL_VAR(bNTLMAuth), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1355,7 +1359,7 @@ static struct parm_struct parm_table[] = { .label = "client NTLMv2 auth", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bClientNTLMv2Auth, + .offset = GLOBAL_VAR(bClientNTLMv2Auth), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1364,7 +1368,7 @@ static struct parm_struct parm_table[] = { .label = "client lanman auth", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bClientLanManAuth, + .offset = GLOBAL_VAR(bClientLanManAuth), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1373,7 +1377,7 @@ static struct parm_struct parm_table[] = { .label = "client plaintext auth", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bClientPlaintextAuth, + .offset = GLOBAL_VAR(bClientPlaintextAuth), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1382,7 +1386,7 @@ static struct parm_struct parm_table[] = { .label = "client use spnego principal", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.client_use_spnego_principal, + .offset = GLOBAL_VAR(client_use_spnego_principal), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1391,7 +1395,7 @@ static struct parm_struct parm_table[] = { .label = "send spnego principal", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.send_spnego_principal, + .offset = GLOBAL_VAR(send_spnego_principal), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1400,7 +1404,7 @@ static struct parm_struct parm_table[] = { .label = "username", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szUsername, + .offset = LOCAL_VAR(szUsername), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE | FLAG_DEPRECATED, @@ -1409,7 +1413,7 @@ static struct parm_struct parm_table[] = { .label = "user", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szUsername, + .offset = LOCAL_VAR(szUsername), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1418,7 +1422,7 @@ static struct parm_struct parm_table[] = { .label = "users", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szUsername, + .offset = LOCAL_VAR(szUsername), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1427,7 +1431,7 @@ static struct parm_struct parm_table[] = { .label = "invalid users", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szInvalidUsers, + .offset = LOCAL_VAR(szInvalidUsers), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1436,7 +1440,7 @@ static struct parm_struct parm_table[] = { .label = "valid users", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szValidUsers, + .offset = LOCAL_VAR(szValidUsers), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1445,7 +1449,7 @@ static struct parm_struct parm_table[] = { .label = "admin users", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szAdminUsers, + .offset = LOCAL_VAR(szAdminUsers), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1454,7 +1458,7 @@ static struct parm_struct parm_table[] = { .label = "read list", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.readlist, + .offset = LOCAL_VAR(readlist), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1463,7 +1467,7 @@ static struct parm_struct parm_table[] = { .label = "write list", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.writelist, + .offset = LOCAL_VAR(writelist), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1472,7 +1476,7 @@ static struct parm_struct parm_table[] = { .label = "printer admin", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.printer_admin, + .offset = LOCAL_VAR(printer_admin), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_PRINT | FLAG_DEPRECATED, @@ -1481,7 +1485,7 @@ static struct parm_struct parm_table[] = { .label = "force user", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.force_user, + .offset = LOCAL_VAR(force_user), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -1490,7 +1494,7 @@ static struct parm_struct parm_table[] = { .label = "force group", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.force_group, + .offset = LOCAL_VAR(force_group), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -1499,7 +1503,7 @@ static struct parm_struct parm_table[] = { .label = "group", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.force_group, + .offset = LOCAL_VAR(force_group), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1508,7 +1512,7 @@ static struct parm_struct parm_table[] = { .label = "read only", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bRead_only, + .offset = LOCAL_VAR(bRead_only), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE, @@ -1517,7 +1521,7 @@ static struct parm_struct parm_table[] = { .label = "write ok", .type = P_BOOLREV, .p_class = P_LOCAL, - .ptr = &sDefault.bRead_only, + .offset = LOCAL_VAR(bRead_only), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1526,7 +1530,7 @@ static struct parm_struct parm_table[] = { .label = "writeable", .type = P_BOOLREV, .p_class = P_LOCAL, - .ptr = &sDefault.bRead_only, + .offset = LOCAL_VAR(bRead_only), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1535,7 +1539,7 @@ static struct parm_struct parm_table[] = { .label = "writable", .type = P_BOOLREV, .p_class = P_LOCAL, - .ptr = &sDefault.bRead_only, + .offset = LOCAL_VAR(bRead_only), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1544,7 +1548,7 @@ static struct parm_struct parm_table[] = { .label = "acl check permissions", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bAclCheckPermissions, + .offset = LOCAL_VAR(bAclCheckPermissions), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1553,7 +1557,7 @@ static struct parm_struct parm_table[] = { .label = "acl group control", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bAclGroupControl, + .offset = LOCAL_VAR(bAclGroupControl), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1562,7 +1566,7 @@ static struct parm_struct parm_table[] = { .label = "acl map full control", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bAclMapFullControl, + .offset = LOCAL_VAR(bAclMapFullControl), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1571,7 +1575,7 @@ static struct parm_struct parm_table[] = { .label = "create mask", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iCreate_mask, + .offset = LOCAL_VAR(iCreate_mask), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1580,7 +1584,7 @@ static struct parm_struct parm_table[] = { .label = "create mode", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iCreate_mask, + .offset = LOCAL_VAR(iCreate_mask), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1589,7 +1593,7 @@ static struct parm_struct parm_table[] = { .label = "force create mode", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iCreate_force_mode, + .offset = LOCAL_VAR(iCreate_force_mode), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1598,7 +1602,7 @@ static struct parm_struct parm_table[] = { .label = "security mask", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iSecurity_mask, + .offset = LOCAL_VAR(iSecurity_mask), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1607,7 +1611,7 @@ static struct parm_struct parm_table[] = { .label = "force security mode", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iSecurity_force_mode, + .offset = LOCAL_VAR(iSecurity_force_mode), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1616,7 +1620,7 @@ static struct parm_struct parm_table[] = { .label = "directory mask", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iDir_mask, + .offset = LOCAL_VAR(iDir_mask), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1625,7 +1629,7 @@ static struct parm_struct parm_table[] = { .label = "directory mode", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iDir_mask, + .offset = LOCAL_VAR(iDir_mask), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -1634,7 +1638,7 @@ static struct parm_struct parm_table[] = { .label = "force directory mode", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iDir_force_mode, + .offset = LOCAL_VAR(iDir_force_mode), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1643,7 +1647,7 @@ static struct parm_struct parm_table[] = { .label = "directory security mask", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iDir_Security_mask, + .offset = LOCAL_VAR(iDir_Security_mask), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1652,7 +1656,7 @@ static struct parm_struct parm_table[] = { .label = "force directory security mode", .type = P_OCTAL, .p_class = P_LOCAL, - .ptr = &sDefault.iDir_Security_force_mode, + .offset = LOCAL_VAR(iDir_Security_force_mode), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1661,7 +1665,7 @@ static struct parm_struct parm_table[] = { .label = "force unknown acl user", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bForceUnknownAclUser, + .offset = LOCAL_VAR(bForceUnknownAclUser), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -1670,7 +1674,7 @@ static struct parm_struct parm_table[] = { .label = "inherit permissions", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bInheritPerms, + .offset = LOCAL_VAR(bInheritPerms), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -1679,7 +1683,7 @@ static struct parm_struct parm_table[] = { .label = "inherit acls", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bInheritACLS, + .offset = LOCAL_VAR(bInheritACLS), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -1688,7 +1692,7 @@ static struct parm_struct parm_table[] = { .label = "inherit owner", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bInheritOwner, + .offset = LOCAL_VAR(bInheritOwner), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -1697,7 +1701,7 @@ static struct parm_struct parm_table[] = { .label = "guest only", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bGuest_only, + .offset = LOCAL_VAR(bGuest_only), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -1706,7 +1710,7 @@ static struct parm_struct parm_table[] = { .label = "only guest", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bGuest_only, + .offset = LOCAL_VAR(bGuest_only), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1715,7 +1719,7 @@ static struct parm_struct parm_table[] = { .label = "administrative share", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bAdministrative_share, + .offset = LOCAL_VAR(bAdministrative_share), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -1725,7 +1729,7 @@ static struct parm_struct parm_table[] = { .label = "guest ok", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bGuest_ok, + .offset = LOCAL_VAR(bGuest_ok), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -1734,7 +1738,7 @@ static struct parm_struct parm_table[] = { .label = "public", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bGuest_ok, + .offset = LOCAL_VAR(bGuest_ok), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1743,7 +1747,7 @@ static struct parm_struct parm_table[] = { .label = "only user", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bOnlyUser, + .offset = LOCAL_VAR(bOnlyUser), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_DEPRECATED, @@ -1752,7 +1756,7 @@ static struct parm_struct parm_table[] = { .label = "hosts allow", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szHostsallow, + .offset = LOCAL_VAR(szHostsallow), .special = NULL, .enum_list = NULL, .flags = FLAG_GLOBAL | FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -1761,7 +1765,7 @@ static struct parm_struct parm_table[] = { .label = "allow hosts", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szHostsallow, + .offset = LOCAL_VAR(szHostsallow), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1770,7 +1774,7 @@ static struct parm_struct parm_table[] = { .label = "hosts deny", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szHostsdeny, + .offset = LOCAL_VAR(szHostsdeny), .special = NULL, .enum_list = NULL, .flags = FLAG_GLOBAL | FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -1779,7 +1783,7 @@ static struct parm_struct parm_table[] = { .label = "deny hosts", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szHostsdeny, + .offset = LOCAL_VAR(szHostsdeny), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1788,7 +1792,7 @@ static struct parm_struct parm_table[] = { .label = "preload modules", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szPreloadModules, + .offset = GLOBAL_VAR(szPreloadModules), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -1797,7 +1801,7 @@ static struct parm_struct parm_table[] = { .label = "dedicated keytab file", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDedicatedKeytabFile, + .offset = GLOBAL_VAR(szDedicatedKeytabFile), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1806,7 +1810,7 @@ static struct parm_struct parm_table[] = { .label = "kerberos method", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.iKerberosMethod, + .offset = GLOBAL_VAR(iKerberosMethod), .special = NULL, .enum_list = enum_kerberos_method, .flags = FLAG_ADVANCED, @@ -1815,7 +1819,7 @@ static struct parm_struct parm_table[] = { .label = "map untrusted to domain", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bMapUntrustedToDomain, + .offset = GLOBAL_VAR(bMapUntrustedToDomain), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -1828,7 +1832,7 @@ static struct parm_struct parm_table[] = { .label = "log level", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogLevel, + .offset = GLOBAL_VAR(szLogLevel), .special = handle_debug_list, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1837,7 +1841,7 @@ static struct parm_struct parm_table[] = { .label = "debuglevel", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogLevel, + .offset = GLOBAL_VAR(szLogLevel), .special = handle_debug_list, .enum_list = NULL, .flags = FLAG_HIDE, @@ -1846,7 +1850,7 @@ static struct parm_struct parm_table[] = { .label = "syslog", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.syslog, + .offset = GLOBAL_VAR(syslog), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1855,7 +1859,7 @@ static struct parm_struct parm_table[] = { .label = "syslog only", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bSyslogOnly, + .offset = GLOBAL_VAR(bSyslogOnly), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1864,7 +1868,7 @@ static struct parm_struct parm_table[] = { .label = "log file", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogFile, + .offset = GLOBAL_VAR(szLogFile), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1873,7 +1877,7 @@ static struct parm_struct parm_table[] = { .label = "max log size", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.max_log_size, + .offset = GLOBAL_VAR(max_log_size), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1882,7 +1886,7 @@ static struct parm_struct parm_table[] = { .label = "debug timestamp", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bTimestampLogs, + .offset = GLOBAL_VAR(bTimestampLogs), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1891,7 +1895,7 @@ static struct parm_struct parm_table[] = { .label = "timestamp logs", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bTimestampLogs, + .offset = GLOBAL_VAR(bTimestampLogs), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1900,7 +1904,7 @@ static struct parm_struct parm_table[] = { .label = "debug prefix timestamp", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDebugPrefixTimestamp, + .offset = GLOBAL_VAR(bDebugPrefixTimestamp), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1909,7 +1913,7 @@ static struct parm_struct parm_table[] = { .label = "debug hires timestamp", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDebugHiresTimestamp, + .offset = GLOBAL_VAR(bDebugHiresTimestamp), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1918,7 +1922,7 @@ static struct parm_struct parm_table[] = { .label = "debug pid", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDebugPid, + .offset = GLOBAL_VAR(bDebugPid), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1927,7 +1931,7 @@ static struct parm_struct parm_table[] = { .label = "debug uid", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDebugUid, + .offset = GLOBAL_VAR(bDebugUid), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1936,7 +1940,7 @@ static struct parm_struct parm_table[] = { .label = "debug class", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDebugClass, + .offset = GLOBAL_VAR(bDebugClass), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1945,7 +1949,7 @@ static struct parm_struct parm_table[] = { .label = "enable core files", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bEnableCoreFiles, + .offset = GLOBAL_VAR(bEnableCoreFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1957,7 +1961,7 @@ static struct parm_struct parm_table[] = { .label = "allocation roundup size", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iallocation_roundup_size, + .offset = LOCAL_VAR(iallocation_roundup_size), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1966,7 +1970,7 @@ static struct parm_struct parm_table[] = { .label = "aio read size", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iAioReadSize, + .offset = LOCAL_VAR(iAioReadSize), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1975,7 +1979,7 @@ static struct parm_struct parm_table[] = { .label = "aio write size", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iAioWriteSize, + .offset = LOCAL_VAR(iAioWriteSize), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -1984,7 +1988,7 @@ static struct parm_struct parm_table[] = { .label = "aio write behind", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szAioWriteBehind, + .offset = LOCAL_VAR(szAioWriteBehind), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -1993,7 +1997,7 @@ static struct parm_struct parm_table[] = { .label = "smb ports", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.smb_ports, + .offset = GLOBAL_VAR(smb_ports), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2002,7 +2006,7 @@ static struct parm_struct parm_table[] = { .label = "large readwrite", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bLargeReadwrite, + .offset = GLOBAL_VAR(bLargeReadwrite), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2011,7 +2015,7 @@ static struct parm_struct parm_table[] = { .label = "max protocol", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.maxprotocol, + .offset = GLOBAL_VAR(maxprotocol), .special = NULL, .enum_list = enum_protocol, .flags = FLAG_ADVANCED, @@ -2020,7 +2024,7 @@ static struct parm_struct parm_table[] = { .label = "protocol", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.maxprotocol, + .offset = GLOBAL_VAR(maxprotocol), .special = NULL, .enum_list = enum_protocol, .flags = FLAG_ADVANCED, @@ -2029,7 +2033,7 @@ static struct parm_struct parm_table[] = { .label = "min protocol", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.minprotocol, + .offset = GLOBAL_VAR(minprotocol), .special = NULL, .enum_list = enum_protocol, .flags = FLAG_ADVANCED, @@ -2038,7 +2042,7 @@ static struct parm_struct parm_table[] = { .label = "min receivefile size", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iminreceivefile, + .offset = GLOBAL_VAR(iminreceivefile), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2047,7 +2051,7 @@ static struct parm_struct parm_table[] = { .label = "read raw", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bReadRaw, + .offset = GLOBAL_VAR(bReadRaw), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2056,7 +2060,7 @@ static struct parm_struct parm_table[] = { .label = "write raw", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWriteRaw, + .offset = GLOBAL_VAR(bWriteRaw), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2065,7 +2069,7 @@ static struct parm_struct parm_table[] = { .label = "disable netbios", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDisableNetbios, + .offset = GLOBAL_VAR(bDisableNetbios), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2074,7 +2078,7 @@ static struct parm_struct parm_table[] = { .label = "reset on zero vc", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bResetOnZeroVC, + .offset = GLOBAL_VAR(bResetOnZeroVC), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2083,7 +2087,7 @@ static struct parm_struct parm_table[] = { .label = "log writeable files on exit", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bLogWriteableFilesOnExit, + .offset = GLOBAL_VAR(bLogWriteableFilesOnExit), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2092,7 +2096,7 @@ static struct parm_struct parm_table[] = { .label = "acl compatibility", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.iAclCompat, + .offset = GLOBAL_VAR(iAclCompat), .special = NULL, .enum_list = enum_acl_compat_vals, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2101,7 +2105,7 @@ static struct parm_struct parm_table[] = { .label = "defer sharing violations", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDeferSharingViolations, + .offset = GLOBAL_VAR(bDeferSharingViolations), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -2110,7 +2114,7 @@ static struct parm_struct parm_table[] = { .label = "ea support", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bEASupport, + .offset = LOCAL_VAR(bEASupport), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2119,7 +2123,7 @@ static struct parm_struct parm_table[] = { .label = "nt acl support", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bNTAclSupport, + .offset = LOCAL_VAR(bNTAclSupport), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2128,7 +2132,7 @@ static struct parm_struct parm_table[] = { .label = "nt pipe support", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bNTPipeSupport, + .offset = GLOBAL_VAR(bNTPipeSupport), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2137,7 +2141,7 @@ static struct parm_struct parm_table[] = { .label = "nt status support", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bNTStatusSupport, + .offset = GLOBAL_VAR(bNTStatusSupport), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2146,7 +2150,7 @@ static struct parm_struct parm_table[] = { .label = "profile acls", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bProfileAcls, + .offset = LOCAL_VAR(bProfileAcls), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -2155,7 +2159,7 @@ static struct parm_struct parm_table[] = { .label = "map acl inherit", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bMap_acl_inherit, + .offset = LOCAL_VAR(bMap_acl_inherit), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2164,7 +2168,7 @@ static struct parm_struct parm_table[] = { .label = "afs share", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bAfs_Share, + .offset = LOCAL_VAR(bAfs_Share), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2173,7 +2177,7 @@ static struct parm_struct parm_table[] = { .label = "max mux", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.max_mux, + .offset = GLOBAL_VAR(max_mux), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2182,7 +2186,7 @@ static struct parm_struct parm_table[] = { .label = "max xmit", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.max_xmit, + .offset = GLOBAL_VAR(max_xmit), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2191,7 +2195,7 @@ static struct parm_struct parm_table[] = { .label = "name resolve order", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szNameResolveOrder, + .offset = GLOBAL_VAR(szNameResolveOrder), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_WIZARD, @@ -2200,7 +2204,7 @@ static struct parm_struct parm_table[] = { .label = "max ttl", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.max_ttl, + .offset = GLOBAL_VAR(max_ttl), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2209,7 +2213,7 @@ static struct parm_struct parm_table[] = { .label = "max wins ttl", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.max_wins_ttl, + .offset = GLOBAL_VAR(max_wins_ttl), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2218,7 +2222,7 @@ static struct parm_struct parm_table[] = { .label = "min wins ttl", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.min_wins_ttl, + .offset = GLOBAL_VAR(min_wins_ttl), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2227,7 +2231,7 @@ static struct parm_struct parm_table[] = { .label = "time server", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bTimeServer, + .offset = GLOBAL_VAR(bTimeServer), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2236,7 +2240,7 @@ static struct parm_struct parm_table[] = { .label = "unix extensions", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bUnixExtensions, + .offset = GLOBAL_VAR(bUnixExtensions), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2245,7 +2249,7 @@ static struct parm_struct parm_table[] = { .label = "use spnego", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bUseSpnego, + .offset = GLOBAL_VAR(bUseSpnego), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_DEPRECATED, @@ -2254,7 +2258,7 @@ static struct parm_struct parm_table[] = { .label = "client signing", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.client_signing, + .offset = GLOBAL_VAR(client_signing), .special = NULL, .enum_list = enum_smb_signing_vals, .flags = FLAG_ADVANCED, @@ -2263,7 +2267,7 @@ static struct parm_struct parm_table[] = { .label = "server signing", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.server_signing, + .offset = GLOBAL_VAR(server_signing), .special = NULL, .enum_list = enum_smb_signing_vals, .flags = FLAG_ADVANCED, @@ -2272,7 +2276,7 @@ static struct parm_struct parm_table[] = { .label = "smb encrypt", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.ismb_encrypt, + .offset = LOCAL_VAR(ismb_encrypt), .special = NULL, .enum_list = enum_smb_signing_vals, .flags = FLAG_ADVANCED, @@ -2281,7 +2285,7 @@ static struct parm_struct parm_table[] = { .label = "client use spnego", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bClientUseSpnego, + .offset = GLOBAL_VAR(bClientUseSpnego), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2290,7 +2294,7 @@ static struct parm_struct parm_table[] = { .label = "client ldap sasl wrapping", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.client_ldap_sasl_wrapping, + .offset = GLOBAL_VAR(client_ldap_sasl_wrapping), .special = NULL, .enum_list = enum_ldap_sasl_wrapping, .flags = FLAG_ADVANCED, @@ -2299,7 +2303,7 @@ static struct parm_struct parm_table[] = { .label = "enable asu support", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bASUSupport, + .offset = GLOBAL_VAR(bASUSupport), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2308,7 +2312,7 @@ static struct parm_struct parm_table[] = { .label = "svcctl list", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szServicesList, + .offset = GLOBAL_VAR(szServicesList), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2320,7 +2324,7 @@ static struct parm_struct parm_table[] = { .label = "block size", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iBlock_size, + .offset = LOCAL_VAR(iBlock_size), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2329,7 +2333,7 @@ static struct parm_struct parm_table[] = { .label = "deadtime", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.deadtime, + .offset = GLOBAL_VAR(deadtime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2338,7 +2342,7 @@ static struct parm_struct parm_table[] = { .label = "getwd cache", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.getwd_cache, + .offset = GLOBAL_VAR(getwd_cache), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2347,7 +2351,7 @@ static struct parm_struct parm_table[] = { .label = "keepalive", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iKeepalive, + .offset = GLOBAL_VAR(iKeepalive), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2356,7 +2360,7 @@ static struct parm_struct parm_table[] = { .label = "change notify", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bChangeNotify, + .offset = LOCAL_VAR(bChangeNotify), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2365,7 +2369,7 @@ static struct parm_struct parm_table[] = { .label = "directory name cache size", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iDirectoryNameCacheSize, + .offset = LOCAL_VAR(iDirectoryNameCacheSize), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2374,7 +2378,7 @@ static struct parm_struct parm_table[] = { .label = "kernel change notify", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bKernelChangeNotify, + .offset = LOCAL_VAR(bKernelChangeNotify), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2383,7 +2387,7 @@ static struct parm_struct parm_table[] = { .label = "lpq cache time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.lpqcachetime, + .offset = GLOBAL_VAR(lpqcachetime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2392,7 +2396,7 @@ static struct parm_struct parm_table[] = { .label = "max smbd processes", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iMaxSmbdProcesses, + .offset = GLOBAL_VAR(iMaxSmbdProcesses), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2401,7 +2405,7 @@ static struct parm_struct parm_table[] = { .label = "max connections", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iMaxConnections, + .offset = LOCAL_VAR(iMaxConnections), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2410,7 +2414,7 @@ static struct parm_struct parm_table[] = { .label = "paranoid server security", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.paranoid_server_security, + .offset = GLOBAL_VAR(paranoid_server_security), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2419,7 +2423,7 @@ static struct parm_struct parm_table[] = { .label = "max disk size", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.maxdisksize, + .offset = GLOBAL_VAR(maxdisksize), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2428,7 +2432,7 @@ static struct parm_struct parm_table[] = { .label = "max open files", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.max_open_files, + .offset = GLOBAL_VAR(max_open_files), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2437,7 +2441,7 @@ static struct parm_struct parm_table[] = { .label = "min print space", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iMinPrintSpace, + .offset = LOCAL_VAR(iMinPrintSpace), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2446,7 +2450,7 @@ static struct parm_struct parm_table[] = { .label = "socket options", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szSocketOptions, + .offset = GLOBAL_VAR(szSocketOptions), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2455,7 +2459,7 @@ static struct parm_struct parm_table[] = { .label = "strict allocate", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bStrictAllocate, + .offset = LOCAL_VAR(bStrictAllocate), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2464,7 +2468,7 @@ static struct parm_struct parm_table[] = { .label = "strict sync", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bStrictSync, + .offset = LOCAL_VAR(bStrictSync), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2473,7 +2477,7 @@ static struct parm_struct parm_table[] = { .label = "sync always", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bSyncAlways, + .offset = LOCAL_VAR(bSyncAlways), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2482,7 +2486,7 @@ static struct parm_struct parm_table[] = { .label = "use mmap", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bUseMmap, + .offset = GLOBAL_VAR(bUseMmap), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2491,7 +2495,7 @@ static struct parm_struct parm_table[] = { .label = "use sendfile", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bUseSendfile, + .offset = LOCAL_VAR(bUseSendfile), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2500,7 +2504,7 @@ static struct parm_struct parm_table[] = { .label = "hostname lookups", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bHostnameLookups, + .offset = GLOBAL_VAR(bHostnameLookups), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2509,7 +2513,7 @@ static struct parm_struct parm_table[] = { .label = "write cache size", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iWriteCacheSize, + .offset = LOCAL_VAR(iWriteCacheSize), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2518,7 +2522,7 @@ static struct parm_struct parm_table[] = { .label = "name cache timeout", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.name_cache_timeout, + .offset = GLOBAL_VAR(name_cache_timeout), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2527,7 +2531,7 @@ static struct parm_struct parm_table[] = { .label = "ctdbd socket", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.ctdbdSocket, + .offset = GLOBAL_VAR(ctdbdSocket), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -2536,7 +2540,7 @@ static struct parm_struct parm_table[] = { .label = "cluster addresses", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szClusterAddresses, + .offset = GLOBAL_VAR(szClusterAddresses), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -2545,7 +2549,7 @@ static struct parm_struct parm_table[] = { .label = "clustering", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.clustering, + .offset = GLOBAL_VAR(clustering), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -2554,7 +2558,7 @@ static struct parm_struct parm_table[] = { .label = "ctdb timeout", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ctdb_timeout, + .offset = GLOBAL_VAR(ctdb_timeout), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -2563,7 +2567,7 @@ static struct parm_struct parm_table[] = { .label = "ctdb locktime warn threshold", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ctdb_locktime_warn_threshold, + .offset = GLOBAL_VAR(ctdb_locktime_warn_threshold), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -2572,7 +2576,7 @@ static struct parm_struct parm_table[] = { .label = "smb2 max read", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ismb2_max_read, + .offset = GLOBAL_VAR(ismb2_max_read), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2581,7 +2585,7 @@ static struct parm_struct parm_table[] = { .label = "smb2 max write", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ismb2_max_write, + .offset = GLOBAL_VAR(ismb2_max_write), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2590,7 +2594,7 @@ static struct parm_struct parm_table[] = { .label = "smb2 max trans", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ismb2_max_trans, + .offset = GLOBAL_VAR(ismb2_max_trans), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2599,7 +2603,7 @@ static struct parm_struct parm_table[] = { .label = "smb2 max credits", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ismb2_max_credits, + .offset = GLOBAL_VAR(ismb2_max_credits), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2611,7 +2615,7 @@ static struct parm_struct parm_table[] = { .label = "max reported print jobs", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iMaxReportedPrintJobs, + .offset = LOCAL_VAR(iMaxReportedPrintJobs), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2620,7 +2624,7 @@ static struct parm_struct parm_table[] = { .label = "max print jobs", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iMaxPrintJobs, + .offset = LOCAL_VAR(iMaxPrintJobs), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2629,7 +2633,7 @@ static struct parm_struct parm_table[] = { .label = "load printers", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bLoadPrinters, + .offset = GLOBAL_VAR(bLoadPrinters), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2638,7 +2642,7 @@ static struct parm_struct parm_table[] = { .label = "printcap cache time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.PrintcapCacheTime, + .offset = GLOBAL_VAR(PrintcapCacheTime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2647,7 +2651,7 @@ static struct parm_struct parm_table[] = { .label = "printcap name", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPrintcapname, + .offset = GLOBAL_VAR(szPrintcapname), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2656,7 +2660,7 @@ static struct parm_struct parm_table[] = { .label = "printcap", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPrintcapname, + .offset = GLOBAL_VAR(szPrintcapname), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -2665,7 +2669,7 @@ static struct parm_struct parm_table[] = { .label = "printable", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bPrint_ok, + .offset = LOCAL_VAR(bPrint_ok), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2674,7 +2678,7 @@ static struct parm_struct parm_table[] = { .label = "print notify backchannel", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bPrintNotifyBackchannel, + .offset = LOCAL_VAR(bPrintNotifyBackchannel), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2683,7 +2687,7 @@ static struct parm_struct parm_table[] = { .label = "print ok", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bPrint_ok, + .offset = LOCAL_VAR(bPrint_ok), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -2692,7 +2696,7 @@ static struct parm_struct parm_table[] = { .label = "printing", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.iPrinting, + .offset = LOCAL_VAR(iPrinting), .special = handle_printing, .enum_list = enum_printing, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2701,7 +2705,7 @@ static struct parm_struct parm_table[] = { .label = "cups options", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szCupsOptions, + .offset = LOCAL_VAR(szCupsOptions), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2710,7 +2714,7 @@ static struct parm_struct parm_table[] = { .label = "cups server", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szCupsServer, + .offset = GLOBAL_VAR(szCupsServer), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2719,7 +2723,7 @@ static struct parm_struct parm_table[] = { .label = "cups encrypt", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.CupsEncrypt, + .offset = GLOBAL_VAR(CupsEncrypt), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2729,7 +2733,7 @@ static struct parm_struct parm_table[] = { .label = "cups connection timeout", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.cups_connection_timeout, + .offset = GLOBAL_VAR(cups_connection_timeout), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2738,7 +2742,7 @@ static struct parm_struct parm_table[] = { .label = "iprint server", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szIPrintServer, + .offset = GLOBAL_VAR(szIPrintServer), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2747,7 +2751,7 @@ static struct parm_struct parm_table[] = { .label = "print command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPrintcommand, + .offset = LOCAL_VAR(szPrintcommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2756,7 +2760,7 @@ static struct parm_struct parm_table[] = { .label = "disable spoolss", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDisableSpoolss, + .offset = GLOBAL_VAR(bDisableSpoolss), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2765,7 +2769,7 @@ static struct parm_struct parm_table[] = { .label = "enable spoolss", .type = P_BOOLREV, .p_class = P_GLOBAL, - .ptr = &Globals.bDisableSpoolss, + .offset = GLOBAL_VAR(bDisableSpoolss), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -2774,7 +2778,7 @@ static struct parm_struct parm_table[] = { .label = "lpq command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szLpqcommand, + .offset = LOCAL_VAR(szLpqcommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2783,7 +2787,7 @@ static struct parm_struct parm_table[] = { .label = "lprm command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szLprmcommand, + .offset = LOCAL_VAR(szLprmcommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2792,7 +2796,7 @@ static struct parm_struct parm_table[] = { .label = "lppause command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szLppausecommand, + .offset = LOCAL_VAR(szLppausecommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2801,7 +2805,7 @@ static struct parm_struct parm_table[] = { .label = "lpresume command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szLpresumecommand, + .offset = LOCAL_VAR(szLpresumecommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2810,7 +2814,7 @@ static struct parm_struct parm_table[] = { .label = "queuepause command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szQueuepausecommand, + .offset = LOCAL_VAR(szQueuepausecommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2819,7 +2823,7 @@ static struct parm_struct parm_table[] = { .label = "queueresume command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szQueueresumecommand, + .offset = LOCAL_VAR(szQueueresumecommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT | FLAG_GLOBAL, @@ -2828,7 +2832,7 @@ static struct parm_struct parm_table[] = { .label = "addport command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAddPortCommand, + .offset = GLOBAL_VAR(szAddPortCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2837,7 +2841,7 @@ static struct parm_struct parm_table[] = { .label = "enumports command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szEnumPortsCommand, + .offset = GLOBAL_VAR(szEnumPortsCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2846,7 +2850,7 @@ static struct parm_struct parm_table[] = { .label = "addprinter command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAddPrinterCommand, + .offset = GLOBAL_VAR(szAddPrinterCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2855,7 +2859,7 @@ static struct parm_struct parm_table[] = { .label = "deleteprinter command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDeletePrinterCommand, + .offset = GLOBAL_VAR(szDeletePrinterCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2864,7 +2868,7 @@ static struct parm_struct parm_table[] = { .label = "show add printer wizard", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bMsAddPrinterWizard, + .offset = GLOBAL_VAR(bMsAddPrinterWizard), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2873,7 +2877,7 @@ static struct parm_struct parm_table[] = { .label = "os2 driver map", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szOs2DriverMap, + .offset = GLOBAL_VAR(szOs2DriverMap), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2883,7 +2887,7 @@ static struct parm_struct parm_table[] = { .label = "printer name", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPrintername, + .offset = LOCAL_VAR(szPrintername), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2892,7 +2896,7 @@ static struct parm_struct parm_table[] = { .label = "printer", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPrintername, + .offset = LOCAL_VAR(szPrintername), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -2901,7 +2905,7 @@ static struct parm_struct parm_table[] = { .label = "use client driver", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bUseClientDriver, + .offset = LOCAL_VAR(bUseClientDriver), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2910,7 +2914,7 @@ static struct parm_struct parm_table[] = { .label = "default devmode", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bDefaultDevmode, + .offset = LOCAL_VAR(bDefaultDevmode), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2919,7 +2923,7 @@ static struct parm_struct parm_table[] = { .label = "force printername", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bForcePrintername, + .offset = LOCAL_VAR(bForcePrintername), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2928,7 +2932,7 @@ static struct parm_struct parm_table[] = { .label = "printjob username", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPrintjobUsername, + .offset = LOCAL_VAR(szPrintjobUsername), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_PRINT, @@ -2940,7 +2944,7 @@ static struct parm_struct parm_table[] = { .label = "mangling method", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szManglingMethod, + .offset = GLOBAL_VAR(szManglingMethod), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2949,7 +2953,7 @@ static struct parm_struct parm_table[] = { .label = "mangle prefix", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.mangle_prefix, + .offset = GLOBAL_VAR(mangle_prefix), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -2959,7 +2963,7 @@ static struct parm_struct parm_table[] = { .label = "default case", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.iDefaultCase, + .offset = LOCAL_VAR(iDefaultCase), .special = NULL, .enum_list = enum_case, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -2968,7 +2972,7 @@ static struct parm_struct parm_table[] = { .label = "case sensitive", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.iCaseSensitive, + .offset = LOCAL_VAR(iCaseSensitive), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2977,7 +2981,7 @@ static struct parm_struct parm_table[] = { .label = "casesignames", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.iCaseSensitive, + .offset = LOCAL_VAR(iCaseSensitive), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL | FLAG_HIDE, @@ -2986,7 +2990,7 @@ static struct parm_struct parm_table[] = { .label = "preserve case", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bCasePreserve, + .offset = LOCAL_VAR(bCasePreserve), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -2995,7 +2999,7 @@ static struct parm_struct parm_table[] = { .label = "short preserve case", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bShortCasePreserve, + .offset = LOCAL_VAR(bShortCasePreserve), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3004,7 +3008,7 @@ static struct parm_struct parm_table[] = { .label = "mangling char", .type = P_CHAR, .p_class = P_LOCAL, - .ptr = &sDefault.magic_char, + .offset = LOCAL_VAR(magic_char), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3013,7 +3017,7 @@ static struct parm_struct parm_table[] = { .label = "hide dot files", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bHideDotFiles, + .offset = LOCAL_VAR(bHideDotFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3022,7 +3026,7 @@ static struct parm_struct parm_table[] = { .label = "hide special files", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bHideSpecialFiles, + .offset = LOCAL_VAR(bHideSpecialFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3031,7 +3035,7 @@ static struct parm_struct parm_table[] = { .label = "hide unreadable", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bHideUnReadable, + .offset = LOCAL_VAR(bHideUnReadable), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3040,7 +3044,7 @@ static struct parm_struct parm_table[] = { .label = "hide unwriteable files", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bHideUnWriteableFiles, + .offset = LOCAL_VAR(bHideUnWriteableFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3049,7 +3053,7 @@ static struct parm_struct parm_table[] = { .label = "delete veto files", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bDeleteVetoFiles, + .offset = LOCAL_VAR(bDeleteVetoFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3058,7 +3062,7 @@ static struct parm_struct parm_table[] = { .label = "veto files", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szVetoFiles, + .offset = LOCAL_VAR(szVetoFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3067,7 +3071,7 @@ static struct parm_struct parm_table[] = { .label = "hide files", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szHideFiles, + .offset = LOCAL_VAR(szHideFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3076,7 +3080,7 @@ static struct parm_struct parm_table[] = { .label = "veto oplock files", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szVetoOplockFiles, + .offset = LOCAL_VAR(szVetoOplockFiles), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3085,7 +3089,7 @@ static struct parm_struct parm_table[] = { .label = "map archive", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bMap_archive, + .offset = LOCAL_VAR(bMap_archive), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3094,7 +3098,7 @@ static struct parm_struct parm_table[] = { .label = "map hidden", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bMap_hidden, + .offset = LOCAL_VAR(bMap_hidden), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3103,7 +3107,7 @@ static struct parm_struct parm_table[] = { .label = "map system", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bMap_system, + .offset = LOCAL_VAR(bMap_system), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3112,7 +3116,7 @@ static struct parm_struct parm_table[] = { .label = "map readonly", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.iMap_readonly, + .offset = LOCAL_VAR(iMap_readonly), .special = NULL, .enum_list = enum_map_readonly, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3121,7 +3125,7 @@ static struct parm_struct parm_table[] = { .label = "mangled names", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bMangledNames, + .offset = LOCAL_VAR(bMangledNames), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3130,7 +3134,7 @@ static struct parm_struct parm_table[] = { .label = "max stat cache size", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iMaxStatCacheSize, + .offset = GLOBAL_VAR(iMaxStatCacheSize), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3139,7 +3143,7 @@ static struct parm_struct parm_table[] = { .label = "stat cache", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bStatCache, + .offset = GLOBAL_VAR(bStatCache), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3148,7 +3152,7 @@ static struct parm_struct parm_table[] = { .label = "store dos attributes", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bStoreDosAttributes, + .offset = LOCAL_VAR(bStoreDosAttributes), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3157,7 +3161,7 @@ static struct parm_struct parm_table[] = { .label = "dmapi support", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bDmapiSupport, + .offset = LOCAL_VAR(bDmapiSupport), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3170,7 +3174,7 @@ static struct parm_struct parm_table[] = { .label = "machine password timeout", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.machine_password_timeout, + .offset = GLOBAL_VAR(machine_password_timeout), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_WIZARD, @@ -3182,7 +3186,7 @@ static struct parm_struct parm_table[] = { .label = "add user script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAddUserScript, + .offset = GLOBAL_VAR(szAddUserScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3191,7 +3195,7 @@ static struct parm_struct parm_table[] = { .label = "rename user script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szRenameUserScript, + .offset = GLOBAL_VAR(szRenameUserScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3200,7 +3204,7 @@ static struct parm_struct parm_table[] = { .label = "delete user script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDelUserScript, + .offset = GLOBAL_VAR(szDelUserScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3209,7 +3213,7 @@ static struct parm_struct parm_table[] = { .label = "add group script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAddGroupScript, + .offset = GLOBAL_VAR(szAddGroupScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3218,7 +3222,7 @@ static struct parm_struct parm_table[] = { .label = "delete group script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDelGroupScript, + .offset = GLOBAL_VAR(szDelGroupScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3227,7 +3231,7 @@ static struct parm_struct parm_table[] = { .label = "add user to group script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAddUserToGroupScript, + .offset = GLOBAL_VAR(szAddUserToGroupScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3236,7 +3240,7 @@ static struct parm_struct parm_table[] = { .label = "delete user from group script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDelUserFromGroupScript, + .offset = GLOBAL_VAR(szDelUserFromGroupScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3245,7 +3249,7 @@ static struct parm_struct parm_table[] = { .label = "set primary group script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szSetPrimaryGroupScript, + .offset = GLOBAL_VAR(szSetPrimaryGroupScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3254,7 +3258,7 @@ static struct parm_struct parm_table[] = { .label = "add machine script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAddMachineScript, + .offset = GLOBAL_VAR(szAddMachineScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3263,7 +3267,7 @@ static struct parm_struct parm_table[] = { .label = "shutdown script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szShutdownScript, + .offset = GLOBAL_VAR(szShutdownScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3272,7 +3276,7 @@ static struct parm_struct parm_table[] = { .label = "abort shutdown script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAbortShutdownScript, + .offset = GLOBAL_VAR(szAbortShutdownScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3281,7 +3285,7 @@ static struct parm_struct parm_table[] = { .label = "username map script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szUsernameMapScript, + .offset = GLOBAL_VAR(szUsernameMapScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3290,7 +3294,7 @@ static struct parm_struct parm_table[] = { .label = "username map cache time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iUsernameMapCacheTime, + .offset = GLOBAL_VAR(iUsernameMapCacheTime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3299,7 +3303,7 @@ static struct parm_struct parm_table[] = { .label = "logon script", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogonScript, + .offset = GLOBAL_VAR(szLogonScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3308,7 +3312,7 @@ static struct parm_struct parm_table[] = { .label = "logon path", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogonPath, + .offset = GLOBAL_VAR(szLogonPath), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3317,7 +3321,7 @@ static struct parm_struct parm_table[] = { .label = "logon drive", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogonDrive, + .offset = GLOBAL_VAR(szLogonDrive), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3326,7 +3330,7 @@ static struct parm_struct parm_table[] = { .label = "logon home", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogonHome, + .offset = GLOBAL_VAR(szLogonHome), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3335,7 +3339,7 @@ static struct parm_struct parm_table[] = { .label = "domain logons", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDomainLogons, + .offset = GLOBAL_VAR(bDomainLogons), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3345,7 +3349,7 @@ static struct parm_struct parm_table[] = { .label = "init logon delayed hosts", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szInitLogonDelayedHosts, + .offset = GLOBAL_VAR(szInitLogonDelayedHosts), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3355,7 +3359,7 @@ static struct parm_struct parm_table[] = { .label = "init logon delay", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.InitLogonDelay, + .offset = GLOBAL_VAR(InitLogonDelay), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3368,7 +3372,7 @@ static struct parm_struct parm_table[] = { .label = "os level", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.os_level, + .offset = GLOBAL_VAR(os_level), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -3377,7 +3381,7 @@ static struct parm_struct parm_table[] = { .label = "lm announce", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.lm_announce, + .offset = GLOBAL_VAR(lm_announce), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_ADVANCED, @@ -3386,7 +3390,7 @@ static struct parm_struct parm_table[] = { .label = "lm interval", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.lm_interval, + .offset = GLOBAL_VAR(lm_interval), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3395,7 +3399,7 @@ static struct parm_struct parm_table[] = { .label = "preferred master", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.iPreferredMaster, + .offset = GLOBAL_VAR(iPreferredMaster), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -3404,7 +3408,7 @@ static struct parm_struct parm_table[] = { .label = "prefered master", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.iPreferredMaster, + .offset = GLOBAL_VAR(iPreferredMaster), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_HIDE, @@ -3413,7 +3417,7 @@ static struct parm_struct parm_table[] = { .label = "local master", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bLocalMaster, + .offset = GLOBAL_VAR(bLocalMaster), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -3422,7 +3426,7 @@ static struct parm_struct parm_table[] = { .label = "domain master", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.iDomainMaster, + .offset = GLOBAL_VAR(iDomainMaster), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_BASIC | FLAG_ADVANCED, @@ -3431,7 +3435,7 @@ static struct parm_struct parm_table[] = { .label = "browse list", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bBrowseList, + .offset = GLOBAL_VAR(bBrowseList), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3440,7 +3444,7 @@ static struct parm_struct parm_table[] = { .label = "browseable", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bBrowseable, + .offset = LOCAL_VAR(bBrowseable), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -3449,7 +3453,7 @@ static struct parm_struct parm_table[] = { .label = "browsable", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bBrowseable, + .offset = LOCAL_VAR(bBrowseable), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -3458,7 +3462,7 @@ static struct parm_struct parm_table[] = { .label = "access based share enum", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bAccessBasedShareEnum, + .offset = LOCAL_VAR(bAccessBasedShareEnum), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE @@ -3467,7 +3471,7 @@ static struct parm_struct parm_table[] = { .label = "enhanced browsing", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.enhanced_browsing, + .offset = GLOBAL_VAR(enhanced_browsing), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3479,7 +3483,7 @@ static struct parm_struct parm_table[] = { .label = "dns proxy", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bDNSproxy, + .offset = GLOBAL_VAR(bDNSproxy), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3488,7 +3492,7 @@ static struct parm_struct parm_table[] = { .label = "wins proxy", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWINSproxy, + .offset = GLOBAL_VAR(bWINSproxy), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3497,7 +3501,7 @@ static struct parm_struct parm_table[] = { .label = "wins server", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szWINSservers, + .offset = GLOBAL_VAR(szWINSservers), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -3506,7 +3510,7 @@ static struct parm_struct parm_table[] = { .label = "wins support", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWINSsupport, + .offset = GLOBAL_VAR(bWINSsupport), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_WIZARD, @@ -3515,7 +3519,7 @@ static struct parm_struct parm_table[] = { .label = "wins hook", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szWINSHook, + .offset = GLOBAL_VAR(szWINSHook), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3527,7 +3531,7 @@ static struct parm_struct parm_table[] = { .label = "blocking locks", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bBlockingLocks, + .offset = LOCAL_VAR(bBlockingLocks), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3536,7 +3540,7 @@ static struct parm_struct parm_table[] = { .label = "csc policy", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.iCSCPolicy, + .offset = LOCAL_VAR(iCSCPolicy), .special = NULL, .enum_list = enum_csc_policy, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3545,7 +3549,7 @@ static struct parm_struct parm_table[] = { .label = "fake oplocks", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bFakeOplocks, + .offset = LOCAL_VAR(bFakeOplocks), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -3554,7 +3558,7 @@ static struct parm_struct parm_table[] = { .label = "kernel oplocks", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bKernelOplocks, + .offset = GLOBAL_VAR(bKernelOplocks), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -3563,7 +3567,7 @@ static struct parm_struct parm_table[] = { .label = "locking", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bLocking, + .offset = LOCAL_VAR(bLocking), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3572,7 +3576,7 @@ static struct parm_struct parm_table[] = { .label = "lock spin time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iLockSpinTime, + .offset = GLOBAL_VAR(iLockSpinTime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -3581,7 +3585,7 @@ static struct parm_struct parm_table[] = { .label = "oplocks", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bOpLocks, + .offset = LOCAL_VAR(bOpLocks), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3590,7 +3594,7 @@ static struct parm_struct parm_table[] = { .label = "level2 oplocks", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bLevel2OpLocks, + .offset = LOCAL_VAR(bLevel2OpLocks), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3599,7 +3603,7 @@ static struct parm_struct parm_table[] = { .label = "oplock break wait time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.oplock_break_wait_time, + .offset = GLOBAL_VAR(oplock_break_wait_time), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -3608,7 +3612,7 @@ static struct parm_struct parm_table[] = { .label = "oplock contention limit", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iOplockContentionLimit, + .offset = LOCAL_VAR(iOplockContentionLimit), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3617,7 +3621,7 @@ static struct parm_struct parm_table[] = { .label = "posix locking", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bPosixLocking, + .offset = LOCAL_VAR(bPosixLocking), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3626,7 +3630,7 @@ static struct parm_struct parm_table[] = { .label = "strict locking", .type = P_ENUM, .p_class = P_LOCAL, - .ptr = &sDefault.iStrictLocking, + .offset = LOCAL_VAR(iStrictLocking), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -3635,7 +3639,7 @@ static struct parm_struct parm_table[] = { .label = "share modes", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bShareModes, + .offset = LOCAL_VAR(bShareModes), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL | FLAG_DEPRECATED, @@ -3647,7 +3651,7 @@ static struct parm_struct parm_table[] = { .label = "ldap admin dn", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLdapAdminDn, + .offset = GLOBAL_VAR(szLdapAdminDn), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3656,7 +3660,7 @@ static struct parm_struct parm_table[] = { .label = "ldap delete dn", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_delete_dn, + .offset = GLOBAL_VAR(ldap_delete_dn), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3665,7 +3669,7 @@ static struct parm_struct parm_table[] = { .label = "ldap group suffix", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLdapGroupSuffix, + .offset = GLOBAL_VAR(szLdapGroupSuffix), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3674,7 +3678,7 @@ static struct parm_struct parm_table[] = { .label = "ldap idmap suffix", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLdapIdmapSuffix, + .offset = GLOBAL_VAR(szLdapIdmapSuffix), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3683,7 +3687,7 @@ static struct parm_struct parm_table[] = { .label = "ldap machine suffix", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLdapMachineSuffix, + .offset = GLOBAL_VAR(szLdapMachineSuffix), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3692,7 +3696,7 @@ static struct parm_struct parm_table[] = { .label = "ldap passwd sync", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_passwd_sync, + .offset = GLOBAL_VAR(ldap_passwd_sync), .special = NULL, .enum_list = enum_ldap_passwd_sync, .flags = FLAG_ADVANCED, @@ -3701,7 +3705,7 @@ static struct parm_struct parm_table[] = { .label = "ldap password sync", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_passwd_sync, + .offset = GLOBAL_VAR(ldap_passwd_sync), .special = NULL, .enum_list = enum_ldap_passwd_sync, .flags = FLAG_HIDE, @@ -3710,7 +3714,7 @@ static struct parm_struct parm_table[] = { .label = "ldap replication sleep", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_replication_sleep, + .offset = GLOBAL_VAR(ldap_replication_sleep), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3719,7 +3723,7 @@ static struct parm_struct parm_table[] = { .label = "ldap suffix", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLdapSuffix, + .offset = GLOBAL_VAR(szLdapSuffix), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3728,7 +3732,7 @@ static struct parm_struct parm_table[] = { .label = "ldap ssl", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_ssl, + .offset = GLOBAL_VAR(ldap_ssl), .special = NULL, .enum_list = enum_ldap_ssl, .flags = FLAG_ADVANCED, @@ -3737,7 +3741,7 @@ static struct parm_struct parm_table[] = { .label = "ldap ssl ads", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_ssl_ads, + .offset = GLOBAL_VAR(ldap_ssl_ads), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3746,7 +3750,7 @@ static struct parm_struct parm_table[] = { .label = "ldap deref", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_deref, + .offset = GLOBAL_VAR(ldap_deref), .special = NULL, .enum_list = enum_ldap_deref, .flags = FLAG_ADVANCED, @@ -3755,7 +3759,7 @@ static struct parm_struct parm_table[] = { .label = "ldap follow referral", .type = P_ENUM, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_follow_referral, + .offset = GLOBAL_VAR(ldap_follow_referral), .special = NULL, .enum_list = enum_bool_auto, .flags = FLAG_ADVANCED, @@ -3764,7 +3768,7 @@ static struct parm_struct parm_table[] = { .label = "ldap timeout", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_timeout, + .offset = GLOBAL_VAR(ldap_timeout), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3773,7 +3777,7 @@ static struct parm_struct parm_table[] = { .label = "ldap connection timeout", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_connection_timeout, + .offset = GLOBAL_VAR(ldap_connection_timeout), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3782,7 +3786,7 @@ static struct parm_struct parm_table[] = { .label = "ldap page size", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_page_size, + .offset = GLOBAL_VAR(ldap_page_size), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3791,7 +3795,7 @@ static struct parm_struct parm_table[] = { .label = "ldap user suffix", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLdapUserSuffix, + .offset = GLOBAL_VAR(szLdapUserSuffix), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3800,7 +3804,7 @@ static struct parm_struct parm_table[] = { .label = "ldap debug level", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_debug_level, + .offset = GLOBAL_VAR(ldap_debug_level), .special = handle_ldap_debug_level, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3809,7 +3813,7 @@ static struct parm_struct parm_table[] = { .label = "ldap debug threshold", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.ldap_debug_threshold, + .offset = GLOBAL_VAR(ldap_debug_threshold), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3821,7 +3825,7 @@ static struct parm_struct parm_table[] = { .label = "eventlog list", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szEventLogs, + .offset = GLOBAL_VAR(szEventLogs), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE, @@ -3833,7 +3837,7 @@ static struct parm_struct parm_table[] = { .label = "add share command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAddShareCommand, + .offset = GLOBAL_VAR(szAddShareCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3842,7 +3846,7 @@ static struct parm_struct parm_table[] = { .label = "change share command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szChangeShareCommand, + .offset = GLOBAL_VAR(szChangeShareCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3851,7 +3855,7 @@ static struct parm_struct parm_table[] = { .label = "delete share command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDeleteShareCommand, + .offset = GLOBAL_VAR(szDeleteShareCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3860,7 +3864,7 @@ static struct parm_struct parm_table[] = { .label = "config file", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szConfigFile, + .offset = GLOBAL_VAR(szConfigFile), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE|FLAG_META, @@ -3869,7 +3873,7 @@ static struct parm_struct parm_table[] = { .label = "preload", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAutoServices, + .offset = GLOBAL_VAR(szAutoServices), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3878,7 +3882,7 @@ static struct parm_struct parm_table[] = { .label = "auto services", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAutoServices, + .offset = GLOBAL_VAR(szAutoServices), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3887,7 +3891,7 @@ static struct parm_struct parm_table[] = { .label = "lock directory", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLockDir, + .offset = GLOBAL_VAR(szLockDir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3896,7 +3900,7 @@ static struct parm_struct parm_table[] = { .label = "lock dir", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLockDir, + .offset = GLOBAL_VAR(szLockDir), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -3905,7 +3909,7 @@ static struct parm_struct parm_table[] = { .label = "state directory", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szStateDir, + .offset = GLOBAL_VAR(szStateDir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3914,7 +3918,7 @@ static struct parm_struct parm_table[] = { .label = "cache directory", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szCacheDir, + .offset = GLOBAL_VAR(szCacheDir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3923,7 +3927,7 @@ static struct parm_struct parm_table[] = { .label = "pid directory", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPidDir, + .offset = GLOBAL_VAR(szPidDir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3933,7 +3937,7 @@ static struct parm_struct parm_table[] = { .label = "utmp directory", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szUtmpDir, + .offset = GLOBAL_VAR(szUtmpDir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3942,7 +3946,7 @@ static struct parm_struct parm_table[] = { .label = "wtmp directory", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szWtmpDir, + .offset = GLOBAL_VAR(szWtmpDir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3951,7 +3955,7 @@ static struct parm_struct parm_table[] = { .label = "utmp", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bUtmp, + .offset = GLOBAL_VAR(bUtmp), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3961,7 +3965,7 @@ static struct parm_struct parm_table[] = { .label = "default service", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDefaultService, + .offset = GLOBAL_VAR(szDefaultService), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3970,7 +3974,7 @@ static struct parm_struct parm_table[] = { .label = "default", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szDefaultService, + .offset = GLOBAL_VAR(szDefaultService), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3979,7 +3983,7 @@ static struct parm_struct parm_table[] = { .label = "message command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szMsgCommand, + .offset = GLOBAL_VAR(szMsgCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3988,7 +3992,7 @@ static struct parm_struct parm_table[] = { .label = "dfree cache time", .type = P_INTEGER, .p_class = P_LOCAL, - .ptr = &sDefault.iDfreeCacheTime, + .offset = LOCAL_VAR(iDfreeCacheTime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -3997,7 +4001,7 @@ static struct parm_struct parm_table[] = { .label = "dfree command", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szDfree, + .offset = LOCAL_VAR(szDfree), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4006,7 +4010,7 @@ static struct parm_struct parm_table[] = { .label = "get quota command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szGetQuota, + .offset = GLOBAL_VAR(szGetQuota), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4015,7 +4019,7 @@ static struct parm_struct parm_table[] = { .label = "set quota command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szSetQuota, + .offset = GLOBAL_VAR(szSetQuota), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4024,7 +4028,7 @@ static struct parm_struct parm_table[] = { .label = "remote announce", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szRemoteAnnounce, + .offset = GLOBAL_VAR(szRemoteAnnounce), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4033,7 +4037,7 @@ static struct parm_struct parm_table[] = { .label = "remote browse sync", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szRemoteBrowseSync, + .offset = GLOBAL_VAR(szRemoteBrowseSync), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4042,7 +4046,7 @@ static struct parm_struct parm_table[] = { .label = "socket address", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szSocketAddress, + .offset = GLOBAL_VAR(szSocketAddress), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4051,7 +4055,7 @@ static struct parm_struct parm_table[] = { .label = "nmbd bind explicit broadcast", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bNmbdBindExplicitBroadcast, + .offset = GLOBAL_VAR(bNmbdBindExplicitBroadcast), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4060,7 +4064,7 @@ static struct parm_struct parm_table[] = { .label = "homedir map", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szNISHomeMapName, + .offset = GLOBAL_VAR(szNISHomeMapName), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4069,7 +4073,7 @@ static struct parm_struct parm_table[] = { .label = "afs username map", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szAfsUsernameMap, + .offset = GLOBAL_VAR(szAfsUsernameMap), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4078,7 +4082,7 @@ static struct parm_struct parm_table[] = { .label = "afs token lifetime", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iAfsTokenLifetime, + .offset = GLOBAL_VAR(iAfsTokenLifetime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4087,7 +4091,7 @@ static struct parm_struct parm_table[] = { .label = "log nt token command", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szLogNtTokenCommand, + .offset = GLOBAL_VAR(szLogNtTokenCommand), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4096,7 +4100,7 @@ static struct parm_struct parm_table[] = { .label = "NIS homedir", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bNISHomeMap, + .offset = GLOBAL_VAR(bNISHomeMap), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4105,7 +4109,7 @@ static struct parm_struct parm_table[] = { .label = "-valid", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.valid, + .offset = LOCAL_VAR(valid), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -4114,7 +4118,7 @@ static struct parm_struct parm_table[] = { .label = "copy", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szCopy, + .offset = LOCAL_VAR(szCopy), .special = handle_copy, .enum_list = NULL, .flags = FLAG_HIDE, @@ -4123,7 +4127,7 @@ static struct parm_struct parm_table[] = { .label = "include", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szInclude, + .offset = LOCAL_VAR(szInclude), .special = handle_include, .enum_list = NULL, .flags = FLAG_HIDE|FLAG_META, @@ -4132,7 +4136,7 @@ static struct parm_struct parm_table[] = { .label = "preexec", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPreExec, + .offset = LOCAL_VAR(szPreExec), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -4141,7 +4145,7 @@ static struct parm_struct parm_table[] = { .label = "exec", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPreExec, + .offset = LOCAL_VAR(szPreExec), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4150,7 +4154,7 @@ static struct parm_struct parm_table[] = { .label = "preexec close", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bPreexecClose, + .offset = LOCAL_VAR(bPreexecClose), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4159,7 +4163,7 @@ static struct parm_struct parm_table[] = { .label = "postexec", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szPostExec, + .offset = LOCAL_VAR(szPostExec), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -4168,7 +4172,7 @@ static struct parm_struct parm_table[] = { .label = "root preexec", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szRootPreExec, + .offset = LOCAL_VAR(szRootPreExec), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -4177,7 +4181,7 @@ static struct parm_struct parm_table[] = { .label = "root preexec close", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bRootpreexecClose, + .offset = LOCAL_VAR(bRootpreexecClose), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4186,7 +4190,7 @@ static struct parm_struct parm_table[] = { .label = "root postexec", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szRootPostExec, + .offset = LOCAL_VAR(szRootPostExec), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -4195,7 +4199,7 @@ static struct parm_struct parm_table[] = { .label = "available", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bAvailable, + .offset = LOCAL_VAR(bAvailable), .special = NULL, .enum_list = NULL, .flags = FLAG_BASIC | FLAG_ADVANCED | FLAG_SHARE | FLAG_PRINT, @@ -4204,7 +4208,7 @@ static struct parm_struct parm_table[] = { .label = "registry shares", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bRegistryShares, + .offset = GLOBAL_VAR(bRegistryShares), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4213,7 +4217,7 @@ static struct parm_struct parm_table[] = { .label = "usershare allow guests", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bUsershareAllowGuests, + .offset = GLOBAL_VAR(bUsershareAllowGuests), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4222,7 +4226,7 @@ static struct parm_struct parm_table[] = { .label = "usershare max shares", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iUsershareMaxShares, + .offset = GLOBAL_VAR(iUsershareMaxShares), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4231,7 +4235,7 @@ static struct parm_struct parm_table[] = { .label = "usershare owner only", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bUsershareOwnerOnly, + .offset = GLOBAL_VAR(bUsershareOwnerOnly), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4240,7 +4244,7 @@ static struct parm_struct parm_table[] = { .label = "usershare path", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szUsersharePath, + .offset = GLOBAL_VAR(szUsersharePath), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4249,7 +4253,7 @@ static struct parm_struct parm_table[] = { .label = "usershare prefix allow list", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szUsersharePrefixAllowList, + .offset = GLOBAL_VAR(szUsersharePrefixAllowList), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4258,7 +4262,7 @@ static struct parm_struct parm_table[] = { .label = "usershare prefix deny list", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szUsersharePrefixDenyList, + .offset = GLOBAL_VAR(szUsersharePrefixDenyList), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4267,7 +4271,7 @@ static struct parm_struct parm_table[] = { .label = "usershare template share", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szUsershareTemplateShare, + .offset = GLOBAL_VAR(szUsershareTemplateShare), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4276,7 +4280,7 @@ static struct parm_struct parm_table[] = { .label = "volume", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.volume, + .offset = LOCAL_VAR(volume), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4285,7 +4289,7 @@ static struct parm_struct parm_table[] = { .label = "fstype", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.fstype, + .offset = LOCAL_VAR(fstype), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4294,7 +4298,7 @@ static struct parm_struct parm_table[] = { .label = "set directory", .type = P_BOOLREV, .p_class = P_LOCAL, - .ptr = &sDefault.bNo_set_dir, + .offset = LOCAL_VAR(bNo_set_dir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4303,7 +4307,7 @@ static struct parm_struct parm_table[] = { .label = "wide links", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bWidelinks, + .offset = LOCAL_VAR(bWidelinks), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -4312,7 +4316,7 @@ static struct parm_struct parm_table[] = { .label = "follow symlinks", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bSymlinks, + .offset = LOCAL_VAR(bSymlinks), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -4321,7 +4325,7 @@ static struct parm_struct parm_table[] = { .label = "dont descend", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szDontdescend, + .offset = LOCAL_VAR(szDontdescend), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4330,7 +4334,7 @@ static struct parm_struct parm_table[] = { .label = "magic script", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szMagicScript, + .offset = LOCAL_VAR(szMagicScript), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4339,7 +4343,7 @@ static struct parm_struct parm_table[] = { .label = "magic output", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szMagicOutput, + .offset = LOCAL_VAR(szMagicOutput), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4348,7 +4352,7 @@ static struct parm_struct parm_table[] = { .label = "delete readonly", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bDeleteReadonly, + .offset = LOCAL_VAR(bDeleteReadonly), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -4357,7 +4361,7 @@ static struct parm_struct parm_table[] = { .label = "dos filemode", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bDosFilemode, + .offset = LOCAL_VAR(bDosFilemode), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -4366,7 +4370,7 @@ static struct parm_struct parm_table[] = { .label = "dos filetimes", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bDosFiletimes, + .offset = LOCAL_VAR(bDosFiletimes), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -4375,7 +4379,7 @@ static struct parm_struct parm_table[] = { .label = "dos filetime resolution", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bDosFiletimeResolution, + .offset = LOCAL_VAR(bDosFiletimeResolution), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE | FLAG_GLOBAL, @@ -4384,7 +4388,7 @@ static struct parm_struct parm_table[] = { .label = "fake directory create times", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bFakeDirCreateTimes, + .offset = LOCAL_VAR(bFakeDirCreateTimes), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -4393,7 +4397,7 @@ static struct parm_struct parm_table[] = { .label = "async smb echo handler", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bAsyncSMBEchoHandler, + .offset = GLOBAL_VAR(bAsyncSMBEchoHandler), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -4402,7 +4406,7 @@ static struct parm_struct parm_table[] = { .label = "multicast dns register", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bMulticastDnsRegister, + .offset = GLOBAL_VAR(bMulticastDnsRegister), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_GLOBAL, @@ -4411,7 +4415,7 @@ static struct parm_struct parm_table[] = { .label = "panic action", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szPanicAction, + .offset = GLOBAL_VAR(szPanicAction), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4420,7 +4424,7 @@ static struct parm_struct parm_table[] = { .label = "perfcount module", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szSMBPerfcountModule, + .offset = GLOBAL_VAR(szSMBPerfcountModule), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4432,7 +4436,7 @@ static struct parm_struct parm_table[] = { .label = "vfs objects", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szVfsObjects, + .offset = LOCAL_VAR(szVfsObjects), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4441,7 +4445,7 @@ static struct parm_struct parm_table[] = { .label = "vfs object", .type = P_LIST, .p_class = P_LOCAL, - .ptr = &sDefault.szVfsObjects, + .offset = LOCAL_VAR(szVfsObjects), .special = NULL, .enum_list = NULL, .flags = FLAG_HIDE, @@ -4454,7 +4458,7 @@ static struct parm_struct parm_table[] = { .label = "msdfs root", .type = P_BOOL, .p_class = P_LOCAL, - .ptr = &sDefault.bMSDfsRoot, + .offset = LOCAL_VAR(bMSDfsRoot), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4463,7 +4467,7 @@ static struct parm_struct parm_table[] = { .label = "msdfs proxy", .type = P_STRING, .p_class = P_LOCAL, - .ptr = &sDefault.szMSDfsProxy, + .offset = LOCAL_VAR(szMSDfsProxy), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_SHARE, @@ -4472,7 +4476,7 @@ static struct parm_struct parm_table[] = { .label = "host msdfs", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bHostMSDfs, + .offset = GLOBAL_VAR(bHostMSDfs), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4484,7 +4488,7 @@ static struct parm_struct parm_table[] = { .label = "passdb expand explicit", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bPassdbExpandExplicit, + .offset = GLOBAL_VAR(bPassdbExpandExplicit), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4493,7 +4497,7 @@ static struct parm_struct parm_table[] = { .label = "idmap backend", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szIdmapBackend, + .offset = GLOBAL_VAR(szIdmapBackend), .special = handle_idmap_backend, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_DEPRECATED, @@ -4502,7 +4506,7 @@ static struct parm_struct parm_table[] = { .label = "idmap cache time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iIdmapCacheTime, + .offset = GLOBAL_VAR(iIdmapCacheTime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4511,7 +4515,7 @@ static struct parm_struct parm_table[] = { .label = "idmap negative cache time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.iIdmapNegativeCacheTime, + .offset = GLOBAL_VAR(iIdmapNegativeCacheTime), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4520,7 +4524,7 @@ static struct parm_struct parm_table[] = { .label = "idmap uid", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szIdmapUID, + .offset = GLOBAL_VAR(szIdmapUID), .special = handle_idmap_uid, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_DEPRECATED, @@ -4529,7 +4533,7 @@ static struct parm_struct parm_table[] = { .label = "winbind uid", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szIdmapUID, + .offset = GLOBAL_VAR(szIdmapUID), .special = handle_idmap_uid, .enum_list = NULL, .flags = FLAG_HIDE, @@ -4538,7 +4542,7 @@ static struct parm_struct parm_table[] = { .label = "idmap gid", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szIdmapGID, + .offset = GLOBAL_VAR(szIdmapGID), .special = handle_idmap_gid, .enum_list = NULL, .flags = FLAG_ADVANCED | FLAG_DEPRECATED, @@ -4547,7 +4551,7 @@ static struct parm_struct parm_table[] = { .label = "winbind gid", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szIdmapGID, + .offset = GLOBAL_VAR(szIdmapGID), .special = handle_idmap_gid, .enum_list = NULL, .flags = FLAG_HIDE, @@ -4556,7 +4560,7 @@ static struct parm_struct parm_table[] = { .label = "template homedir", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szTemplateHomedir, + .offset = GLOBAL_VAR(szTemplateHomedir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4565,7 +4569,7 @@ static struct parm_struct parm_table[] = { .label = "template shell", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szTemplateShell, + .offset = GLOBAL_VAR(szTemplateShell), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4574,7 +4578,7 @@ static struct parm_struct parm_table[] = { .label = "winbind separator", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.szWinbindSeparator, + .offset = GLOBAL_VAR(szWinbindSeparator), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4583,7 +4587,7 @@ static struct parm_struct parm_table[] = { .label = "winbind cache time", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.winbind_cache_time, + .offset = GLOBAL_VAR(winbind_cache_time), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4592,7 +4596,7 @@ static struct parm_struct parm_table[] = { .label = "winbind reconnect delay", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.winbind_reconnect_delay, + .offset = GLOBAL_VAR(winbind_reconnect_delay), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4601,7 +4605,7 @@ static struct parm_struct parm_table[] = { .label = "winbind max clients", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.winbind_max_clients, + .offset = GLOBAL_VAR(winbind_max_clients), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4610,7 +4614,7 @@ static struct parm_struct parm_table[] = { .label = "winbind enum users", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindEnumUsers, + .offset = GLOBAL_VAR(bWinbindEnumUsers), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4619,7 +4623,7 @@ static struct parm_struct parm_table[] = { .label = "winbind enum groups", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindEnumGroups, + .offset = GLOBAL_VAR(bWinbindEnumGroups), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4628,7 +4632,7 @@ static struct parm_struct parm_table[] = { .label = "winbind use default domain", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindUseDefaultDomain, + .offset = GLOBAL_VAR(bWinbindUseDefaultDomain), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4637,7 +4641,7 @@ static struct parm_struct parm_table[] = { .label = "winbind trusted domains only", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindTrustedDomainsOnly, + .offset = GLOBAL_VAR(bWinbindTrustedDomainsOnly), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4646,7 +4650,7 @@ static struct parm_struct parm_table[] = { .label = "winbind nested groups", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindNestedGroups, + .offset = GLOBAL_VAR(bWinbindNestedGroups), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4655,7 +4659,7 @@ static struct parm_struct parm_table[] = { .label = "winbind expand groups", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.winbind_expand_groups, + .offset = GLOBAL_VAR(winbind_expand_groups), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4664,7 +4668,7 @@ static struct parm_struct parm_table[] = { .label = "winbind nss info", .type = P_LIST, .p_class = P_GLOBAL, - .ptr = &Globals.szWinbindNssInfo, + .offset = GLOBAL_VAR(szWinbindNssInfo), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4673,7 +4677,7 @@ static struct parm_struct parm_table[] = { .label = "winbind refresh tickets", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindRefreshTickets, + .offset = GLOBAL_VAR(bWinbindRefreshTickets), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4682,7 +4686,7 @@ static struct parm_struct parm_table[] = { .label = "winbind offline logon", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindOfflineLogon, + .offset = GLOBAL_VAR(bWinbindOfflineLogon), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4691,7 +4695,7 @@ static struct parm_struct parm_table[] = { .label = "winbind normalize names", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindNormalizeNames, + .offset = GLOBAL_VAR(bWinbindNormalizeNames), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4700,7 +4704,7 @@ static struct parm_struct parm_table[] = { .label = "winbind rpc only", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bWinbindRpcOnly, + .offset = GLOBAL_VAR(bWinbindRpcOnly), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4709,7 +4713,7 @@ static struct parm_struct parm_table[] = { .label = "create krb5 conf", .type = P_BOOL, .p_class = P_GLOBAL, - .ptr = &Globals.bCreateKrb5Conf, + .offset = GLOBAL_VAR(bCreateKrb5Conf), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4718,7 +4722,7 @@ static struct parm_struct parm_table[] = { .label = "ncalrpc dir", .type = P_STRING, .p_class = P_GLOBAL, - .ptr = &Globals.ncalrpc_dir, + .offset = GLOBAL_VAR(ncalrpc_dir), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, @@ -4727,13 +4731,13 @@ static struct parm_struct parm_table[] = { .label = "winbind max domain connections", .type = P_INTEGER, .p_class = P_GLOBAL, - .ptr = &Globals.winbindMaxDomainConnections, + .offset = GLOBAL_VAR(winbindMaxDomainConnections), .special = NULL, .enum_list = NULL, .flags = FLAG_ADVANCED, }, - {NULL, P_BOOL, P_NONE, NULL, NULL, NULL, 0} + {NULL, P_BOOL, P_NONE, 0, NULL, NULL, 0} }; /*************************************************************************** @@ -4977,7 +4981,7 @@ static void free_one_parameter_by_snum(int snum, struct parm_struct parm) { void *parm_ptr; - if (parm.ptr == NULL) { + if (parm.offset == 0) { return; } @@ -5111,7 +5115,7 @@ static void init_globals(bool reinit_globals) for (i = 0; parm_table[i].label; i++) { if ((parm_table[i].type == P_STRING || parm_table[i].type == P_USTRING) && - parm_table[i].ptr) + parm_table[i].offset) { string_set(lp_parm_ptr(NULL, &parm_table[i]), ""); } @@ -6721,7 +6725,7 @@ done: static bool is_synonym_of(int parm1, int parm2, bool *inverse) { - if ((parm_table[parm1].ptr == parm_table[parm2].ptr) && + if ((parm_table[parm1].offset == parm_table[parm2].offset) && (parm_table[parm1].flags & FLAG_HIDE) && !(parm_table[parm2].flags & FLAG_HIDE)) { @@ -6978,7 +6982,7 @@ static void copy_service(struct loadparm_service *pserviceDest, struct loadparm_ struct param_opt_struct *data; for (i = 0; parm_table[i].label; i++) - if (parm_table[i].ptr && parm_table[i].p_class == P_LOCAL && + if (parm_table[i].offset && parm_table[i].p_class == P_LOCAL && (bcopyall || bitmap_query(pcopymapDest,i))) { void *src_ptr = lp_parm_ptr(pserviceSource, &parm_table[i]); void *dest_ptr = lp_parm_ptr(pserviceDest, &parm_table[i]); @@ -7836,7 +7840,7 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue /* this handles the aliases - set the copymap for other entries with the same data pointer */ for (i = 0; parm_table[i].label; i++) - if (parm_table[i].ptr == parm_table[parmnum].ptr) + if (parm_table[i].offset == parm_table[parmnum].offset) bitmap_clear(ServicePtrs[snum]->copymap, i); } @@ -7919,10 +7923,10 @@ static bool lp_set_cmdline_helper(const char *pszParmName, const char *pszParmVa /* we have to also set FLAG_CMDLINE on aliases. Aliases must * be grouped in the table, so we don't have to search the * whole table */ - for (i=parmnum-1;i>=0 && parm_table[i].ptr == parm_table[parmnum].ptr;i--) { + for (i=parmnum-1;i>=0 && parm_table[i].offset == parm_table[parmnum].offset;i--) { parm_table[i].flags |= FLAG_CMDLINE; } - for (i=parmnum+1;i<NUMPARAMETERS && parm_table[i].ptr == parm_table[parmnum].ptr;i++) { + for (i=parmnum+1;i<NUMPARAMETERS && parm_table[i].offset == parm_table[parmnum].offset;i++) { parm_table[i].flags |= FLAG_CMDLINE; } @@ -8218,8 +8222,8 @@ static void dump_globals(FILE *f) for (i = 0; parm_table[i].label; i++) if (parm_table[i].p_class == P_GLOBAL && !(parm_table[i].flags & FLAG_META) && - parm_table[i].ptr && - (i == 0 || (parm_table[i].ptr != parm_table[i - 1].ptr))) { + parm_table[i].offset && + (i == 0 || (parm_table[i].offset != parm_table[i - 1].offset))) { if (defaults_saved && is_default(i)) continue; fprintf(f, "\t%s = ", parm_table[i].label); @@ -8265,9 +8269,9 @@ static void dump_a_service(struct loadparm_service *pService, FILE * f) if (parm_table[i].p_class == P_LOCAL && !(parm_table[i].flags & FLAG_META) && - parm_table[i].ptr && + parm_table[i].offset && (*parm_table[i].label != '-') && - (i == 0 || (parm_table[i].ptr != parm_table[i - 1].ptr))) + (i == 0 || (parm_table[i].offset != parm_table[i - 1].offset))) { if (pService == &sDefault) { if (defaults_saved && is_default(i)) @@ -8339,9 +8343,9 @@ bool dump_a_parameter(int snum, char *parm_name, FILE * f, bool isGlobal) if (strwicmp(parm_table[i].label, parm_name) == 0 && !(parm_table[i].flags & FLAG_META) && (parm_table[i].p_class == p_class || parm_table[i].flags & flag) && - parm_table[i].ptr && + parm_table[i].offset && (*parm_table[i].label != '-') && - (i == 0 || (parm_table[i].ptr != parm_table[i - 1].ptr))) + (i == 0 || (parm_table[i].offset != parm_table[i - 1].offset))) { void *ptr; @@ -8394,13 +8398,13 @@ struct parm_struct *lp_next_parameter(int snum, int *i, int allparameters) if (parm_table[*i].p_class == P_SEPARATOR) return &parm_table[(*i)++]; - if (!parm_table[*i].ptr + if (!parm_table[*i].offset || (*parm_table[*i].label == '-')) continue; if ((*i) > 0 - && (parm_table[*i].ptr == - parm_table[(*i) - 1].ptr)) + && (parm_table[*i].offset == + parm_table[(*i) - 1].offset)) continue; if (is_default(*i) && !allparameters) @@ -8416,11 +8420,11 @@ struct parm_struct *lp_next_parameter(int snum, int *i, int allparameters) return &parm_table[(*i)++]; if (parm_table[*i].p_class == P_LOCAL && - parm_table[*i].ptr && + parm_table[*i].offset && (*parm_table[*i].label != '-') && ((*i) == 0 || - (parm_table[*i].ptr != - parm_table[(*i) - 1].ptr))) + (parm_table[*i].offset != + parm_table[(*i) - 1].offset))) { if (allparameters || !equal_parameter(parm_table[*i].type, @@ -8588,7 +8592,7 @@ static void lp_save_defaults(void) { int i; for (i = 0; parm_table[i].label; i++) { - if (i > 0 && parm_table[i].ptr == parm_table[i - 1].ptr) + if (i > 0 && parm_table[i].offset == parm_table[i - 1].offset) continue; switch (parm_table[i].type) { case P_LIST: @@ -8597,7 +8601,7 @@ static void lp_save_defaults(void) break; case P_STRING: case P_USTRING: - if (parm_table[i].ptr) { + if (parm_table[i].offset) { parm_table[i].def.svalue = SMB_STRDUP(*(char **)lp_parm_ptr(NULL, &parm_table[i])); } else { parm_table[i].def.svalue = NULL; |