+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
+ galo_fields,
+ 7,
+ "u.users_id != 0",
+ 0,
+ "u.login",
+ 0,
+ },
+
+ {
+ /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v2 */
+ "get_all_active_logins",
+ "gaal",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle FROM users u",
+ galo2_fields,
+ 6,
+ "u.status = 1",
+ 0,
+ "u.login",
+ 0,
+ },
+
+ {
+ /* Q_GAAL - GET_ALL_ACTIVE_LOGINS, v3 */
+ "get_all_active_logins",
+ "gaal",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle FROM users u",
+ galo_fields,
+ 7,
+ "u.status = 1",
+ 0,
+ "u.login",
+ 0,
+ },
+
+ {
+ /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v2 */
+ "get_user_account_by_login",
+ "gual",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ gual2_fields,
+ 15,
+ "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &gubl_validate,
+ },
+
+ {
+ /* Q_GUAL - GET_USER_ACCOUNT_BY_LOGIN, v3 */
+ "get_user_account_by_login",
+ "gual",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ gual_fields,
+ 16,
+ "u.login LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &gubl_validate,
+ },
+
+ {
+ /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v2 */
+ "get_user_account_by_uid",
+ "guau",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guau2_fields,
+ 15,
+ "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &gubu_validate,
+ },
+
+ {
+ /* Q_GUAU - GET_USER_ACCOUNT_BY_UID, v3 */
+ "get_user_account_by_uid",
+ "guau",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guau_fields,
+ 16,
+ "u.unix_uid = %s AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &gubu_validate,
+ },
+
+ {
+ /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v2 */
+ "get_user_account_by_name",
+ "guan",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guan2_fields,
+ 15,
+ "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
+ 2,
+ "u.login",
+ &guan_validate,
+ },
+
+ {
+ /* Q_GUAN - GET_USER_ACCOUNT_BY_NAME, v3 */
+ "get_user_account_by_name",
+ "guan",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guan_fields,
+ 16,
+ "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0 and u.comments = str.string_id",
+ 2,
+ "u.login",
+ &guan_validate,
+ },
+
+ {
+ /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v2 */
+ "get_user_account_by_class",
+ "guac",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guac2_fields,
+ 15,
+ "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_GUAC - GET_USER_ACCOUNT_BY_CLASS, v3 */
+ "get_user_account_by_class",
+ "guac",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guac_fields,
+ 16,
+ "u.type = UPPER('%s') AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v2 */
+ "get_user_account_by_id",
+ "guai",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guam2_fields,
+ 15,
+ "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_GUAM - GET_USER_ACCOUNT_BY_MITID, v3 */
+ "get_user_account_by_id",
+ "guai",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, str.string, CHR(0), u.secure, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u, strings str",
+ guam_fields,
+ 16,
+ "u.clearid LIKE '%s' AND u.users_id != 0 AND u.comments = str.string_id",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_GUBL - GET_USER_BY_LOGIN, v2 */
+ "get_user_by_login",
+ "gubl",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubl2_fields,
+ 12,
+ "u.login LIKE '%s' AND u.users_id != 0",
+ 1,
+ "u.login",
+ &gubl_validate,
+ },
+
+ {
+ /* Q_GUBL - GET_USER_BY_LOGIN, v3 */
+ "get_user_by_login",
+ "gubl",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubl_fields,
+ 13,
+ "u.login LIKE '%s' AND u.users_id != 0",
+ 1,
+ "u.login",
+ &gubl_validate,
+ },
+
+ {
+ /* Q_GUBU - GET_USER_BY_UID, v2 */
+ "get_user_by_uid",
+ "gubu",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubu2_fields,
+ 12,
+ "u.unix_uid = %s AND u.users_id != 0",
+ 1,
+ "u.login",
+ &gubu_validate,
+ },
+
+ {
+ /* Q_GUBU - GET_USER_BY_UID, v3 */
+ "get_user_by_uid",
+ "gubu",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubu_fields,
+ 13,
+ "u.unix_uid = %s AND u.users_id != 0",
+ 1,
+ "u.login",
+ &gubu_validate,
+ },
+
+ {
+ /* Q_GUBN - GET_USER_BY_NAME, v2 */
+ "get_user_by_name",
+ "gubn",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubn2_fields,
+ 12,
+ "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
+ 2,
+ "u.login",
+ &gubn_validate,
+ },
+
+ {
+ /* Q_GUBN - GET_USER_BY_NAME, v3 */
+ "get_user_by_name",
+ "gubn",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubn_fields,
+ 13,
+ "u.first LIKE '%s' AND u.last LIKE '%s' AND u.users_id != 0",
+ 2,
+ "u.login",
+ &gubn_validate,
+ },
+
+ {
+ /* Q_GUBC - GET_USER_BY_CLASS, v2 */
+ "get_user_by_class",
+ "gubc",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubc2_fields,
+ 12,
+ "u.type = UPPER('%s') AND u.users_id != 0",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_GUBC - GET_USER_BY_CLASS, v3 */
+ "get_user_by_class",
+ "gubc",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubc_fields,
+ 13,
+ "u.type = UPPER('%s') AND u.users_id != 0",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_GUBM - GET_USER_BY_MITID, v2 */
+ "get_user_by_mitid",
+ "gubm",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubm2_fields,
+ 12,
+ "u.clearid LIKE '%s' AND u.users_id != 0",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_GUBM - GET_USER_BY_MITID, v3 */
+ "get_user_by_mitid",
+ "gubm",
+ 3,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "u.login, u.unix_uid, u.shell, u.winconsoleshell, u.last, u.first, u.middle, u.status, u.clearid, u.type, TO_CHAR(u.modtime, 'DD-mon-YYYY HH24:MI:SS'), u.modby, u.modwith FROM users u",
+ gubm_fields,
+ 13,
+ "u.clearid LIKE '%s' AND u.users_id != 0",
+ 1,
+ "u.login",
+ &VDfix_modby,
+ },
+
+ {
+ /* Q_AUAC - ADD_USER_ACCOUNT, v2 */ /* uses prefetch_value() for users_id */
+ "add_user_account",
+ "auac",
+ 2,
+ APPEND,
+ "u",
+ USERS_TABLE,
+ /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
+ * but using up one argv element.
+ */
+ "INTO users (login, unix_uid, shell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, %s)",
+ auac2_fields,
+ 12,
+ NULL,
+ 0,
+ NULL,
+ &auac2_validate,
+ },
+
+ {
+ /* Q_AUAC - ADD_USER_ACCOUNT, v3 */ /* uses prefetch_value() for users_id */
+ "add_user_account",
+ "auac",
+ 3,
+ APPEND,
+ "u",
+ USERS_TABLE,
+ /* We set signature to "NVL(CHR(0), '%s')", which is to say, "CHR(0)",
+ * but using up one argv element.
+ */
+ "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', %d, NVL(CHR(0), '%s'), %s, %s)",
+ auac_fields,
+ 13,
+ NULL,
+ 0,
+ NULL,
+ &auac_validate,
+ },
+
+ {
+ /* Q_AUSR - ADD_USER, v2 */ /* uses prefetch_value() for users_id */
+ "add_user",
+ "ausr",
+ 2,
+ APPEND,
+ "u",
+ USERS_TABLE,
+ "INTO users (login, unix_uid, shell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, %s)",
+ auac2_fields,
+ 9,
+ 0,
+ 0,
+ NULL,
+ &ausr2_validate,
+ },
+
+ {
+ /* Q_AUSR - ADD_USER, v3 */ /* uses prefetch_value() for users_id */
+ "add_user",
+ "ausr",
+ 3,
+ APPEND,
+ "u",
+ USERS_TABLE,
+ "INTO users (login, unix_uid, shell, winconsoleshell, last, first, middle, status, clearid, type, comments, signature, secure, users_id) VALUES ('%s', %s, '%s', NVL('%s', CHR(0)), NVL('%s', CHR(0)), NVL('%s', CHR(0)), %s, NVL('%s', CHR(0)), '%s', 0, CHR(0), 0, %s)",
+ auac_fields,
+ 10,
+ 0,
+ 0,
+ NULL,
+ &ausr_validate,
+ },
+
+ {
+ /* Q_RUSR - REGISTER_USER */
+ "register_user",
+ "rusr",
+ 2,
+ APPEND,
+ 0,
+ 0,
+ 0,
+ rusr_fields,
+ 3,
+ 0,
+ 0,
+ NULL,
+ &rusr_validate,
+ },
+
+ {
+ /* Q_UUAC - UPDATE_USER_ACCOUNT, v2 */
+ "update_user_account",
+ "uuac",
+ 2,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ /* See comment in auac about signature. */
+ "users SET login = '%s', unix_uid = %s, shell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s",
+ uuac2_fields,
+ 12,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uuac2_validate,
+ },
+
+ {
+ /* Q_UUAC - UPDATE_USER_ACCOUNT, v3 */
+ "update_user_account",
+ "uuac",
+ 3,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ /* See comment in auac about signature. */
+ "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s', comments = %d, signature = NVL(CHR(0), '%s'), secure = %s",
+ uuac_fields,
+ 13,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uuac_validate,
+ },
+
+ {
+ /* Q_UUSR - UPDATE_USER, v2 */
+ "update_user",
+ "uusr",
+ 2,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET login = '%s', unix_uid = %s, shell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s'",
+ uuac2_fields,
+ 9,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uusr2_validate,
+ },
+
+ {
+ /* Q_UUSR - UPDATE_USER, v3 */
+ "update_user",
+ "uusr",
+ 3,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET login = '%s', unix_uid = %s, shell = '%s', winconsoleshell = '%s', last = NVL('%s', CHR(0)), first = NVL('%s', CHR(0)), middle = NVL('%s', CHR(0)), status = %s, clearid = NVL('%s', CHR(0)), type = '%s'",
+ uuac_fields,
+ 10,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uusr_validate,
+ },
+
+ {
+ /* Q_UUSH - UPDATE_USER_SHELL */
+ "update_user_shell",
+ "uush",
+ 2,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET shell = '%s'",
+ uush_fields,
+ 1,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uush_validate,
+ },
+
+ {
+ /* Q_UUWS - UPDATE_USER_WINDOWS_SHELL */
+ "update_user_windows_shell",
+ "uuws",
+ 2,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET winconsoleshell = '%s'",
+ uuws_fields,
+ 1,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uuws_validate,
+ },
+
+ {
+ /* Q_UUST - UPDATE_USER_STATUS */
+ "update_user_status",
+ "uust",
+ 2,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET status = %s",
+ uust_fields,
+ 1,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uust_validate,
+ },
+
+ {
+ /* Q_UUSS - UPDATE_USER_SECURITY_STATUS */
+ "update_user_security_status",
+ "uuss",
+ 2,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET secure = %s",
+ uuss_fields,
+ 1,
+ "users_id = %d",
+ 1,
+ NULL,
+ &uust_validate,
+ },
+
+ {
+ /* Q_DUSR - DELETE_USER */
+ "delete_user",
+ "dusr",
+ 2,
+ DELETE,
+ "u",
+ USERS_TABLE,
+ NULL,
+ dusr_fields,
+ 0,
+ "users_id = %d",
+ 1,
+ NULL,
+ &dusr_validate,
+ },
+
+ {
+ /* Q_AURV - ADD_USER_RESERVATION */
+ "add_user_reservation",
+ "aurv",
+ 2,
+ UPDATE,
+ 0,
+ USERS_TABLE,
+ 0,
+ aurv_fields,
+ 2,
+ 0,
+ 0,
+ NULL,
+ &aurv_validate,
+ },
+
+ {
+ /* Q_GURV - GET_USER_RESERVATIONS */
+ "get_user_reservations",
+ "gurv",
+ 2,
+ RETRIEVE,
+ 0,
+ USERS_TABLE,
+ 0,
+ gurv_fields,
+ 2,
+ 0,
+ 1,
+ NULL,
+ &gurv_validate,
+ },
+
+ {
+ /* Q_GUBR - GET_USER_BY_RESERVATION */
+ "get_user_by_reservation",
+ "gubr",
+ 2,
+ RETRIEVE,
+ 0,
+ USERS_TABLE,
+ 0,
+ gubr_fields,
+ 1,
+ 0,
+ 1,
+ NULL,
+ &gubr_validate,
+ },
+
+ {
+ /* Q_DURV - DELETE_USER_RESERVATION */
+ "delete_user_reservation",
+ "durv",
+ 2,
+ UPDATE,
+ 0,
+ USERS_TABLE,
+ 0,
+ aurv_fields,
+ 2,
+ 0,
+ 0,
+ NULL,
+ &aurv_validate,
+ },
+
+ {
+ /* Q_GKUM - GET_KERBEROS_USER_MAP */
+ "get_kerberos_user_map",
+ "gkum",
+ 2,
+ RETRIEVE,
+ "k",
+ KRBMAP_TABLE,
+ "u.login, str.string FROM krbmap km, users u, strings str",
+ gkum_fields,
+ 2,
+ "u.login LIKE '%s' AND str.string LIKE '%s' AND km.users_id = u.users_id AND km.string_id = str.string_id",
+ 2,
+ "u.login, str.string",
+ NULL,
+ },
+
+ {
+ /* Q_AKUM - ADD_KERBEROS_USER_MAP */
+ "add_kerberos_user_map",
+ "akum",
+ 2,
+ APPEND,
+ "k",
+ KRBMAP_TABLE,
+ "INTO krbmap (users_id, string_id) VALUES (%d, %d)",
+ akum_fields,
+ 2,
+ 0,
+ 0,
+ NULL,
+ &akum_validate,
+ },
+
+ {
+ /* Q_DKUM - DELETE_KERBEROS_USER_MAP */
+ "delete_kerberos_user_map",
+ "dkum",
+ 2,
+ DELETE,
+ "k",
+ KRBMAP_TABLE,
+ 0,
+ akum_fields,
+ 0,
+ "users_id = %d AND string_id = %d",
+ 2,
+ NULL,
+ &dkum_validate,
+ },
+
+ {
+ /* Q_GFBL - GET_FINGER_BY_LOGIN */
+ "get_finger_by_login",
+ "gfbl",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "login, fullname, nickname, home_addr, home_phone, office_addr, office_phone, department, affiliation, TO_CHAR(fmodtime, 'DD-mon-YYYY HH24:MI:SS'), fmodby, fmodwith FROM users",
+ gfbl_fields,
+ 12,
+ "users_id = %d",
+ 1,
+ "login",
+ &gfbl_validate,
+ },
+
+ {
+ /* Q_UFBL - UPDATE_FINGER_BY_LOGIN */
+ "update_finger_by_login",
+ "ufbl",
+ 2,
+ UPDATE,
+ "u",
+ USERS_TABLE,
+ "users SET fullname= NVL('%s', CHR(0)), nickname= NVL('%s', CHR(0)), home_addr= NVL('%s', CHR(0)), home_phone= NVL('%s', CHR(0)), office_addr= NVL('%s', CHR(0)), office_phone= NVL('%s', CHR(0)), department= NVL('%s', CHR(0)), affiliation= NVL('%s', CHR(0))",
+ ufbl_fields,
+ 8,
+ "users_id = %d",
+ 1,
+ NULL,
+ &ufbl_validate,
+ },
+
+ {
+ /* Q_GPOB - GET_POBOX */
+ "get_pobox",
+ "gpob",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "login, potype, users_id, CHR(0), TO_CHAR(pmodtime, 'DD-mon-YYYY HH24:MI:SS'), pmodby, pmodwith FROM users",
+ gpob_fields,
+ 7,
+ "users_id = %d",
+ 1,
+ "login",
+ &gpob_validate,
+ },
+
+ {
+ /* Q_GAPO - GET_ALL_POBOXES */
+ "get_all_poboxes",
+ "gapo",
+ 2,
+ RETRIEVE,
+ "u",
+ USERS_TABLE,
+ "login, potype, pop_id || ':' || box_id FROM users",
+ gpox_fields,
+ 3,
+ "potype != 'NONE'",
+ 0,
+ "login",
+ &gpox_validate,
+ },
+
+ {
+ /* Q_GPOP - GET_POBOXES_POP */
+ "get_poboxes_pop",
+ "gpop",
+ 2,