Back to index

tetex-bin  3.0
Classes | Defines | Typedefs | Functions | Variables
cwebboot.c File Reference
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include "cpascal.h"
#include <kpathsea/kpathsea.h>
#include "help.h"

Go to the source code of this file.

Classes

struct  name_info
union  name_info.dummy

Defines

#define CWEB
#define ctangle   0
#define cweave   1 \
#define and_and   04
#define lt_lt   020
#define gt_gt   021
#define plus_plus   013
#define minus_minus   01
#define minus_gt   031
#define not_eq   032
#define lt_eq   034
#define gt_eq   035
#define eq_eq   036
#define or_or   037
#define dot_dot_dot   016
#define colon_colon   06
#define period_ast   026
#define minus_gt_ast   027 \
#define buf_size   100
#define longest_name   1000
#define long_buf_size   (buf_size+longest_name)
#define xisspace(c)   (isspace(c) &&((unsigned char) c<0200) )
#define xisupper(c)   (isupper(c) &&((unsigned char) c<0200) ) \
#define max_include_depth   10 \
#define max_file_name_length   1024
#define cur_file   file[include_depth]
#define cur_file_name   file_name[include_depth]
#define cur_line   line[include_depth]
#define web_file   file[0]
#define web_file_name   file_name[0] \
#define lines_dont_match
#define if_section_start_make_pending(b)
#define max_sections
#define too_long()
#define kpse_find_cweb(name)   kpse_find_file(name,kpse_cweb_format,true) \
#define max_bytes   90000 \
#define max_names
#define length(c)   (c+1) ->byte_start-(c) ->byte_start
#define print_id(c)   term_write((c) ->byte_start,length((c) ) ) \
#define hash_size   353 \
#define llink   link
#define rlink   dummy.Rlink
#define root
#define first_chunk(p)   ((p) ->byte_start+2)
#define prefix_length(p)
#define set_prefix_length(p, m)
#define less   0
#define equal   1
#define greater   2
#define prefix   3
#define extension   4 \
#define bad_extension   5 \
#define spotless   0
#define harmless_message   1
#define error_message   2
#define fatal_message   3
#define mark_harmless   {if(history==spotless) history= harmless_message;}
#define mark_error   history= error_message \
#define confusion(s)
#define show_banner   flags['b']
#define show_progress   flags['p']
#define show_stats   flags['s']
#define show_happiness   flags['h']
#define show_kpathsea_debug
#define update_terminal   fflush(stdout) \
#define new_line   putchar('\n')
#define putxchar   putchar
#define term_write(a, b)   fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout)
#define C_printf(c, a)   fprintf(C_file,c,a)
#define C_putc(c)
#define ctangle_banner   "This is CTANGLE, Version 3.64"
#define cweave_banner   "This is CWEAVE, Version 3.64" \

Typedefs

typedef unsigned short sixteen_bits
typedef struct name_info name_info
typedef name_infoname_pointer
typedef name_pointerhash_pointer

Functions

int names_match P4H (name_pointer, char *, int, char)
void init_p P2C (name_pointer, p, char, t)
void init_node P1C (name_pointer, node)
int section_name_cmp P3H (char **, int, name_pointer)
void err_print P1H (char *)
int wrap_up P1H (void)
void fatal P2H (char *, char *)
void overflow (char *)
int input_ln P1C (FILE *, fp)
name_pointer id_lookup P3C (char *, first, char *, last, char, t)
void print_section_name P1C (name_pointer, p)
void sprint_section_name P2C (char *, dest, name_pointer, p)
int web_strcmp P4C (char *, j, int, j_len, char *, k, int, k_len)
name_pointer add_section_name P5C (name_pointer, par, int, c, char *, first, char *, last, int, ispref)
void extend_section_name P4C (name_pointer, p, char *, first, char *, last, int, ispref)
name_pointer section_lookup P3C (char *, first, char *, last, int, ispref)
int section_name_cmp P3C (char **, pfirst, int, len, name_pointer, r)
void err_print P1C (char *, s)
void fatal P2C (char *, s, char *, t)
void overflow P1C (char *, t)

Variables

boolean program
char buffer [long_buf_size]
char * buffer_end = buffer+buf_size-2
char * limit = buffer
char * loc = buffer
int include_depth
FILEfile [max_include_depth]
FILEchange_file
char file_name [max_include_depth][max_file_name_length]
char change_file_name [max_file_name_length]
int line [max_include_depth]
int change_line
int change_depth
boolean input_has_ended
boolean changing
boolean web_file_open = 0
sixteen_bits section_count
boolean changed_section [max_sections]
boolean change_pending
boolean print_where = 0
char byte_mem [max_bytes]
char * byte_mem_end = byte_mem+max_bytes-1
name_info name_dir [max_names]
name_pointer name_dir_end = name_dir+max_names-1
name_pointer name_ptr
char * byte_ptr
name_pointer hash [hash_size]
hash_pointer hash_end = hash+hash_size-1
hash_pointer h
int history = spotless
int argc
char ** argv
char C_file_name [max_file_name_length]
char tex_file_name [max_file_name_length]
char idx_file_name [max_file_name_length]
char scn_file_name [max_file_name_length]
boolean flags [128]
FILEC_file
FILEtex_file
FILEidx_file
FILEscn_file
FILEactive_file
char * found_filename
int phase
char change_buffer [buf_size]
char * change_limit

Class Documentation

struct name_info

Definition at line 174 of file ctangleboot.c.

Collaboration diagram for name_info:
Class Members
char * byte_start
union name_info dummy
union name_info dummy
union name_info dummy
union name_info dummy
char * equiv_or_xref
struct name_info * link
union name_info.dummy

Definition at line 193 of file cwebboot.c.

Class Members
char Ilk
struct name_info * Rlink

Define Documentation

#define and_and   04

Definition at line 30 of file cwebboot.c.

#define bad_extension   5 \

Definition at line 105 of file cwebboot.c.

#define buf_size   100

Definition at line 46 of file cwebboot.c.

#define C_printf (   c,
  a 
)    fprintf(C_file,c,a)

Definition at line 129 of file cwebboot.c.

#define C_putc (   c)
Value:
putc(c,C_file)  \
 \

Definition at line 130 of file cwebboot.c.

#define colon_colon   06

Definition at line 42 of file cwebboot.c.

#define confusion (   s)
Value:
fatal("! This can't happen: ",s)  \
 \

Definition at line 114 of file cwebboot.c.

#define ctangle   0

Definition at line 27 of file cwebboot.c.

#define ctangle_banner   "This is CTANGLE, Version 3.64"

Definition at line 133 of file cwebboot.c.

#define cur_file   file[include_depth]

Definition at line 55 of file cwebboot.c.

Definition at line 56 of file cwebboot.c.

#define cur_line   line[include_depth]

Definition at line 57 of file cwebboot.c.

#define cweave   1 \

Definition at line 28 of file cwebboot.c.

#define cweave_banner   "This is CWEAVE, Version 3.64" \

Definition at line 134 of file cwebboot.c.

#define CWEB

Definition at line 19 of file cwebboot.c.

#define dot_dot_dot   016

Definition at line 41 of file cwebboot.c.

#define eq_eq   036

Definition at line 39 of file cwebboot.c.

#define equal   1

Definition at line 100 of file cwebboot.c.

#define error_message   2

Definition at line 109 of file cwebboot.c.

#define extension   4 \

Definition at line 103 of file cwebboot.c.

#define fatal_message   3

Definition at line 110 of file cwebboot.c.

#define first_chunk (   p)    ((p) ->byte_start+2)

Definition at line 93 of file cwebboot.c.

#define greater   2

Definition at line 101 of file cwebboot.c.

#define gt_eq   035

Definition at line 38 of file cwebboot.c.

#define gt_gt   021

Definition at line 32 of file cwebboot.c.

#define harmless_message   1

Definition at line 108 of file cwebboot.c.

#define hash_size   353 \

Definition at line 86 of file cwebboot.c.

Value:
{*limit= '!'; \
for(loc= buffer;xisspace(*loc) ;loc++) ; \
*limit= ' '; \
if(*loc=='@'&&(xisspace(*(loc+1) ) ||*(loc+1) =='*') ) change_pending= b; \
} \

Definition at line 64 of file cwebboot.c.

#define kpse_find_cweb (   name)    kpse_find_file(name,kpse_cweb_format,true) \

Definition at line 76 of file cwebboot.c.

#define length (   c)    (c+1) ->byte_start-(c) ->byte_start

Definition at line 83 of file cwebboot.c.

#define less   0

Definition at line 99 of file cwebboot.c.

Value:

Definition at line 61 of file cwebboot.c.

#define llink   link

Definition at line 88 of file cwebboot.c.

Definition at line 48 of file cwebboot.c.

#define longest_name   1000

Definition at line 47 of file cwebboot.c.

#define lt_eq   034

Definition at line 37 of file cwebboot.c.

#define lt_lt   020

Definition at line 31 of file cwebboot.c.

#define mark_error   history= error_message \

Definition at line 112 of file cwebboot.c.

Definition at line 111 of file cwebboot.c.

#define max_bytes   90000 \

Definition at line 78 of file cwebboot.c.

#define max_file_name_length   1024

Definition at line 54 of file cwebboot.c.

#define max_include_depth   10 \

Definition at line 52 of file cwebboot.c.

#define max_names
Value:
4000 \
 \

Definition at line 80 of file cwebboot.c.

#define max_sections
Value:
2000 \
 \

Definition at line 70 of file cwebboot.c.

#define minus_gt   031

Definition at line 35 of file cwebboot.c.

#define minus_gt_ast   027 \

Definition at line 44 of file cwebboot.c.

#define minus_minus   01

Definition at line 34 of file cwebboot.c.

#define new_line   putchar('\n')

Definition at line 126 of file cwebboot.c.

#define not_eq   032

Definition at line 36 of file cwebboot.c.

#define or_or   037

Definition at line 40 of file cwebboot.c.

#define period_ast   026

Definition at line 43 of file cwebboot.c.

#define plus_plus   013

Definition at line 33 of file cwebboot.c.

#define prefix   3

Definition at line 102 of file cwebboot.c.

#define prefix_length (   p)
Value:
(int) ((unsigned char) *((p) ->byte_start) *256+ \
(unsigned char) *((p) ->byte_start+1) )

Definition at line 94 of file cwebboot.c.

#define print_id (   c)    term_write((c) ->byte_start,length((c) ) ) \

Definition at line 84 of file cwebboot.c.

#define putxchar   putchar

Definition at line 127 of file cwebboot.c.

#define rlink   dummy.Rlink

Definition at line 89 of file cwebboot.c.

#define root
Value:
name_dir->rlink \
 \

Definition at line 90 of file cwebboot.c.

#define set_prefix_length (   p,
 
)
Value:
(*((p) ->byte_start) = (m) /256, \
*((p) ->byte_start+1) = (m) %256)  \

Definition at line 96 of file cwebboot.c.

#define show_banner   flags['b']

Definition at line 117 of file cwebboot.c.

#define show_happiness   flags['h']

Definition at line 120 of file cwebboot.c.

Value:
flags['d'] \
 \

Definition at line 121 of file cwebboot.c.

#define show_progress   flags['p']

Definition at line 118 of file cwebboot.c.

#define show_stats   flags['s']

Definition at line 119 of file cwebboot.c.

#define spotless   0

Definition at line 107 of file cwebboot.c.

#define term_write (   a,
  b 
)    fflush(stdout) ,fwrite(a,sizeof(char) ,b,stdout)

Definition at line 128 of file cwebboot.c.

#define too_long ( )
Value:
{include_depth--; \
err_print("! Include file name too long") ;goto restart;} \

Definition at line 73 of file cwebboot.c.

#define update_terminal   fflush(stdout) \

Definition at line 124 of file cwebboot.c.

#define web_file   file[0]

Definition at line 58 of file cwebboot.c.

#define web_file_name   file_name[0] \

Definition at line 59 of file cwebboot.c.

#define xisspace (   c)    (isspace(c) &&((unsigned char) c<0200) )

Definition at line 49 of file cwebboot.c.

#define xisupper (   c)    (isupper(c) &&((unsigned char) c<0200) ) \

Definition at line 50 of file cwebboot.c.


Typedef Documentation

Definition at line 223 of file cwebboot.c.

typedef struct name_info name_info

Definition at line 208 of file cwebboot.c.

typedef unsigned short sixteen_bits

Definition at line 173 of file cwebboot.c.


Function Documentation

void overflow ( char *  )

Definition at line 1074 of file common.c.

{
printf("\n! Sorry, %s capacity exceeded",t);fatal("","");
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 518 of file ctangleboot.c.

{
node->equiv= (char*)text_info;
}
int input_ln P1C ( FILE ,
fp   
)

Definition at line 406 of file cwebboot.c.

{
register int c= EOF;
register char*k;
if(feof(fp))return(0);
limit= k= buffer;
while(k<=buffer_end&&(c= getc(fp))!=EOF&&c!='\n')
if((*(k++)= c)!=' ')limit= k;
if(k> buffer_end)
if((c= getc(fp))!=EOF&&c!='\n'){
ungetc(c,fp);loc= buffer;err_print("! Input line too long");

}
if(c==EOF&&limit==buffer)return(0);

return(1);
}

Definition at line 795 of file cwebboot.c.

{
char*ss,*s= first_chunk(p);
name_pointer q= p+1;
while(p!=name_dir){
ss= (p+1)->byte_start-1;
if(*ss==' '&&ss>=s){
term_write(s,ss-s);p= q->link;q= p;
}else{
term_write(s,ss+1-s);p= name_dir;q= NULL;
}
s= p->byte_start;
}
if(q)term_write("...",3);
}
void err_print P1C ( char *  ,
s   
)

Definition at line 1050 of file cwebboot.c.

{
char*k,*l;
printf(*s=='!'?"\n%s":"%s",s);
if(web_file_open)/*61:*/
#line 1115 "./cwebdir/common.w"

{if(changing&&include_depth==change_depth)
printf(". (l. %d of change file)\n",change_line);
else if(include_depth==0)printf(". (l. %d)\n",cur_line);
else printf(". (l. %d of include file %s)\n",cur_line,cur_file_name);
l= (loc>=limit?limit:loc);
if(l> buffer){
for(k= buffer;k<l;k++)
if(*k=='\t')putchar(' ');
else putchar(*k);
putchar('\n');
for(k= buffer;k<l;k++)putchar(' ');
}
for(k= l;k<limit;k++)putchar(*k);
if(*limit=='|')putchar('|');
putchar(' ');
}

/*:61*/
#line 1102 "./cwebdir/common.w"
;
update_terminal;mark_error;
}

Here is the call graph for this function:

void overflow P1C ( char *  ,
t   
)

Definition at line 1125 of file cwebboot.c.

{
printf("\n! Sorry, %s capacity exceeded",t);fatal("","");
}

Here is the call graph for this function:

void err_print P1H ( char *  )
int wrap_up P1H ( void  ) [read]

Definition at line 260 of file afm2tfm.c.

                  {
   register char *p ;
   register int c ;

   param = buffer ;
   for (p=buffer; (c=getc(afmin)) != EOF;) {
      if (p - buffer >= INBUFSIZE)
         error("! input line too long; perhaps input file is malformed?") ;
      *p++ = c ;
      if (c == '\r') {
         c = getc(afmin) ;
         if (c != EOF) {
            if (c == '\n') {
               *p++ = c ;
            } else {
               ungetc(c, afmin) ;
            }
         }
         break ;
      } else if (c == '\n') {
         break ;
      }
   }
   *p = 0 ;
   (void)strcpy(obuffer, buffer) ;
   if (p == buffer && c == EOF)
      return(0) ;
   else
      return(1) ;
}
void init_p P2C ( name_pointer  ,
p  ,
char  ,
t   
)

Definition at line 525 of file ctangleboot.c.

{}
void sprint_section_name P2C ( char *  ,
dest  ,
name_pointer  ,
p   
)

Definition at line 817 of file cwebboot.c.

{
char*ss,*s= first_chunk(p);
name_pointer q= p+1;
while(p!=name_dir){
ss= (p+1)->byte_start-1;
if(*ss==' '&&ss>=s){
p= q->link;q= p;
}else{
ss++;p= name_dir;
}
strncpy(dest,s,ss-s),dest+= ss-s;
s= p->byte_start;
}
*dest= '\0';
}

Here is the call graph for this function:

void fatal P2C ( char *  ,
s  ,
char *  ,
t   
)

Definition at line 1113 of file cwebboot.c.

Here is the call graph for this function:

void fatal P2H ( char *  ,
char *   
)
name_pointer id_lookup P3C ( char *  ,
first  ,
char *  ,
last  ,
char  ,
t   
)

Definition at line 742 of file cwebboot.c.

{
char*i= first;
int h;
int l;
name_pointer p;
if(last==NULL)for(last= first;*last!='\0';last++);
l= last-first;
/*38:*/
#line 683 "./cwebdir/common.w"

h= (unsigned char)*i;
while(++i<last)h= (h+h+(int)((unsigned char)*i))%hash_size;


/*:38*/
#line 673 "./cwebdir/common.w"
;
/*39:*/
#line 691 "./cwebdir/common.w"

p= hash[h];
while(p&&!names_match(p,first,l,t))p= p->link;
if(p==NULL){
p= name_ptr;
p->link= hash[h];hash[h]= p;
}

/*:39*/
#line 674 "./cwebdir/common.w"
;
if(p==name_ptr)/*41:*/
#line 706 "./cwebdir/common.w"
{
if(byte_ptr+l> byte_mem_end)overflow("byte memory");
if(name_ptr>=name_dir_end)overflow("name");
strncpy(byte_ptr,first,l);
(++name_ptr)->byte_start= byte_ptr+= l;
if(program==cweave)init_p(p,t);
}

/*:41*/
#line 675 "./cwebdir/common.w"
;
return(p);
}

Here is the call graph for this function:

name_pointer section_lookup P3C ( char *  ,
first  ,
char *  ,
last  ,
int  ,
ispref   
)

Definition at line 924 of file cwebboot.c.

{
int c= 0;
name_pointer p= root;
name_pointer q= NULL;
name_pointer r= NULL;
name_pointer par= NULL;

int name_len= last-first+1;
/*52:*/
#line 936 "./cwebdir/common.w"

while(p){
c= web_strcmp(first,name_len,first_chunk(p),prefix_length(p));
if(c==less||c==greater){
if(r==NULL)
par= p;
p= (c==less?p->llink:p->rlink);
}else{
if(r!=NULL){
printf("\n! Ambiguous prefix: matches <");

print_prefix_name(p);
printf(">\n and <");
print_prefix_name(r);
err_print(">");
return name_dir;
}
r= p;
p= p->llink;
q= r->rlink;
}
if(p==NULL)
p= q,q= NULL;
}

/*:52*/
#line 926 "./cwebdir/common.w"
;
/*53:*/
#line 961 "./cwebdir/common.w"

if(r==NULL)
return add_section_name(par,c,first,last+1,ispref);

/*:53*/
#line 927 "./cwebdir/common.w"
;
/*54:*/
#line 969 "./cwebdir/common.w"

switch(section_name_cmp(&first,name_len,r)){

case prefix:
if(!ispref){
printf("\n! New name is a prefix of <");

print_section_name(r);
err_print(">");
}
else if(name_len<prefix_length(r))set_prefix_length(r,name_len);

case equal:return r;
case extension:if(!ispref||first<=last)
extend_section_name(r,first,last+1,ispref);
return r;
case bad_extension:
printf("\n! New name extends <");

print_section_name(r);
err_print(">");
return r;
default:
printf("\n! Section name incompatible with <");

print_prefix_name(r);
printf(">,\n which abbreviates <");
print_section_name(r);
err_print(">");
return r;
}

/*:54*/
#line 928 "./cwebdir/common.w"
;
}

Here is the call graph for this function:

int section_name_cmp P3C ( char **  ,
pfirst  ,
int  ,
len  ,
name_pointer  ,
r   
)

Definition at line 1016 of file cwebboot.c.

{
char*first= *pfirst;
name_pointer q= r+1;
char*ss,*s= first_chunk(r);
int c;
int ispref;
while(1){
ss= (r+1)->byte_start-1;
if(*ss==' '&&ss>=r->byte_start)ispref= 1,q= q->link;
else ispref= 0,ss++,q= name_dir;
switch(c= web_strcmp(first,len,s,ss-s)){
case equal:if(q==name_dir)
if(ispref){
*pfirst= first+(ss-s);
return extension;
}else return equal;
else return(q->byte_start==(q+1)->byte_start)?equal:prefix;
case extension:
if(!ispref)return bad_extension;
first+= ss-s;
if(q!=name_dir){len-= ss-s;s= q->byte_start;r= q;continue;}
*pfirst= first;return extension;
default:return c;
}
}
}

Here is the call graph for this function:

int section_name_cmp P3H ( char **  ,
int  ,
name_pointer   
)
int web_strcmp P4C ( char *  ,
,
int  ,
j_len  ,
char *  ,
,
int  ,
k_len   
)

Definition at line 854 of file cwebboot.c.

{
char*j1= j+j_len,*k1= k+k_len;
while(k<k1&&j<j1&&*j==*k)k++,j++;
if(k==k1)if(j==j1)return equal;
else return extension;
else if(j==j1)return prefix;
else if(*j<*k)return less;
else return greater;
}
void extend_section_name P4C ( name_pointer  ,
p  ,
char *  ,
first  ,
char *  ,
last  ,
int  ,
ispref   
)

Definition at line 901 of file cwebboot.c.

{
char*s;
name_pointer q= p+1;
int name_len= last-first+ispref;
if(name_ptr>=name_dir_end)overflow("name");
while(q->link!=name_dir)q= q->link;
q->link= name_ptr;
s= name_ptr->byte_start;
name_ptr->link= name_dir;
if(s+name_len> byte_mem_end)overflow("byte memory");
(++name_ptr)->byte_start= byte_ptr= s+name_len;
strncpy(s,first,name_len);
if(ispref)*(byte_ptr-1)= ' ';
}

Here is the call graph for this function:

int names_match P4H ( name_pointer  ,
char *  ,
int  ,
char   
)
name_pointer add_section_name P5C ( name_pointer  ,
par  ,
int  ,
c  ,
char *  ,
first  ,
char *  ,
last  ,
int  ,
ispref   
)

Definition at line 872 of file cwebboot.c.

{
name_pointer p= name_ptr;
char*s= first_chunk(p);
int name_len= last-first+ispref;
if(s+name_len> byte_mem_end)overflow("byte memory");
if(name_ptr+1>=name_dir_end)overflow("name");
(++name_ptr)->byte_start= byte_ptr= s+name_len;
if(ispref){
*(byte_ptr-1)= ' ';
name_len--;
name_ptr->link= name_dir;
(++name_ptr)->byte_start= byte_ptr;
}
set_prefix_length(p,name_len);
strncpy(s,first,name_len);
p->llink= NULL;
p->rlink= NULL;
init_node(p);
return par==NULL?(root= p):c==less?(par->llink= p):(par->rlink= p);
}

Here is the call graph for this function:


Variable Documentation

Definition at line 252 of file cwebboot.c.

Definition at line 236 of file cwebboot.c.

char** argv

Definition at line 237 of file cwebboot.c.

Definition at line 148 of file cwebboot.c.

Definition at line 149 of file cwebboot.c.

Definition at line 209 of file cwebboot.c.

Definition at line 210 of file cwebboot.c.

char* byte_ptr

Definition at line 218 of file cwebboot.c.

Definition at line 247 of file cwebboot.c.

Definition at line 238 of file cwebboot.c.

Definition at line 266 of file cwebboot.c.

Definition at line 165 of file cwebboot.c.

Definition at line 158 of file cwebboot.c.

Definition at line 161 of file cwebboot.c.

char* change_limit

Definition at line 267 of file cwebboot.c.

Definition at line 164 of file cwebboot.c.

Definition at line 176 of file cwebboot.c.

Definition at line 175 of file cwebboot.c.

Definition at line 167 of file cwebboot.c.

Definition at line 157 of file cwebboot.c.

Definition at line 159 of file cwebboot.c.

boolean flags[128]

Definition at line 242 of file cwebboot.c.

Definition at line 253 of file cwebboot.c.

Definition at line 226 of file cwebboot.c.

Definition at line 224 of file cwebboot.c.

Definition at line 225 of file cwebboot.c.

Definition at line 231 of file cwebboot.c.

Definition at line 249 of file cwebboot.c.

Definition at line 240 of file cwebboot.c.

Definition at line 156 of file cwebboot.c.

Definition at line 166 of file cwebboot.c.

char* limit = buffer

Definition at line 150 of file cwebboot.c.

Definition at line 163 of file cwebboot.c.

char* loc = buffer

Definition at line 151 of file cwebboot.c.

Definition at line 211 of file cwebboot.c.

Definition at line 212 of file cwebboot.c.

Definition at line 217 of file cwebboot.c.

Definition at line 261 of file cwebboot.c.

Definition at line 178 of file cwebboot.c.

Definition at line 143 of file cwebboot.c.

Definition at line 250 of file cwebboot.c.

Definition at line 241 of file cwebboot.c.

Definition at line 174 of file cwebboot.c.

Definition at line 248 of file cwebboot.c.

Definition at line 239 of file cwebboot.c.

Definition at line 168 of file cwebboot.c.