/*
- * getroom() - retrieve room data from disk
+ * CtdlGetRoom() - retrieve room data from disk
*/
-int getroom(struct ctdlroom *qrbuf, char *room_name)
+int CtdlGetRoom(struct ctdlroom *qrbuf, char *room_name)
{
struct cdbdata *cdbqr;
char lowercase_name[ROOMNAMELEN];
}
/*
- * lgetroom() - same as getroom() but locks the record (if supported)
+ * CtdlGetRoomLock() - same as getroom() but locks the record (if supported)
*/
-int lgetroom(struct ctdlroom *qrbuf, char *room_name)
+int CtdlGetRoomLock(struct ctdlroom *qrbuf, char *room_name)
{
register int retval;
- retval = getroom(qrbuf, room_name);
+ retval = CtdlGetRoom(qrbuf, room_name);
if (retval == 0) begin_critical_section(S_ROOMS);
return(retval);
}
/*
- * putroom() - store room data to disk
+ * CtdlPutRoom() - store room data to disk
*/
-void putroom(struct ctdlroom *qrbuf) {
+void CtdlPutRoom(struct ctdlroom *qrbuf) {
b_putroom(qrbuf, qrbuf->QRname);
}
/*
- * lputroom() - same as putroom() but unlocks the record (if supported)
+ * CtdlPutRoomLock() - same as CtdlPutRoom() but unlocks the record (if supported)
*/
-void lputroom(struct ctdlroom *qrbuf)
+void CtdlPutRoomLock(struct ctdlroom *qrbuf)
{
- putroom(qrbuf);
+ CtdlPutRoom(qrbuf);
end_critical_section(S_ROOMS);
}
/****************************************************************************/
/*
- * getfloor() - retrieve floor data from disk
+ * CtdlGetFloor() - retrieve floor data from disk
*/
-void getfloor(struct floor *flbuf, int floor_num)
+void CtdlGetFloor(struct floor *flbuf, int floor_num)
{
struct cdbdata *cdbfl;
}
/*
- * lgetfloor() - same as getfloor() but locks the record (if supported)
+ * lgetfloor() - same as CtdlGetFloor() but locks the record (if supported)
*/
void lgetfloor(struct floor *flbuf, int floor_num)
{
begin_critical_section(S_FLOORTAB);
- getfloor(flbuf, floor_num);
+ CtdlGetFloor(flbuf, floor_num);
}
/*
- * cgetfloor() - Get floor record from *cache* (loads from disk if needed)
+ * CtdlGetCachedFloor() - Get floor record from *cache* (loads from disk if needed)
*
* This is strictly a performance hack.
*/
-struct floor *cgetfloor(int floor_num) {
+struct floor *CtdlGetCachedFloor(int floor_num) {
static int initialized = 0;
int i;
int fetch_new = 0;
if (fetch_new) {
fl = malloc(sizeof(struct floor));
- getfloor(fl, floor_num);
+ CtdlGetFloor(fl, floor_num);
begin_critical_section(S_FLOORCACHE);
if (floorcache[floor_num] != NULL) {
free(floorcache[floor_num]);
/*
- * putfloor() - store floor data on disk
+ * CtdlPutFloor() - store floor data on disk
*/
-void putfloor(struct floor *flbuf, int floor_num)
+void CtdlPutFloor(struct floor *flbuf, int floor_num)
{
/* If we've cached this, clear it out, 'cuz it's WRONG now! */
begin_critical_section(S_FLOORCACHE);
/*
- * lputfloor() - same as putfloor() but unlocks the record (if supported)
+ * lputfloor() - same as CtdlPutFloor() but unlocks the record (if supported)
*/
void lputfloor(struct floor *flbuf, int floor_num)
{
- putfloor(flbuf, floor_num);
+ CtdlPutFloor(flbuf, floor_num);
end_critical_section(S_FLOORTAB);
}
/*
* Traverse the room file...
*/
-void ForEachRoom(void (*CallBack) (struct ctdlroom *EachRoom, void *out_data),
+void CtdlForEachRoom(void (*CallBack) (struct ctdlroom *EachRoom, void *out_data),
void *in_data)
{
struct ctdlroom qrbuf;
/*
* Determine whether a given room is non-editable.
*/
-int is_noneditable(struct ctdlroom *qrbuf)
+int CtdlIsNonEditable(struct ctdlroom *qrbuf)
{
/* Mail> rooms are non-editable */
}
cprintf("%d Accessible rooms:\n", LISTING_FOLLOWS);
- ForEachRoom(cmd_lrms_backend, &FloorBeingSearched);
+ CtdlForEachRoom(cmd_lrms_backend, &FloorBeingSearched);
cprintf("000\n");
}
}
cprintf("%d Known rooms:\n", LISTING_FOLLOWS);
- ForEachRoom(cmd_lkra_backend, &FloorBeingSearched);
+ CtdlForEachRoom(cmd_lkra_backend, &FloorBeingSearched);
cprintf("000\n");
}
cprintf("%d Publiic rooms:\n", LISTING_FOLLOWS);
- ForEachRoom(cmd_lprm_backend, &FloorBeingSearched);
+ CtdlForEachRoom(cmd_lprm_backend, &FloorBeingSearched);
cprintf("000\n");
}
}
cprintf("%d Rooms w/ new msgs:\n", LISTING_FOLLOWS);
- ForEachRoom(cmd_lkrn_backend, &FloorBeingSearched);
+ CtdlForEachRoom(cmd_lkrn_backend, &FloorBeingSearched);
cprintf("000\n");
}
}
cprintf("%d Rooms w/o new msgs:\n", LISTING_FOLLOWS);
- ForEachRoom(cmd_lkro_backend, &FloorBeingSearched);
+ CtdlForEachRoom(cmd_lkro_backend, &FloorBeingSearched);
cprintf("000\n");
}
}
cprintf("%d Zapped rooms:\n", LISTING_FOLLOWS);
- ForEachRoom(cmd_lzrm_backend, &FloorBeingSearched);
+ CtdlForEachRoom(cmd_lzrm_backend, &FloorBeingSearched);
cprintf("000\n");
}
* or access control is done here -- the caller should make sure that the
* specified room exists and is ok to access.
*/
-void usergoto(char *where, int display_result, int transiently,
+void CtdlUserGoto(char *where, int display_result, int transiently,
int *retmsgs, int *retnew)
{
int a;
*/
if (where != NULL) {
safestrncpy(CC->room.QRname, where, sizeof CC->room.QRname);
- getroom(&CC->room, where);
+ CtdlGetRoom(&CC->room, where);
}
/* Take care of all the formalities. */
cdbfr = cdb_fetch(CDB_MSGLISTS, &CC->room.QRnumber, sizeof(long));
if (cdbfr != NULL) {
msglist = (long *) cdbfr->ptr;
- cdbfr->ptr = NULL; /* usergoto() now owns this memory */
+ cdbfr->ptr = NULL; /* CtdlUserGoto() now owns this memory */
num_msgs = cdbfr->len / sizeof(long);
cdb_free(cdbfr);
}
convert_room_name_macros(towhere, sizeof towhere);
/* First try a regular match */
- c = getroom(&QRscratch, towhere);
+ c = CtdlGetRoom(&QRscratch, towhere);
/* Then try a mailbox name match */
if (c != 0) {
MailboxName(augmented_roomname, sizeof augmented_roomname,
&CC->user, towhere);
- c = getroom(&QRscratch, augmented_roomname);
+ c = CtdlGetRoom(&QRscratch, augmented_roomname);
if (c == 0)
safestrncpy(towhere, augmented_roomname, sizeof towhere);
}
if (CC->internal_pgm) {
memcpy(&CC->room, &QRscratch,
sizeof(struct ctdlroom));
- usergoto(NULL, 1, transiently, NULL, NULL);
+ CtdlUserGoto(NULL, 1, transiently, NULL, NULL);
return;
}
((ra & UA_GOTOALLOWED))) {
memcpy(&CC->room, &QRscratch,
sizeof(struct ctdlroom));
- usergoto(NULL, 1, transiently, NULL, NULL);
+ CtdlUserGoto(NULL, 1, transiently, NULL, NULL);
return;
} else if ((QRscratch.QRflags & QR_PASSWORDED) &&
((ra & UA_KNOWN) == 0) &&
} else {
memcpy(&CC->room, &QRscratch,
sizeof(struct ctdlroom));
- usergoto(NULL, 1, transiently, NULL, NULL);
+ CtdlUserGoto(NULL, 1, transiently, NULL, NULL);
return;
}
}
if (CtdlAccessCheck(ac_logged_in)) return;
- getroom(&CC->room, CC->room.QRname);
+ CtdlGetRoom(&CC->room, CC->room.QRname);
getuser(&CC->user, CC->curr_user);
if ((CC->room.QRflags & QR_DIRECTORY) == 0) {
{
if (CtdlAccessCheck(ac_room_aide)) return;
- getroom(&CC->room, CC->room.QRname);
+ CtdlGetRoom(&CC->room, CC->room.QRname);
cprintf("%d%c%s|%s|%s|%d|%d|%d|%d|%d|\n",
CIT_OK,
CtdlCheckExpress(),
old_name, new_name, new_floor);
if (new_floor >= 0) {
- fl = cgetfloor(new_floor);
+ fl = CtdlGetCachedFloor(new_floor);
if ((fl->f_flags & F_INUSE) == 0) {
return(crr_invalid_floor);
}
begin_critical_section(S_ROOMS);
- if ( (getroom(&qrtmp, new_name) == 0)
+ if ( (CtdlGetRoom(&qrtmp, new_name) == 0)
&& (strcasecmp(new_name, old_name)) ) {
ret = crr_already_exists;
}
- else if (getroom(&qrbuf, old_name) != 0) {
+ else if (CtdlGetRoom(&qrbuf, old_name) != 0) {
ret = crr_room_not_found;
}
ret = crr_access_denied;
}
- else if (is_noneditable(&qrbuf)) {
+ else if (CtdlIsNonEditable(&qrbuf)) {
ret = crr_noneditable;
}
new_floor = old_floor;
}
qrbuf.QRfloor = new_floor;
- putroom(&qrbuf);
+ CtdlPutRoom(&qrbuf);
begin_critical_section(S_CONFIG);
return;
}
- getroom(&CC->room, new_name);
+ CtdlGetRoom(&CC->room, new_name);
/* Now we have to do a bunch of other stuff */
new_order = 127;
}
- lgetroom(&CC->room, CC->room.QRname);
+ CtdlGetRoomLock(&CC->room, CC->room.QRname);
/* Directory room */
extract_token(buf, args, 2, '|', sizeof buf);
}
/* Write the room record back to disk */
- lputroom(&CC->room);
+ CtdlPutRoomLock(&CC->room);
/* Create a room directory if necessary */
if (CC->room.QRflags & QR_DIRECTORY) {
newu = usbuf.usernum;
}
- lgetroom(&CC->room, CC->room.QRname);
+ CtdlGetRoomLock(&CC->room, CC->room.QRname);
post_notice = 0;
if (CC->room.QRroomaide != newu) {
post_notice = 1;
}
CC->room.QRroomaide = newu;
- lputroom(&CC->room);
+ CtdlPutRoomLock(&CC->room);
/*
* We have to post the change notice _after_ writing changes to
* deleted to the user(s), but it won't actually get purged from the
* database until THE DREADED AUTO-PURGER makes its next run.
*/
-void schedule_room_for_deletion(struct ctdlroom *qrbuf)
+void CtdlScheduleRoomForDeletion(struct ctdlroom *qrbuf)
{
char old_name[ROOMNAMELEN];
static int seq = 0;
safestrncpy(old_name, qrbuf->QRname, sizeof old_name);
- getroom(qrbuf, qrbuf->QRname);
+ CtdlGetRoom(qrbuf, qrbuf->QRname);
/* Turn the room into a private mailbox owned by a user who doesn't
* exist. This will immediately make the room invisible to everyone,
qrbuf->QRflags |= QR_MAILBOX;
time(&qrbuf->QRgen); /* Use a timestamp as the new generation number */
- putroom(qrbuf);
+ CtdlPutRoom(qrbuf);
b_deleteroom(old_name);
}
* AUTO-PURGER in serv_expire.c. All user-facing code should call
* the asynchronous schedule_room_for_deletion() instead.)
*/
-void delete_room(struct ctdlroom *qrbuf)
+void CtdlDeleteRoom(struct ctdlroom *qrbuf)
{
struct floor flbuf;
char filename[100];
CtdlDeleteMessages(qrbuf->QRname, NULL, 0, "");
/* Flag the room record as not in use */
- lgetroom(qrbuf, qrbuf->QRname);
+ CtdlGetRoomLock(qrbuf, qrbuf->QRname);
qrbuf->QRflags = 0;
- lputroom(qrbuf);
+ CtdlPutRoomLock(qrbuf);
/* then decrement the reference count for the floor */
lgetfloor(&flbuf, (int) (qrbuf->QRfloor));
return(0);
}
- if (is_noneditable(qr)) {
+ if (CtdlIsNonEditable(qr)) {
return(0);
}
}
/* Do the dirty work */
- schedule_room_for_deletion(&CC->room);
+ CtdlScheduleRoomForDeletion(&CC->room);
/* Return to the Lobby */
- usergoto(config.c_baseroom, 0, 0, NULL, NULL);
+ CtdlUserGoto(config.c_baseroom, 0, 0, NULL, NULL);
/* tell the world what we did */
snprintf(msg, sizeof msg, "The room \"%s\" has been deleted by %s.\n",
* Room types: 0=public, 1=guessname, 2=passworded, 3=inv-only,
* 4=mailbox, 5=mailbox, but caller supplies namespace
*/
-unsigned create_room(char *new_room_name,
+unsigned CtdlCreateRoom(char *new_room_name,
int new_room_type,
char *new_room_pass,
int new_room_floor,
struct floor flbuf;
struct visit vbuf;
- CtdlLogPrintf(CTDL_DEBUG, "create_room(name=%s, type=%d, view=%d)\n",
+ CtdlLogPrintf(CTDL_DEBUG, "CtdlCreateRoom(name=%s, type=%d, view=%d)\n",
new_room_name, new_room_type, new_room_view);
- if (getroom(&qrbuf, new_room_name) == 0) {
+ if (CtdlGetRoom(&qrbuf, new_room_name) == 0) {
CtdlLogPrintf(CTDL_DEBUG, "%s already exists.\n", new_room_name);
return(0);
}
qrbuf.QRdefaultview = new_room_view;
/* save what we just did... */
- putroom(&qrbuf);
+ CtdlPutRoom(&qrbuf);
/* bump the reference count on whatever floor the room is on */
lgetfloor(&flbuf, (int) qrbuf.QRfloor);
}
if (num_parms(args) >= 5) {
- fl = cgetfloor(extract_int(args, 4));
+ fl = CtdlGetCachedFloor(extract_int(args, 4));
if (fl == NULL) {
cprintf("%d Invalid floor number.\n",
ERROR + INVALID_FLOOR_OPERATION);
}
/* Check to make sure the requested room name doesn't already exist */
- newflags = create_room(new_room_name,
+ newflags = CtdlCreateRoom(new_room_name,
new_room_type, new_room_pass, new_room_floor,
0, avoid_access, new_room_view);
if (newflags == 0) {
/* If we reach this point, the room needs to be created. */
- newflags = create_room(new_room_name,
+ newflags = CtdlCreateRoom(new_room_name,
new_room_type, new_room_pass, new_room_floor, 1, 0,
new_room_view);
fclose(fp);
/* now update the room index so people will see our new info */
- lgetroom(&CC->room, CC->room.QRname); /* lock so no one steps on us */
+ CtdlGetRoomLock(&CC->room, CC->room.QRname); /* lock so no one steps on us */
CC->room.QRinfo = CC->room.QRhighest + 1L;
- lputroom(&CC->room);
+ CtdlPutRoomLock(&CC->room);
}
cprintf("%d Known floors:\n", LISTING_FOLLOWS);
for (a = 0; a < MAXFLOORS; ++a) {
- getfloor(&flbuf, a);
+ CtdlGetFloor(&flbuf, a);
if (flbuf.f_flags & F_INUSE) {
cprintf("%d|%s|%d\n",
a,
}
for (a = 0; a < MAXFLOORS; ++a) {
- getfloor(&flbuf, a);
+ CtdlGetFloor(&flbuf, a);
/* note any free slots while we're scanning... */
if (((flbuf.f_flags & F_INUSE) == 0)