- int new_room_floor);
-void cmd_cre8 (char *args);
-void cmd_einf (char *ok);
-void cmd_lflr (void);
-void cmd_cflr (char *argbuf);
-void cmd_kflr (char *argbuf);
-void cmd_eflr (char *argbuf);
-void ForEachRoom(void (*CallBack)(struct quickroom *EachRoom));
-void assoc_file_name(char *buf, struct quickroom *qrbuf, char *prefix);
-void delete_room(struct quickroom *qrbuf);
-void list_roomname(struct quickroom *qrbuf);
-int is_noneditable(struct quickroom *qrbuf);
+ int new_room_floor,
+ int really_create,
+ int avoid_access,
+ int new_room_view);
+void ForEachRoom(void (*CallBack)(struct ctdlroom *EachRoom, void *out_data),
+ void *in_data);
+void schedule_room_for_deletion(struct ctdlroom *qrbuf);
+void delete_room(struct ctdlroom *qrbuf);
+void list_roomname(struct ctdlroom *qrbuf, int ra, int current_view, int default_view);
+int is_noneditable(struct ctdlroom *qrbuf);
+void CtdlRoomAccess(struct ctdlroom *roombuf, struct ctdluser *userbuf,
+ int *result, int *view);
+int CtdlDoIHavePermissionToDeleteThisRoom(struct ctdlroom *qr);
+
+int CtdlRenameRoom(char *old_name, char *new_name, int new_floor);
+void convert_room_name_macros(char *towhere, size_t maxlen);
+/*
+ * Possible return values for CtdlRenameRoom()
+ */
+enum {
+ crr_ok, /* success */
+ crr_room_not_found, /* room not found */
+ crr_already_exists, /* new name already exists */
+ crr_noneditable, /* cannot edit this room */
+ crr_invalid_floor, /* target floor does not exist */
+ crr_access_denied /* not allowed to edit this room */
+};
+
+