This is setup.c in view mode; [Download] [Up]
/*
setup.c
version : 1.01.0
date : 27.Nov
author : jolly ( who else )
purpose : a simple answering machine setup environment
*/
#import <libc.h>
#import <sys/param.h> // defines MAXPATHLEN
#import "../src/precomp.h"
/************************************************************************/
/* This is the main file for your own answering machine / voice mailbox */
/************************************************************************/
#define SYS_DIR "System"
#define NEW_DIR "New_Ones"
#define SND_DIR "New_Ones_Snd"
#define OLD_DIR "Old_Ones"
#define WELCOME "Welcome"
#define S_MAXTIME "System/Maxtime"
#define S_ERROR "System/Error"
#define S_OK "System/Ok"
#define P_FRIEND 1234
#define S_FRIEND "System/FooBar"
#define P_ROOT 4321 /* password to hear all messages NO LEADING ZERO'S*/
#define R_ACCEPT "System/RootOk"
#define R_MENU "System/RootMenu"
void main_loop(void)
{
int password;
char rec_name[MAXPATHLEN];
char timename[100];
play_message(WELCOME);
play_beep();
do
{
sprintf(rec_name,"%s/%s",NEW_DIR,get_time(timename));
switch(password=record_message(rec_name))
{
case P_ROOT : remove_message(rec_name);root_menu();password=0;break;
case P_FRIEND : play_message(S_FRIEND);break;
case MAXTIME : play_message(S_MAXTIME);cnv_snd(NEW_DIR,SND_DIR,timename);return;
case EOC : cnv_snd(NEW_DIR,SND_DIR,timename);return;
default : remove_message(rec_name);play_message(S_ERROR);
}
}
while(password>0);
}
#define RM_MOM1 "tmp/r_mom1"
#define RM_MOM2 "tmp/r_mom2"
#define RM_MENU "System/R_Menu"
#define RM_ACCEPT "System/R_Accept"
#define RM_LISTENOLD 2
#define RM_NWW_RECORD 4
#define RM_NWW_LISTEN 6
#define RM_NWW_INSTALL 8
void root_menu(void)
{
char mom[MAXPATHLEN*2];
int pwd;
play_message(RM_ACCEPT);
play_all(NEW_DIR);
sprintf(mom,"mv %s/* %s",NEW_DIR,OLD_DIR);
system(mom);
sprintf(mom,"mv %s %s",RM_MOM2,WELCOME);
do
{
play_message(RM_MENU);
switch(pwd=record_message(RM_MOM1))
{
case RM_LISTENOLD : play_all(OLD_DIR);break;
case RM_NWW_RECORD : remove_message(RM_MOM2);play_message(S_OK);
play_beep();record_message(RM_MOM2);break;
case RM_NWW_LISTEN : play_message(RM_MOM2);break;
case RM_NWW_INSTALL : system(mom);play_message(S_OK);break;
default : play_message(S_ERROR);
}
remove_message(RM_MOM1);
}
while(pwd>0);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.