fp = fopen ( LASTFILE ,
" r "
) ;
( fp ) {
if
/* we have been run at least one time */
str = fread ( fp , 32) ;
( str ) last = (
) str ;
if
int
fclose ( fp ) ;
}
now = mktime ( localtime ( time () ) ) ;
elapsed = now - last ;
( elapsed > 0 && elapsed < INTERVAL ) {
if
nb_syslog (
" we have ben run % d seconds ago . skipping . "
exit (0) ;
}
/* record timestamp */
fp = fopen ( LASTFILE ,
" w + "
) ;
( fp ) {
if
str = sprintf (
" % d "
, now ) ;
fwrite ( fp , str ) ;
fclose ( fp ) ;
}
/* read inbox */
msgs = nb_sms_list () ;
nr_msgs = length ( msgs ) ;
( nr_msgs == 0) {
if
nb_syslog (
" there are no messages in your inbox "
exit (0) ;
}
nb_syslog (
" you have % d message ( s ) in your inbox "
/* track states */
reboot = 0;
connecting = 0;
disconnecting = 0;
/* only process latest messages */
start = nr_msgs - MAXMSG ;
( start < 0) start = 0;
if
( i = start ; i < nr_msgs ; i ++) {
for
msg = n b_s ms _retrieve ( msgs [ i ]) ;
(! msg )
;
if
continu e
nb_syslog (
" processing message % d of % d ( ID % s ) "
i , nr_msgs , msgs [ i ]) ;
cmd = parse ( msg ) ;
( cmd ==
" reboot "
) {
if
nb_syslog (
" reboot command received "
reboot = 1;
}
( cmd ==
" connect "
else if
nb_syslog (
" connect command received "
( connecting ) {
if
nb_syslog (
" already connecting "
}
{
else
/* enable first wanlink */
nb_config_set (
" wanlink .0. mode =1 "
connecting = 1;
}
}
( cmd ==
" disconnect "
else if
nb_syslog (
" disconnect command received "
( disconnecting ) {
if
nb_syslog (
" already disconnecting "
}
{
else
/* disable first wanlink */
nb_config_set (
" wanlink .0. mode =0 "
disconnecting = 1;
}
}
( cmd ==
" status "
else if
nb_syslog (
" status command received "
rcpt = nb_sms_header ( msgs [ i ] ,
( rcpt ) {
if
id = nb_sms_send ( rcpt , nb _s t a t u s _ su m m a ry () ) ;
(! id ) {
if
nb_syslog (
" unable to send status message to % s "
}
{
else
nb_syslog (
" successfully queued status message to % s ( ID % s ) "
}
}
NB2700 User Manual
, elapsed ) ;
) ;
, nr_msgs ) ;
,
) ;
) {
) ;
) ;
) ;
) {
) ;
) ;
) ;
) {
) ;
" From "
) ;
142
, rcpt ) ;
, rcpt , id ) ;
Need help?
Do you have a question about the NB2700 and is the answer not in the manual?
Questions and answers