0707070000020010441006640001460001440000010267650364011545000000500000000004Size140 07070700000200311010066400014600014400000102677303640115041000011000000374301.cscope CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) NNNNAAAAMMMMEEEE cscope - interactively examine a C program SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ccccssssccccooooppppeeee [ options ] [ C source files ] DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _C_s_c_o_p_e is an interactive screen-oriented tool that helps you: Learn how a C program works without endless flipping through a thick listing. Locate the section of code to change to fix a bug without having to learn the entire program. Examine the effect of a proposed change such as adding a value to an _e_n_u_m variable. Verify that a change has been made in all source files such as adding an argument to an existing function. Rename a global variable in all source files. Change a constant to a preprocessor symbol in selected lines of files. It is designed to answer questions like: Where is this variable used? What is the value of this preprocessor symbol? Where is this function in the source files? What functions call this function? What functions are called by this function? Where does the message "out of space" come from? Where is this source file in the directory structure? What files include this header file? _C_s_c_o_p_e answers these questions from a symbol cross-reference that it builds the first time it is used on the source files. On a subsequent call, _c_s_c_o_p_e rebuilds the cross- reference only if a source file has changed or the list of source files is different. When the cross-reference is rebuilt the data for the unchanged files is copied from the old cross-reference, which makes rebuilding much faster than the initial build. Page 1 (printed 3/20/86) CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) After the cross-reference is ready _c_s_c_o_p_e will display these input fields: List references to this C symbol: Edit this function or #define: List functions called by this function: List functions calling this function: List lines containing this text string: Change this text string: List file names containing this text string: Edit this file: List files #including this file: Press the TTTTAAAABBBB key repeatedly to move to the desired input field, type the text to search for, and then press the RRRREEEETTTTUUUURRRRNNNN key. If the search is successful, you can use these single-character commands: 1111----9999 Edit the file containing the line. ssssppppaaaacccceeee Display next lines. ++++ Display next lines. ---- Display previous lines. ^^^^EEEE Edit all lines. >>>> Append the list of lines to a file. At any time you can use these single-character commands: .... Search with the last text typed. ^^^^RRRR Rebuild the cross-reference. !!!! Start an interactive shell (type ^^^^DDDD to return to _c_s_c_o_p_e). ^^^^LLLL Redraw the screen. ???? Display this list of commands. ^^^^DDDD Exit _c_s_c_o_p_e. Note: If the first character of the text you want to search for matches one of the above commands, type a \ character first. CCCChhhhaaaannnnggggiiiinnnngggg TTTTeeeexxxxtttt.... After typing the text to be changed, you will be prompted for the new text, then the lines containing the old text will be displayed. You select the lines to be changed with these single-character commands: 1111----9999 Mark or unmark the line to be changed. **** Mark or unmark all displayed lines to be changed. ssssppppaaaacccceeee bbbbaaaarrrr Display next lines. ++++ Display next lines. ---- Display previous lines. aaaa Mark all lines to be changed. ^^^^DDDD Change the marked lines and exit. Page 2 (printed 3/20/86) CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) EEEESSSSCCCC Exit without changing the marked lines. !!!! Start an interactive shell (type ^^^^DDDD to return to _c_s_c_o_p_e). ^^^^LLLL Redraw the screen. ???? Display this list of commands. OOOOppppttttiiiioooonnnnssss.... When invoking _c_s_c_o_p_e you can use these options: ----dddd Do not update the cross-reference. ----ffff _f_i_l_e Use _f_i_l_e as the cross-reference file name instead of the default (cscope.out). ----iiii _f_i_l_e Read the list of C source files from _f_i_l_e. ----ssss _d_i_r The -s option lets you specify an additional directory to look for source files. Many projects have a common and several machine dependent directories at the same level, so now you can be in a machine directory and get the common files too with "cscope -s ../common" ----IIII _d_i_r Look in _d_i_r for #include files. See below for common uses of these options. EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS CCCCaaaalllllllliiiinnnngggg CCCCssssccccooooppppeeee ffffrrrroooommmm tttthhhheeee SSSShhhheeeellllllll.... To use _c_s_c_o_p_e on all the C, lex, and yacc source files in the current directory just type cscope You can also _c_s_c_o_p_e on particular files if you have more than one program in the same directory. The above is equivalent to cscope *.[chlyCGHL] If you want to use _c_s_c_o_p_e on all the source files in the current and lower level directories, first create a list of the files with find . -name '*.[chlyCGHL]' -print | sort >filelist and then use the ----iiii option of _c_s_c_o_p_e cscope -i filelist You may want to use the ----ffff option to create separate symbol cross-reference files for several programs in the same directory, e.g. cscope -f program1.out program1.c cscope -f program2.out program2.c Page 3 (printed 3/20/86) CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) If a file #include's files that are in directories other than the current directory or the standard directory (/usr/include), use the ----IIII option just like when using the _c_c(1) command cscope -I../hdr -I../../hdr If you build a cross-reference for hundreds of source files that are unlikely to change, such as the UNIX kernel, use the ----dddd option on subsequant calls to cscope cscope -d This will avoid the time spent checking if the cross- reference is out-of-date. CCCCaaaalllllllliiiinnnngggg CCCCssssccccooooppppeeee ffffrrrroooommmm aaaannnn EEEEddddiiiittttoooorrrr.... To call _c_s_c_o_p_e from within _v_i(1) type ::::!!!!ccccssssccccooooppppeeee followed by any file arguments. From _e_m_a_c_s(1) type MMMM----!!!!ccccssssccccooooppppeeee followed by any file arguments. There is an _e_m_a_c_s macro for the two most common calls to _c_s_c_o_p_e. Type MMMM----XXXX to call _c_s_c_o_p_e with no file arguments, and type ^^^^UUUUMMMM----XXXX to call _c_s_c_o_p_e with the current file as the single argument. SSSSttttaaaacccckkkkiiiinnnngggg CCCCssssccccooooppppeeee aaaannnndddd EEEEddddiiiittttoooorrrr CCCCaaaallllllllssss.... When _c_s_c_o_p_e puts you in the editor to display one symbol reference and you see another symbol of interest, don't leave the editor, just call _c_s_c_o_p_e again from within the editor. In this way you can stack _c_s_c_o_p_e and editor calls so you can go off on a tangent, and then back up to where you were by exiting the tangential _c_s_c_o_p_e and editor calls. For example, when learning a program you will probably have _c_s_c_o_p_e find the main function and display it with your editor. You can visualize this as an inverse stack of calls: cscope: find and display main() editor: display first lines of main() You may then see that main calls an initialize function. Rather than exiting the editor to go back to _c_s_c_o_p_e, call _c_s_c_o_p_e again from within the editor to find the initialize function and display it with another editor call. Your stack of calls now looks like this: cscope: find and display main() editor: display first lines of main() cscope: find and display initialize() editor: display first lines of initialize() When you are through looking at this function, you can exit Page 4 (printed 3/20/86) CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) this second editor call, exit the second _c_s_c_o_p_e call, and you are back in the first editor call that is displaying the main function. You are now back to: cscope: find and display main() editor: display first lines of main() and can continue reading the main function. EEEENNNNVVVVIIIIRRRROOOONNNNMMMMEEEENNNNTTTT VVVVAAAARRRRIIIIAAAABBBBLLLLEEEESSSS EEEEDDDDIIIITTTTOOOORRRR Your preferred editor, which defaults to _v_i(1). HHHHOOOOMMMMEEEE Your home directory, which is automatically set when you login. IIIINNNNCCCCLLLLUUUUDDDDEEEEDDDDIIIIRRRRSSSS Contains a colon (:) separated list of include directories. Avoids having to use the -I option on the command line. SSSSOOOOUUUURRRRCCCCEEEEDDDDIIIIRRRRSSSS Contains a colon (:) separated list of source directories. Avoids having to use the -s option on the command line. MMMMOOOOUUUUSSSSEEEE Set to _m_y_x if that is your 5620 terminal program. SSSSHHHHEEEELLLLLLLL Your preferred shell, which defaults to _s_h(1). TTTTEEEERRRRMMMM The terminal type, which must be a screen terminal. TTTTEEEERRRRMMMMCCCCAAAAPPPP Terminal capability data base (termcap) full path name. If your terminal is not in the system termcap file /_e_t_c/_t_e_r_m_c_a_p, you can set this variable to your own termcap file. VVVVIIIIEEEEWWWWEEEERRRR Your preferred file display program, which overrides EDITOR (see above). VVVVPPPPAAAATTTTHHHH Change Management System (CMS) view path. To set a variable such as EEEEDDDDIIIITTTTOOOORRRR to a value such as _e_m_a_c_s, put this in your ._p_r_o_f_i_l_e: export EDITOR EDITOR=emacs FFFFIIIILLLLEEEESSSS cscope.out Symbol cross-reference file, which is put in your home directory if it cannot be created in the current directory. ncscope.out Temporary file containing new cross-reference before it replaces the old cross-reference. /usr/include Standard directory for ####iiiinnnncccclllluuuuddddeeee files. BBBBUUUUGGGGSSSS When the cross-reference is up-to-date when _c_s_c_o_p_e starts up, the list of file names searched by these input fields: List file names containing this text string: Edit this file: Page 5 (printed 3/20/86) CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCSSSSCCCCOOOOPPPPEEEE((((1111)))) will not contain #include'd files unless they were in the original file list. _C_s_c_o_p_e does not recognize functions that return a function pointer *(f)() { or function definitions that take more than one line f(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) { It also does not find function calls in functions that have a new structure or union definition in an argument declaration f(a) union { int b; char c; } a; { This, however, is all right f(a) union z a; { AAAAUUUUTTTTHHHHOOOORRRR Joe Steffen Page 6 (printed 3/20/86) 0707070000020033201006640001460001440000010270570364011520000000600000000144Files./Size ./1.cscope ./Files ./Install ./MAKEcpio ./MAKEflop ./Name ./Remove ./cscope ./cscope.1 ./man 0707070000020033221007770001460001440000010270600356323146400001000000001425Installcat < to continue." 0707070000020033231007740001460001440000010270620364011540500001100000000043MAKEcpiocat Files | cpio -ocBv > CSCOPE+IN 0707070000020033521007740001460001440000010270640356323130700001100000000061MAKEflopcat Files | cpio -ocBv > /dev/rfp021 dismount -f 0707070000020033671006640001460001440000010306370367444564000000500000000070NameSteffens CSCOPE for Unix PC (3/20/86) - from THE STORE! 0707070000020035261007770001460001440000010271110356323130700000700000000232Removeecho "Removing Steffen's CSCOPE for the Unix PC ..." rm -f /usr/lbin/cscope message -i "Steffen's CSCOPE has been removed.\n\nTouch to continue." 0707070000020035331007550001460001440000010271130364011377400000700000122450cscopeR w)('F .textw .data )(|@.bss )( )('F.lib Pn Pn/< PnN1X OQ./HJf/H#0NN>`V n PA-H nJg>HH -g Ig@ Sg8 Vg cg dg fg ig sf nHH-@pѮ nJfopѮ n -P . Ig Sg fgl igl sgv`|SpѮ `. O/< M/< 7/<0N1 p.N1xB `Rp# `F# $`-n`.N` .NSopѮ n P -g. /< NX @# >./< NX @# >. N1 @# >. /< NX @# >. N1 @-Hg.N. (N1 @-Hg.NNnxNtvNp  ftB`* ."| 1HH"| =A".RR mB`( ."| 1HH"| >A.RR m  f. 3/9 $N1RX @-Hf$. $/< 5/<0N1Pp.N1x. >/< R/.N1P. >/< `/.N1PB`. c/.N1XR .谹 >m. >/< g/.N1PB`. j/.N1XR .谹 >m. >/< n/.N1P. q/<0N1X 9 >.N] @# >B`>Hn/< /.N1 HnN]X @$H ."y >#R .谹 >m.N1F` nHH./< R/<0N1P. o/<0N1X. /<0N1Xp.N1xR`. N./. /.N*P# > >J >f. /<0N1Xp.N1x y $ /glp./< N1 XJgT. >N1 $. $N1 ЂT.N] @-H. $/9 >/< /N1 # $N,F. >N1 &. $N1 ЃV.N] @# >p/./9 $N1,X @-HgN1X./<  . $"y >A/`. $/< /9 >N1PN.p/N1nX @g$.p/N1nX.p/N1nXp./9 $N1X# (N1-@./< /< >N1P./< /< >N1PN-PN L N^NuNV.N1 @-H.g .N1 Jf n N^Nu n`NVH. >HnN1X. >/< >N1XJf. HnN1X`P. >N1 ./9 >/< >N1PJf*. >N1 "| >A./< HnN1P.p//9 >/9 >N1 .  /9 $N1RX @-HgLHn/< >/< /N1rf&. >HnN1XJgHnHnN1PJfHn n( HH/N1P-nHn/< /.N1 rm . >f|t >lFHn/< /.N1 rmP "y ?.HnN1XJf0R`Hn/< "/.N1 rm . >ft >lFHn/< %/.N1 rm "y ?.HnN1XJfR`Hn/< (/.N1 rm . >f|t` .nlR >lHn/< +/.N1 rm> "y >.HnN1XJf Hn "y >/1N1tPJg. ./< >N1XJg. 0/<0N1XBB. a/9 >N1RX @# >f$. >/< c/<0N1Pp.N1xHn/< /< /9 >N1. /< >N1X. >/< /9 >N1Pt`$ "y ?./< /9 >N1PR >m. >/< /9 >N1Pt`$ "y ?./< /9 >N1PR >m. >/< /9 >N1Pt`$ "y >./< /9 >N1PR >m y >Smb y >"hRp `^.N1FLN^Nup./9 $N1X# (NPp .NP4Nl @-H`@. >p /N1X. /<0N1XB-y >$.` "y >./< /<0N1P` N @-HJg. "y >/1N1XJnJg. "y >/1N1XJl, "y >.N. /<0N1X`4Hn "y >/1N1tPJf( .o "y >.N. ` "y >.N  ? 9 ?"| @ ?$y D`v y >"hR`b. >p/N1X`JRJfNP @$H f4 y >Sm y >"hRp `. >p /N1XJ*f NP @$H g @f# D. /<0N1XNZ @-HRm$ .а >g-n-y >.p/ .А/ ."y >A/N1 ` ~f` y >Sm y >"hRp~`. >p~/N1X# Dpѹ D y DJ(fNP @# DHnNOX.HH.HnNXB`"| =J1g^ .RC1HH"| >J1g@ .RC1HH"| >1HH"| =HH~Ҁ-AR y >Sm y >"hR`. >p./N1XR .C1HH-@fH ? 9 ?"| @ ?$y D  g y >Sm`vp@./< /9 >N1P. >N1FJ (m . (N1BJg.N1F. $N1. $/9 >N1X. >N1`bNVJ Dg^ y D @fBpѹ D y DJ(fNP @# D. )(NOJ9 )(g | )( N^Nup .NP4 @ f`NV n . n/N1XN^NuNVJ9 >g. >N1. >N1NpNu6Np6N\p.N1xN^NuNVH. >N`LJf(. /<0N1X. $/< >N1X. >Nu  Do # D >`p# > 9 >.N] @# ? .p-@` "y D$q ."y ?#R . Dm# > *6LN^NuNVH.N] @-H. 0`` gl n /f.Nf`>t`2. "y ?/1/< 4HnN1 HnN2XR *6m. :/N1DX @$H`LN^NuNVH 9 >R./9 ?N^X @# ?.N^^ @.N] @&H 9 >R >"y ?#LN^NuNVH.N] @-H. >`\ gh /f.Nf`>t`2. "y ?/1/< BHnN1 HnN2XR >m. H/N1DX @$H`LN^NuNVHJ ?f p.N]` 9 >R./9 ?N^X @# ?.N^^ @.N] @(H 9 >R >"y ?#LN^NuNVHJo .ѹ  9 .N] @# > 9 .N] @# D JgR. L/.N1RX @-Hf./< N/<0N1Pp.N1x`b.HnN*X`RJofB .찮l"n $q.N>Jf8.Nz @-Hg ./ NX`./< /<0N1Pp# R`B`. "y ?/1N1RX @-Hg``E nJPgR. / NqXJg>.NJf4. ."y ?/1/< HnN1 Hn/ N,P.p/p//< *$N1d rf | *$`-Hfn.N1FR .찹 >m*`fHn/< k/.N1 rf:HnN4X @-HfnHn/< n/<0N1 p# `.N1FLN^NuNVH.Nrg& ."f(.N @-Hg./.N*XLN^Nut >l. "y ?/1/< HnN1 p.HnN1 XJfHn/.NP`R`NVHt`, "y D ./.N1XJf pLN^NuR >mp`NVH n /gJt`T. "y ?/1/< /< *:N1 p./< *:N1 XJf | *: LN^NuR >m`NVH  9 > fJ  9 ./9 >N^X @# > 9 ./9 D N^X @# D . N^^ @.N] @*H 9 >"y >#.N] @$ 9 >R >"y D #L N^NuNVH B. /.N1RX @# ff*./< /<0N1Pp# L N^NuN#p../.N1,X @-Hg6. /N1XJfN$2. /.N1XJfN$B# +6.N. /9 >N1XB D` 9 D"| +:# 9 D"| +># D 9 D"| +B# D 9 D"| +F#R D`$p-@`S D"S  fB. NJ Do NRB DJfJ. fN1Fp#  y >m y >"hѨp `. >p /N1X`R `Jgx gb 9 D D&t`D "| +Ff2. "| +> 1"| D&A/ I D/N1PJg R Dm Df d Dl`N-@`lNV.p@//< /9 >N1 Jl.. N1. >N1F. >N1p.N1xN^NuNVH|z. /< ;/9 >N1PBt` | D&0(HH(p gp f p-@`ں Dl" "| +>f f4B y >Sm y >"hRp `. >p /N1X y >Sm y >"hRp `. >p /N1X "| +: g& y >Sm y >"hRp `. >p /N1X y >Sm , y >"hR | +=` | D&0(HH( | =J0Hgd | D'0(HH"| >J1gJ "| +B 1Sl6 | D'0(HH"| >1HH"| =1HHH~Ҁ(R y >Sml y >"hR `p. > "| +=1/N1X "| +Bm* y >Sm2 y >"hRp `0. > 2/N1XR`. >p /N1XR` fd | >J0Hg"9 =HH~"H1HHHЁ(` y >Sm y >"hRp `z. >p /N1X`d | =J0HgX | D'0(HH"| >1HH&g8 Dl0 "| +> 1"Rg | =0HHH~Ѓ(R y >Sm y >"hR `. > 2/N1XBp lR | D& 0 (g 0 (g | D&0(HH"|0 1HHr€gR` Ѐ"Ё"| J1g`R | D& 0 (g 0 (g Ѐ"Ё"|  1(f | D& 0((fRSR D"m. ?/9 >N1XL|N^NuNV./9 /9 +6/< B/<0N1N^NuNV`p# 1`NhJgpN^NuB 1zJ 1gB 1`fp# 1z# 1p$# 1~`fR 1z`S 1zfB 1z  1gB 1`J 1zfvB 1`lp# 1p## 1~  fB9 D& 9 D"S# D`S D 9 D"| D& 1 g"| D& 1 fR D`PJ 1zfJ 1fJ 1f p# 1p$`&  1g  1g  1fDp`# 1~ ^ D"o. N E cp  y HH`.p` y fSm y f"hRp` . fN1# Erfp` 9 E-@g f y R "# Ep# E | D& D.N,rfJ 1zf|  f* 9 D"| D&1HHЀ"Ё"| -q` | D& D-H. /.N1XJg. /.N1XJfp# 1# D" D`# D" D 9 1~`hB 1R B DB DJ Dop`@J 1fp'`p".N` U D"Nn# D" Dp# E`. /< D&N12X @-HHH. nA/NX . D&# D# D" D  f D&p# Ep~`./< /9 jN1PN-@mt . b@0; NJHXp.R",L666NVB DB DB 1zB 1B 1B 1p# 1# 1B 1#  N^NuNVp# 1N^NuNVp# 1#  N^NuNVH v` /f *gx  fR  E cp  y HH`* y fSm y f"hRp` . fN1# Erfp` 9 Ef~L N^NuNVH<. `H y R HH# E`,  fR ` 9 D""| D&B1L,HH"ЀЁ"| Ag4,HH"ЀЁ"| E&`x$j g (R f y R r` KY G*c nSBJg S# M"g y M"Jo# M y M" "| jJ1gL`$Y y R "nSHH# E y M" D. S/(NLXrg G*b nHH# # M  D&R# D""| D&B1 y M"X M" LN^Nu y R "nHH# E`J9 D&f# E p` E cp  y HH`* y fSm y f"hRp` . fN1# Erfp` 9 E D&HH# Jo8 y jSm y j"hR `. jp9 /N1X-| D&`RNVJfpN^Nu nJgX  fp`NV E cp  y HH`* y fSm y f"hRp` . fN1# ErfpN^Nu 9 E`NV y jSm y j"hR. N^Nu. jp. /N1X`NV y R ".# EN^NuNVHt` Ѐ"Ё"| A.NxRp eLN^NuNVH $n.N"| 1&q`:./ N1XJf&  f  ā pL N^Nu&k fp`NVH$n.N&$ "| 1%q #LN^NuNVH$nt`HHԀJfpA. N1LN^NuNVN@BNZN:2p.Nt  f B NZrN:NZ-@rg" g g.Nrf`N^NuNVH $.  g gT gJ g g6 g, g, gx g g2 gP gr g !g +g -g .g@ >g& ?g \frS0m8 y0R0r\`4  f . `Npp.Nt`6S > 9 >"y >.N1H 9 >"y D .N1H 9 > >n. (N1BN  f B NZrNup./9 $N1X# (J >g. >N1FB >`NZ gR f:NZN]NN]NR$ 9 Mr l> 9 MS&` "y MڴlSJn`NZN]NN]N`.` "9 M # MJlB M`2 Mm&p` 9 MR` 9 MPr .N1# MN@B`tJ Mf`lJ Mgb 9 MЀ M  Mlp# M. M`J Mf. NDp`p./9 MNpX. N1p.pQ//< M*NXPJo. +/< M*N1RX @$H f(. M*/< -HnN1PHnNDpX`p.ND` jR"`p./9 MNpXN\p./9 >/9 >NTPN[\. ND`NU`NR`J9 M~g. M~/< BN1`.0p\/N1XNZ$pg. EN1`< |0 0(gp0gJ "@f r1` |0 0(HHrW€g.0/N1Xp.pQ//< M*NXPJon. M*/< M~N1X  Mf4p./9 MNpX. IN1p.pQ//< M*NXPNArfP 9 M g g, g`f  MnXp# p.NR`DNL N^Nu  Mf*p./< M*N1 XJf. N/< M*NSBXp` y >Sm y >"hRp` . >N1$pgSl. 2/N1X`. ND.N1Fp./9 MNpXNpbN@p`6NVB. P/< >N1RX @-Hf. RNDppN^Nup./9 MN]X @# M&p# N[\` f` . g g g gl g gj !g` *g +gN -gF ?g> afB`"y M&#R . Mm. MND`.NN:NZ-@rg f$. m/.N1XB. p.NDB` ."y M& fp-@Hn HnN1PJghp.HnN1 XJgHn/< HnN1 HnNDpXB`B 9 Ю Ml.NR`NZ gT f NZN]NN]NR-@ 9 MS-@` ."y M 1".l"SJn`NZN]NN]N`.`. ."|0 1g 0gJ "@f .r1.NN@`hJ. g. /.N1XHnHn N1PHn /< /.N1 Hn/< /.N1 -| M~`HH./< N1&X @ g* nSm n"hRp\`.p\/N1X nSm n"hR n`. np/N1XpѮ nJfz nSm n"hRp/`.p//N1X-| M*`HH./< N1&X @ g* nSm n"hRp\`.p\/N1X nSm n"hR n`. np/N1XpѮ nJfz. /.N1XRHnHn/< x/9 >N1rg. /.N1X.N1F fvNp. N1p./< >/< /< NT S0m y0R0r `.0p /N1XNZrp.ND`p./9 MNpXNpbN@B N[\. M&N1H .`NV .й S-@ Mlhp. ."y M/1NpX ."y M&Jf< .#S0m y0R0r>`<.0p>/N1XN^Nu ."y M&BS0m y0R0r `.0p /N1X`NV 9 Mr # 2W# MJ "@f op # M 9 M.N] @# MN^NuNVH NqTNpJ >f<. /< /< N1P 9 Mr.p/NpX. `J Mf. 2N1`  f. M*/< M~/< N1P`Z. M~ 9 M"ЀЁ"| 2 qA/ 9 M"ЀЁ qHH/N1X//< N1 p./NpX. /9 2/< N1P  Ml. /9 2/< N1P  Mg  Mg . N1. N1 9 M갹 Mop.N 9 M 2 2 38[-@  Mm 9 2RѮ# M B Mp-@`. D&HnHnHn/< /9 >N1rmtR M 9 M"y M#  "@f0S0m y0R0r `,.0p /N1X` 9 MR./< $N1X  fL 9 й MS"y M& f,S0m y0R0r>`*.0p>/N1X`.S0m y0R0r `.0p /N1X  Mg  MfE`HnNUX @$H./9 2/< 'N1P  MlHn/9 2/< -N1  Mg  Mf. 3N1`Hn/9 38/< 6N1 ` p ./< D&N1&X @$H f$| D&.N1 $o$.`S 2 (gJnJf$..//< ;N1P´l. @N1`R  gJg"R 9 MR./.NpX`R MR 9 Mְ Ml . 2o^ 9 Mr & .l.S0m y0R0`".0p /N1X`p./NpX 9 M␹ MR$o./< CN1X`&  o 9 M갹 Mo . {N1p. 9 Mr /NpXt`8 "ЀЁ"| 2. "ЀЁ"| ./1/< N1PRp m  f.p./9 MNpX. N1NqL N^Nu. 2/9 2NpX`NVH 9 Mr й M# 2 9 M"ЀЁ"| 2.N1 $ 9 M"ЀЁ"| ..N1 ЂX# 2LN^NuNV. 2/9 2NpXN^NuNVp4./9 MNpXN^NuNVp./< 2N1XN^NuNVH J >f,. /< >N1RX @# >f(. N4`". >/< /< >N1XP. N B 3<. 2N1Jf2.@p/N1nX @-H 9 M"ЀЁ"| 6 qN.p/N1nXp.//9 (N1P. >/< /< >N1XPp# MB M y >m y >"hѨp` . >N1$pfB. M~ 9 M"ЀЁ"| 2/1/< /< 2N1 pL N^Nu. >/N1Xp# 2p# 2B 38`HnNUX @.N1 & 2o# 2HnN1 X& 2o# 2HnN1 X& 38o# 38 y >Sm y >"hRp` . >N1$pgp fR MHnHnHn/< /9 >N1rg:. >N1p`NVJ 3n . >//<  HnN1 ` 9 3< >./< (HnN1PHnNbX`zNVH$| C 9002l "|0$q././< QHnN1 HnNXLN^NuNVNqTp./NpXNpb./< XN1XNq./< 2N1XN^NuNVHJ >gL. >N1p# M` p fR M 9 M갮l y >Sm y >"hRp`LN^Nu. >N1$pg`NVVHNN np .N pѹ D y DJ(f N N @# DHnN X. \HnN1X`# Dpѹ D y DJ(f N  @# D y DHH $g* @f(A-HZ. \HnN1XNCr`A`A_-HZpѹ D y DJ(f N @# D.ZN n. M~/.ZN1XJf nZCg` $y D`>9 3Df4# DNJgHnHn/< f/9 >N1Nj` ? 9 ?"| @ ?`:R`6J*f N @$H f$ gRJ*fN @$H g  fp`  g`# DLN^NuNVNN `&. M~Hn/< m/9 >N1 NHnNXrgN^NuNVNN ^` y DHH $g\ @g `gx`pѹ D y DJ(f N  @# DHnNX. \HnN1XNCr`pѹ D y DJ(f N @# DHnNX`\pѹ D y DJ(f N @# D y D9 3Df,N>Jg$HnHn/< t/9 >N1Np .N @ fN^NuNVNdNBHnNXrf` y DHH $g `fvHn/< {/9 >N1 pѹ D y DJ(f N @# DN y >Sm y >"hRp `. >p /N1XNp .N @ f^N^NuNVNNx` y DHH @g ~fpѹ D y DJ(f N< @# Dpѹ D y DJ(f N @# D y D9 3DfZNJgRHn/< /9 >N1 N"`0pѹ D y DJ(f N @# DHnNXNCrp .N @ f(N^NuNV` y DHH #gD $g< @g`ppѹ D y DJ(f NN @# D.N NCr`>pѹ D y DJ(f N @# D y D9 3DfNJgpN^Nup .Nj @ f\p`NVH $| 3Dv`b | =J0(gP | M08HH"| >J1g6 | M08HH"| >1HH"| =1(HH~Ҁ$R R | M~08HH$fBL N^NuNVp-@ѹ D y DJ(fTN. @# D`Fpѹ DѮ`8 y DJ(f N @ f" y D  f4 ."| 3DJ1f$pN^Nu ."| 3D1"y Df`p`NVHt. /< >N1XJf4p .N Nf y >Sl.. >p /N1XLN^Nu$y D`.S @d"p./</9 (N1PN4$| D  f  f# Dpѹ D y DJ(f N @# Dpѹ D y DJ(f N @# D y D  f@pѹ D y DJ(f N @# Dpѹ D y DJ(f N @# DNfpѹ D y DJ(f Nt @# D y D  f y >Sm y >"hRp `. >p /N1X`NVH ? 9 ?"| @ ?$y D`pcĀ y >Sm "& y >"hR | `&. >" "| 1/N1X y >Sm"p( y >"hR | `. >p"| 1/N1X`p d. > Ѐ"Ё"| /1N1X Ѐ"Ё"| J1g0 y >Sm y >"hRp `. >p /N1X Ѐ"Ё"|  1(fj y >Sm y >"hRp(`.. >p(/N1X`8 y >Sm y >"hR `. > 2/N1XR`"J*f NJ @$H f# DLN^NuHH$p g`*NVH $n ? 9 ?"| @ ?&y D`Tpc"Ā" "| p"| ` R`$J+f N @&H f# DBL N^NuHH$p g`NVH.  ? 9 ?"| @$y D`RR`NJ*f NN @$H f<# D g pѹ D y DJ(f N$ @# D y D LN^Nug`NV./< @/9 (N1,P# ?# @ D"| @ ? 9 ?"| @B1J ?f N^Nu | @`NVPHA\-HX-| M~T`<HH./< N1&X @ g nXRX\ nXRX"nTpѮT nTJf nXB. /9 >Hn\Nk,Pt``NCr "y >.NkbJl>NqTp.p/NpXNpb "y >./< N1XNqR >mLN^NuNVH. M~Nst`Dp. "y >/1NsbX @ g" "y >./< /9 >N1PR >mLN^NuNVJ >gR .й .NDHnHn/< /9 >N1rfHnHnNpP. NDN^NuNVJ >gLp.ND`HnHnN:PHnHn/< /9 >N1rg. NDN^NuNVN\./. /9 >NUX @//< HnN1HnNDpX. /< HnN1P. /9 >NUX @/N1XJf.p./.Hn/9 >/9 >NTN[\N^Nup./< /.Hn/9 >/9 >NT`NVNp6p.NtN-@fHn /.N&P` .N-@Np Nu .N^NuNVHt`Rpl .N1BJg n .N @"n ". /.N1rX. N1NZrp.N1xLN^NuNVN1-@Jo.p/N1nX @# 3`&Jf .p/N1nX.p/N1nX f . ND .N^NuNVHnN1X-@ g .f. 3p/N1nX .N^NuNVp/./.N1,X @-Hg A N^Nu n`NVNqTNpJ f$  "@f8. "N1. oN1. N1. N1. /`*. {N1. N1. N1. FN1. yN1. N1. N1. N1. N1J "@f . N1. =N1. bN1. N1. N1. N1. N1. N1. Y`  "@f . N1. N1. `. 3N1. vN1. N1. N1. N1. !N1. !,N1. !NN1. !uN1. !N1. !N1. !N1S0m. y0R0r NqNZr. NDN^Nu.0p /N1X`NVN^NuNVH$n$. x.Wp/N1nX @-HNl&p gp gl 9 MHHfJoS0m y0R0r`.0p/N1XS0m y0R0r `.0p /N1XS0m y0R0r`.0p/N1XS`H9 MHHgpf 0fB`2S0m y0R0r`.0p/N1XR .谄mB`2S0m y0R0r `.0p /N1XR .谄mB`2S0m y0R0r`.0p/N1XR .谄mx`^pgt |0 08gp f@S0m y0R0"`.0 2/N1X R".0N1L fJfB2H.p/N1nX LN^NuNVp.Nt. "N1N NuN^NuNVHS0m y0R0p` .0N1$pgpĀ LN^NuNV. #/< #NX @-H. #/9 MN1XJg.. #/9 MN1XJg. #/.N1XJfp# "@. "DN,N^NuNV  f. "`. "DNN^NuNVH  "@f:p.NtNqT. #/9 MN1XJg. #/9 MN1XJfd. #N1t`< Ѐ"ЀЁ1HH. Ѐ"ЀЁ"n/1//< #N1 R Ѐ"ЀЁ"nJf`N. #N1t`X Ѐ"ЀЁ.N1 & Ѐ"ЀЁ"n1HH. Ѐ"ЀЁ/1 R///< $N1R Ѐ"ЀЁ"nJf# 3NqNuL N^NuNVHJ 3gVp.NtNqT. $N1t`. $"N1R Ѐ"ЀЁ"y 3JfNqNuB 3LN^NuNVH NZ$vpf v`NZ$p l pL N^Nu Ђr `NV./.N1 XR/NX @/N1X @ N^NuNV.N1B @.NR @ N^NuNV. /.N1TX @.N. @ N^NuNV. /.N1NX @.N @ N^NuNVJf$. >/< $*/<0N1Pp.N1x n N^NuNVH p/./.N1&X @ g nG`* /f" +/f$KR /g-JJf&nRJf nG`8 /f0 +.f(Ag +/fE-JRJf&nRJf nG`g /f +.f +.f~ +/gJ+fnE`Sg */f .f */gH *.f */g8 +/fX`VA-HJf&n KAg K /fSRJfZ.N1 -@p./.N1&X @A-H o /f nSBS o" n (/f n .f p nB nJf. $@/N1X n L N^NuNVzH $nB. $E/< $BN1RX @&H f`b.N1F`VHn/< $GN1tPJmHn+ HH/N1PJm nf6p-@0.İnf&0.°nf. $I/ N1X.N1F`H. $KHnN1XA-H`X n~0ng f@ n~A./.N1XHnHnN1tPJm(0.nf 0.ng@.p/p//< 3N1d rf | 3`-H~g n~JPfn`.N1F. $ON1*JmHnNX @ f.N1* L N^NuHn/ N1PHnN1 XCA (/g. $R/ N1X./ N1X.N1* J`NVH $n &n&.-KBHH$gp f.p fp# NZJfJ NFfp).N  L N^NuA-Hp# NB# NJ-@# N^p^fR N^`Sep2.N HH$p*gp\f {g-J촃f`  g $g *g .g [g \fHH$  g (gh )g ng {fJg nB` .RJgp,.NHH$p\f``J NFfp# NZ`p$.NJg2 n g& n g n`HHg  f`Aep2.NP BB` .B2R mB.HH$p^f|HH$Jgp fp1.Np-fJgHH$p]f9 $Y*` NJmp+.N nR NM 9 NJR NJ`2 nC߱cR NB 9 NB NJgp*.Nnp nѮ`SHH$Bp0mp9n .Ѐ"ЁЂr0-@`p.NHH$p\gp,f op .Np,g }gp-.NJf` *HH*HHlp..N`p$.Nt `$p1mp9np1mp.Nv$`-J `p"| $T1".恁2R .аm-Bp"| $T1"恁2HH$p]fJ.g"B` . 2R m`NVH $n&n J N^g# NN./ N\XL N^Nu f4+HH$HHf./ N.XJg # NNp`Jfp`./ NXJfJf`NVH$n&n HHU #b@0; NJ$HP$nZZdR f`Jg`Jf`# NR`@HHr"| $T1HH.HH3HH€gl`6HH"| M`HH"| N#`[.N\ 9 NbS NbJg .g`(J 9 NfS NfJg.gJ NflRT`.N 9 NbS NbJgJf`(J 9 NfS NfJgJf`A.N 9 NbS NbJg:@HHr"| $T1HH.HH3HH€f`d(J 9 NfS NfJg6@HHr"| $T1HH.HH3HH€fJ NflR`HH"| M-qHH"| N 1-@./ /.NPPJg`HH"| M-qHH"| N 1-@(J`./ /.NPJf`~(JJgN`(JgR`@(J@.HHr"| $T1HH.HH3HH€fS NVg./ NXJf"bpLN^Nue./ NXJgp``NVH$nHH# NbHH f <N # NfLN^NuHH Nb`NVH $n&n $. SJg gpL N^Nup`NVp./< 8/< 7/.N # 3# 3N^NuNVH $n. '/ N1RX @# 3f pL N^NuB 3` 9 8"| 3 1 fp# 8 9 8B1`B 8R 3&| 3. 7/ NXJg\. 3/ /9 3/9 3N1 J 8g 9 8"| 3 . 3/9 8p//< 3N1j . 3/</< 3N:P# 8g f0"| 3 1 g `. 3N1Fp`NVH$../< '/<0N1P  'b@0; NJ(Pt "| $\A./< '/<0N1PLN^Nut`t`t`t`t`t`t`t`t `t `t `t `NVH$. $n-nS` pLN^NuJoJn".N1rf ng`SRl ` &.p //*/.N1` @-Hg &׮תJlp` (* HH"|0 1l.N1Jf`Z nB .`>NV. (N1 @# Mf$. >/< ( /<0N1Pp.N1x. MHnN1 XJl.. M/9 >/< (K/<0N1 p.N1x# 8 9\. 9\/< (vN1X @# 8. 9\/< (yN1X @# 8. 9\/< (|N1X @# 8. (N1# M. (N1# M. 9\/< (N1X @# 8. 9\/< (N1X @# 8J Ml. M/9 >/< (`J 8f.. M/9 >/< (/<0N1 p.N1xN^NuNV.qp//9 8N1"P.0N1LN^NuNV.qp//9 8N1"P.0N1LN^NuNVJ 8g.qp//9 8N1"`. ( 9 MS//< (N1PN^NuNV.qp//9 8N1"PN^NuNVH $.&. .qp/ S/ S//9 8N1 @/N1"PL N^NuNVS0m y0R0. N^Nu.0p. /N1X`NV 9 (R (Jf .0N1L. 9`/<0N1XN^NuNVS (f.0N1L./<0N1XN^NuNVH $n nRgxJgftHHJg *g ?g [fBB.| !fp-@g ]f$.HHg./.NtXL N^Nup` -f6Jg.noR.`.lnR.`Jg gR.`gC`tJgp`HHrHHg`jR *gJgnp`R`. nR/NXJf@ nJg&HH"HHHg ?g [g`p`R *gJfp`p`NVH . Ns @-H J Njl$nJfA L N^Nu$9 Nj n 0(HH&$nSmJf`HH$-Jf Nj&n Jg g "| Nn$1` J`NVH $n f$y (`# (t`RJf&<` "| Nn#Sl$y (&`HH"| Nn#SnS# Nj y ( L N^NuNV. =`/<Tp/N1P =k M =l M | =`"| =r""""23 =x = =3 =rBy =tN^NuNV (lR (.NLN^NuNVJ (oS ( | = (HH.NN^NuNVJ (mp.NN^NuNV 9 ("| =  . (g># (Jg f,.0N1L. =r`. =`/<Tp/N1PN^NuNVH Jg/< (/<0N1PL N^Nut`R3("n1(fJf 3:(gJ3(f n 0/(gJ0(f nA(-H"p# Dt` 3:(fR DRJ3(f 9 D.N] @# D.N] @&Ht$K`, "y D#`  fBJgR :fJgBRJft`h."N1 & "y D.N1 ЃR.N] @$H "y D./ N1X."/ N1X "y D#R Dm.N1H` teisaprnl(of)=c tnerpla ,cscope.outcscope: version %s%s 7.4cscope: unknown option: -%c Usage: cscope [-c] [-d] [-f cross-reference file] [-i name file] [-I header directory] [-s source directory] [source files] EDITORviVIEWERHOMESHELLshINCLUDEDIRSSOURCEDIRSrcscope: cannot open file %s cscope %s %*s%d%*s%d%*s%dcscope: creating list of source files %s/usr/includecscope: no source files found .%s/%sn%sn%s/usr/tmp/cscope%d.1/usr/tmp/cscope%d.2$HOME$HOME%srcscope %s %s%d%s%d%s%d%s7cscope: converting to new format for cscope.out wcscope: cannot open file %s cscope %s %s 77%d %s %d %s %d %s cscope: symbol cross-reference for %s built built copied %c cscope: warning: cannot get current directory name . ,:%s/%s ,: ,:%s/%s ,:rcscope: cannot open file %s %scscope: cannot find file %s cscope: cannot find file %s r*.[chlyCGHL]%s/%s%s/%s%s/%srcscope: cannot open file %s .l.sd too many symbols in this line%c%snot built because of write error%d cscope: "%s", line %d: warning: %s 00            !""'37"    '       378=$*26#)/3:??C#8=).$*/.26:?C&,%%+4859+09>          &,10415           AADD       AAABDD        ABD                                                                '''((((((('''(-''''(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-(-777777;7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<7<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<=====@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@=@>>>>>>>>>A>>>>>>>>>>>>>>>>>>>>>>>>B>>>>>>>>>>>>>>>>>B>>>>>>>>>>>@@@@@@@@@@@@@@@@@@@@>>>>>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BDBBBDBBBDBDBDBDBDBBDBD         r  z   z      \                     L "  L 6   < J   R   Z  b  4 j  r   z  L     |   L   L          >  L   L           L   L    *   2  L :  L J   Z   b  L j $ B  z     L     *  ^ L    v    @       ")./0000000000<>AAAAAAGGGGGAGGGGGGGGGGGAGGGAAAAAAGGGGGAGGGGGGGGGGGAGG/ E line too longstructunion"<bad switch yylook %d      % . 6 9 ; = D I N U [( _ d( g k p y     (     (#define#includebreakcasecharcontinuedefaultdo doubleelseenumexternfloatforgotoifintlongregisterreturnshortsizeofstaticstructswitchtypedefunionunsignedvoidwhileThe -d option prevents rebuilding the cross-referenceThere are no lines to printAppend to file: aCannot open file: %s%s To: 1wCannot open temporary fileed - <<\! %s%*s%s%*[^ ]Cannot write to file %sw e %s %ss//\[.^*$/\&/gp w q ! Changed lines: shshPress the ? key for helpSelect lines to change (press the ? key for help):  E<  G  Hn  GR % @Q L XQ d iR  R  I8List references to thisC symbolEdit thisfunction or #defineListfunctions called by this functionListfunctions calling this functionList lines containing thistext stringChange thistext stringListfile names containing this text stringEdit thisfileListfiles #including this fileCscope version %s%s7.4Change "%s" to "%s"%c%s: %s%-*s File%-*s FunctionLine %s%s%s %[^ ]%d%-*s %-*s %*s %.*s * %d more lines - press the space bar to display more ** Press the space bar to display the first lines again *%s %s: wCannot open temporary filewSearchingrCould not find the %s: %s%s%s%s%d of %d source files searched%d included files searchedUnknown error%s: %s%s%s %s %s %s %s %s %s %s 5.*[\^$%s %ld Cannot open file %s%s 1 %s%*s%s%s%*s%s%*[^ ]%s +%s %s+%svi/dev/null Exec failedCannot forkPoint with the mouse and click button 1 to move to the desired input field, type the text to search for, and then press the RETURN key. If the search is successful, you can edit the file containing a displayed line by pointing with the mouse and clicking button 1. You can either use the button 2 menu or these single-character commands: Press the TAB key repeatedly to move to the desired input field, type the text to search for, and then press the RETURN key. If the search is successful, you can use these single-character commands: 1-9 Edit the file containing the displayed line. space bar Display next lines. + Display next lines. - Display previous lines. ^E Edit all lines. > Append all lines to a file. At any time you can use these single-character commands: . Search with the last text typed. ^R Rebuild the cross-reference. ! Start an interactive shell (type ^D to return to cscope). ^L Redraw the screen. ? Display this list of commands. ^D Exit cscope. Note: If the first character of the text you want to search for matches a command, type a \ character first. When changing text, point with the mouse and click button 1 to mark or unmark the line to be changed. You can either use the button 2 menu or these single-character commands: When changing text, you can use these single-character commands: 1-9 Mark or unmark the line to be changed. * Mark or unmark all displayed lines to be changed. space bar Display next lines. + Display next lines. - Display previous lines. a Mark all lines to be changed. ^D Change the marked lines and exit. ESC Exit without changing the marked lines. ! Start an interactive shell (type ^D to return to cscope). ^L Redraw the screen. ? Display this list of commands. Type any character to continue: " "- ". " "> # #! #! #/? #4 #9* #N #Y- #ha #w # #! # #?Next LinesPrevious LinesRepeat SearchEdit All LinesAppend to FileRebuild XrefStart ShellRedraw ScreenHelpExitMark Displayed LinesNext LinesPrevious LinesMark All LinesChange Marked LinesDo Not Change LinesStart ShellRedraw ScreenHelpMOUSEemacstermvitermmyxemacstermviterm#2M%d@%s@%c@[%d;%dx%s%c %s: out of storage ...r./../../ @Range endpoint too large.Bad number.``\digit'' out of range.Illegal or missing delimiter.No remembered search string.\( \) imbalance.Too many \(.More than 2 numbers given in \{ \}.} expected after \.First number exceeds second in \{ \}.[ ] imbalance.Regular expression overflow.Unknown regexp error code!!rregular expression error %d: %s TERM%s: TERM variable is not set or is not exported in your .profile %s: "%s" is not in the terminal data base ceclcmcoliteti%s: "%s" is not a screen terminal %s: "%s" is not a cursor addressable terminal %*s (VPATH%s: warning: cannot get current directory name 0707070000020037031006440001460001440000010305660364011471300001100000022716cscope.1.ig EMACS_MODES: fill .. .de DS .P .RS .nf .. .de DE .fi .RE .P .. .TH CSCOPE 1 .SH NAME cscope - interactively examine a C program .SH SYNOPSIS .B cscope [ options ] [ C source files ] .SH DESCRIPTION .I Cscope is an interactive screen-oriented tool that helps you: .RS .P Learn how a C program works without endless flipping through a thick listing. .P Locate the section of code to change to fix a bug without having to learn the entire program. .P Examine the effect of a proposed change such as adding a value to an .I enum variable. .P Verify that a change has been made in all source files such as adding an argument to an existing function. .P Rename a global variable in all source files. .P Change a constant to a preprocessor symbol in selected lines of files. .RE .P It is designed to answer questions like: .DS Where is this variable used? What is the value of this preprocessor symbol? Where is this function in the source files? What functions call this function? What functions are called by this function? Where does the message "out of space" come from? Where is this source file in the directory structure? What files include this header file? .DE .I Cscope answers these questions from a symbol cross-reference that it builds the first time it is used on the source files. On a subsequent call, \fIcscope\fR rebuilds the cross-reference only if a source file has changed or the list of source files is different. When the cross-reference is rebuilt the data for the unchanged files is copied from the old cross-reference, which makes rebuilding much faster than the initial build. .P .ne 10 After the cross-reference is ready .I cscope will display these input fields: .DS List references to this C symbol: Edit this function or #define: List functions called by this function: List functions calling this function: List lines containing this text string: Change this text string: List file names containing this text string: Edit this file: List files #including this file: .DE Press the .B TAB key repeatedly to move to the desired input field, type the text to search for, and then press the .B RETURN key. If the search is successful, you can use these single-character commands: .P .PD 0 .TP 11 .B 1-9 Edit the file containing the line. .TP .B space Display next lines. .TP .B + Display next lines. .TP .B - Display previous lines. .TP .B ^E Edit all lines. .TP .B > Append the list of lines to a file. .PD .P At any time you can use these single-character commands: .P .PD 0 .TP 11 .B . Search with the last text typed. .TP .B ^R Rebuild the cross-reference. .TP .B ! Start an interactive shell (type .B ^D to return to \fIcscope\fR). .TP .B ^L Redraw the screen. .TP .B ? Display this list of commands. .TP .B ^D Exit \fIcscope\fR. .PD .P Note: If the first character of the text you want to search for matches one of the above commands, type a \\ character first. .P .SS Changing Text. After typing the text to be changed, you will be prompted for the new text, then the lines containing the old text will be displayed. You select the lines to be changed with these single-character commands: .P .PD 0 .TP 11 .B 1-9 Mark or unmark the line to be changed. .TP .B * Mark or unmark all displayed lines to be changed. .TP .B space bar Display next lines. .TP .B + Display next lines. .TP .B - Display previous lines. .TP .B a Mark all lines to be changed. .TP .B ^D Change the marked lines and exit. .TP .B ESC Exit without changing the marked lines. .TP .B ! Start an interactive shell (type .B ^D to return to \fIcscope\fR). .TP .B ^L Redraw the screen. .TP .B ? Display this list of commands. .PD .P .SS Options. When invoking .I cscope you can use these options: .P .PD 0 .TP 9 .B \-d Do not update the cross-reference. .TP .BI \-f " file\^" Use .I file as the cross-reference file name instead of the default (cscope.out). .TP .BI \-i " file\^" Read the list of C source files from .IR file . .TP .BI \-s " dir\^" The -s option lets you specify an additional directory to look for source files. Many projects have a common and several machine dependent directories at the same level, so now you can be in a machine directory and get the common files too with "cscope\ -s\ ../common" .TP .BI \-I " dir\^" Look in .I dir for #include files. .PD .P See below for common uses of these options. .SH EXAMPLES .P .SS Calling Cscope from the Shell. To use \fIcscope\fR on all the C, lex, and yacc source files in the current directory just type .DS cscope .DE You can also \fIcscope\fR on particular files if you have more than one program in the same directory. The above is equivalent to .DS cscope *.[chlyCGHL] .DE If you want to use \fIcscope\fR on all the source files in the current and lower level directories, first create a list of the files with .DS find . -name '*.[chlyCGHL]' -print | sort >filelist .DE and then use the .B -i option of .I cscope .DS cscope -i filelist .DE You may want to use the .B -f option to create separate symbol cross-reference files for several programs in the same directory, e.g. .DS cscope -f program1.out program1.c cscope -f program2.out program2.c .DE If a file #include's files that are in directories other than the current directory or the standard directory (/usr/include), use the .B -I option just like when using the .IR cc (1) command .DS cscope -I../hdr -I../../hdr .DE If you build a cross-reference for hundreds of source files that are unlikely to change, such as the UNIX kernel, use the .B -d option on subsequant calls to cscope .DS cscope -d .DE This will avoid the time spent checking if the cross-reference is out-of-date. .SS Calling Cscope from an Editor. To call \fIcscope\fR from within \fIvi\fR(1) type .B :!cscope followed by any file arguments. From \fIemacs\fR(1) type .B M-!cscope followed by any file arguments. There is an \fIemacs\fR macro for the two most common calls to \fIcscope\fR. Type .B M-X to call \fIcscope\fR with no file arguments, and type .B ^UM-X to call \fIcscope\fR with the current file as the single argument. .P .SS Stacking Cscope and Editor Calls. When .I cscope puts you in the editor to display one symbol reference and you see another symbol of interest, don't leave the editor, just call \fIcscope\fR again from within the editor. In this way you can stack \fIcscope\fR and editor calls so you can go off on a tangent, and then back up to where you were by exiting the tangential \fIcscope\fR and editor calls. .P For example, when learning a program you will probably have \fIcscope\fR find the main function and display it with your editor. You can visualize this as an inverse stack of calls: .DS .ne 2 cscope: find and display main() editor: display first lines of main() .DE You may then see that main calls an initialize function. Rather than exiting the editor to go back to \fIcscope\fR, call \fIcscope\fR again from within the editor to find the initialize function and display it with another editor call. Your stack of calls now looks like this: .DS .ne 4 cscope: find and display main() editor: display first lines of main() cscope: find and display initialize() editor: display first lines of initialize() .DE When you are through looking at this function, you can exit this second editor call, exit the second \fIcscope\fR call, and you are back in the first editor call that is displaying the main function. You are now back to: .DS .ne 2 cscope: find and display main() editor: display first lines of main() .DE and can continue reading the main function. .SH ENVIRONMENT VARIABLES .PD 0 .TP 9 .B EDITOR Your preferred editor, which defaults to .IR vi (1). .TP .B HOME Your home directory, which is automatically set when you login. .TP .B INCLUDEDIRS Contains a colon (:) separated list of include directories. Avoids having to use the -I option on the command line. .TP .B SOURCEDIRS Contains a colon (:) separated list of source directories. Avoids having to use the -s option on the command line. .TP .B MOUSE Set to \fImyx\fR if that is your 5620 terminal program. .TP .B SHELL Your preferred shell, which defaults to .IR sh (1). .TP .B TERM The terminal type, which must be a screen terminal. .TP .B TERMCAP Terminal capability data base (termcap) full path name. If your terminal is not in the system termcap file .IR /etc/termcap , you can set this variable to your own termcap file. .TP .B VIEWER Your preferred file display program, which overrides EDITOR (see above). .TP .B VPATH Change Management System (CMS) view path. .PD .P To set a variable such as .B EDITOR to a value such as .IR emacs , put this in your .IR .profile : .DS export EDITOR EDITOR=emacs .DE .SH FILES .PD 0 .TP 14 cscope.out Symbol cross-reference file, which is put in your home directory if it cannot be created in the current directory. .TP ncscope.out Temporary file containing new cross-reference before it replaces the old cross-reference. .TP /usr/include Standard directory for .B #include files. .PD .SH BUGS When the cross-reference is up-to-date when .I cscope starts up, the list of file names searched by these input fields: .DS I List file names containing this text string: Edit this file: .DE will not contain #include'd files unless they were in the original file list. .P .I Cscope does not recognize functions that return a function pointer .DS *(f)() { .DE or function definitions that take more than one line .DS f(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) { .DE It also does not find function calls in functions that have a new structure or union definition in an argument declaration .DS f(a) union { int b; char c; } a; { .DE This, however, is all right .DS f(a) union z a; { .DE .SH AUTHOR Joe Steffen 0707070000020037041007750001460001440000010306000356323132100000400000000616manif [ $# -eq 1 ] then if [ -s /usr/man/1.$1 ] then cat /usr/man/1.$1 exit 0 else echo "$0: cannot find /usr/man/1.$1" >&2 exit 1 fi fi echo "Usage: $0 command_name Only one command name may be specified. This is not a full implementation of the man command as this machine does not have many manual pages. For a list of manual pages available, list the /usr/man directory" >&2 exit 2 0707070000020037041007750001460001440000010306000356323132100001300000000000TRAILER!!!o display one symbol reference and you see another symbol of interest, don't leave the editor, just call \fIcscope\fR again from within the editor. In this way you can stack \fIcscope\fR and editor calls so you can go off on a tangent, and then back up to where you were by exiting the tangential \fIcscope\fR and editor calls. .P For example, when learning a program you will probably have \fIcscope\fR find the main function and display it with your editor. You can visualize this as an inverse stack of calls: .DS .ne 2 cscope: find and display main() editor: display first lines of main() .DE You may then see that main calls an initialize function. Rather than exiting the editor to go back to \fIcscope\fR, call \fIcscope\fR again from within the editor to find the initialize function and display it with another editor call. Your stack of calls now looks like this: .DS .ne 4 cscope: find and display main() editor: display first lines of main() cscope: find and displa