source: SH_SHM/trunk/doc/software.txt @ 373

Revision 16, 8.5 KB checked in by marcus, 14 years ago (diff)

r1 | svn | 2007-12-13 11:10:29 +0100 (Do, 13 Dez 2007) | 2 lines

Initial import

Line 
1
2SH Software Documentation
3=========================
4
5
6K. Stammler, 4-AUG-1991
7
8
9All modules of SH are written in ANSI C.  The main part of SH
10is machine independent.  Machine dependent parts of SH are:
11
12   i)   the interface to the operating system
13
14   ii)  the graphics interface (depends on the implemented
15        graphic software)
16
17
18Every C function of SH and every global constant has a module-specific
19(from where it is exported) prefix of two or three characters.
20This enables the reader to find the exporting module of each
21function very quickly.  Now follows a list of all available SH modules
22including the function prefix and a short description of the content.
23
24
25
26The main part of SH (machine independent, except BASECNST.H)
27------------------------------------------------------------
28
29module     pre-       
30name       fix  content
31---------  ---- -------
32
33CMDARGS.C  ca_  access to OS command line parameters
34CMDPARSE.C cp_  parsing of SH command lines
35ERRMSG.C   err_ error message manager
36FFTFILTR.C ff_  FFT filters and applications (Hilbert-Trafo, Minimum delay wavelets)
37MATRIXHD.C mx_  basic functions on 3x3 matrices
38NUMRES.C   nr_  routines from numerical recipes
39POLFILTR.C pf_  polarisation filtering
40QFILEIO.C  qf_  Q-file input/output
41QFINTRFC.C qi_  Q-file info entry interface to SH
42RECFILTR.C rf_  recursive filters
43SEISMHAN.C NONE main module (identifying command verbs, error detection & handling)
44SHCORR.C   sc_  cross correlation routines
45SHCURSOR.C cr_  graphic cursor selection, trace markers
46SHDATABA.C db_  read & write access to trace header information
47SHDSPMGR.C dm_  display manager (trace positioning, labels, axes, ...)
48SHHELP.C   hl_  help utility (read access to help files)
49SHLIB.C    sl_  subroutine pool (lower level)
50SHMATH.C   mt_  mathematical routines
51SHMENU0.C  mn0_ menu routines
52SHMENU1.C  mn1_ menu routines
53SHMENU2.C  mn2_ menu routines
54SHMENU3.C  mn3_ menu routines
55SHMENU4.C  mn4_ menu routines
56SHMENUIO.C mni_ menu routines (trace input/output)
57SHMENUX.C  mnx_ menu routines
58SHMIDLEV.C ml_  subroutine pool (upper level)
59SHPM.C     pm_  particle motion diagrams
60SHSYMBOL.C ss_  local and global variables, parameters of command procedures
61SHTRANSL.C tr_  translation of expressions
62STATLOC.C  gl_  read & write access to station description file
63TIMECONV.C tc_  time conversions (absolute, numerical, text string)
64TRAVTIME.C tt_  travel time computations
65USRINPW.C  ui_  input/output routines (window and file I/O)
66UTILITY.C  ut_  some utilities
67CAUSRDEF.H      prototypes of module CMDARGS.C
68CPERRORS.H CPE_ error codes of mo
69CPUSRDEF.H CPC_ prototypes of module CMDPARSE.C
70DFQENTRY.H QEC_ predefined and default info entry numbers
71ERUSRDEF.H      prototypes of module ERRMSG.C
72FCTXCR.H        prototypes of module SHCURSOR.C
73FCTXDM.H        prototypes of module SHDSPMGR.C
74FCTXHL.H        prototypes of module SHHELP.C
75FCTXML.H        prototypes of module SHMIDLEV.C
76FCTXMN0.H       prototypes of module SHMENU0.C
77FCTXMN1.H       prototypes of module SHMENU1.C
78FCTXMN2.H       prototypes of module SHMENU2.C
79FCTXMN3.H       prototypes of module SHMENU3.C
80FCTXMN4.H       prototypes of module SHMENU4.C
81FCTXMNI.H       prototypes of module SHMENUIO.C
82FCTXMNX.H       prototypes of module SHMENUX.C
83FCTXMT.H        prototypes of module SHMATH.C
84FCTXPM.H        prototypes of module SHPM.C
85FCTXSL.H        prototypes of module SHLIB.C
86FFUSRDEF.H      prototypes of module FFTFILTR.C
87FLERRORS.H      error codes of modules FFTFILTR.C and RECFILTR.C
88GLUSRDEF.H GLE_ prototypes and error codes of module STATLOC.C
89INFOIDX.H  E*_  all about trace headers & info entries, prototypes of module SHDATABA.C
90MXUSRDEF.H MXC_ prototypes of module MATRIXHD.C
91NUMRES.H        prototypes of module NUMRES.C
92PFUSRDEF.H      prototypes of module POLFILTR.C
93QFERRORS.H QFE_ error codes of module QFILEIO.C
94QFUSRDEF.H      prototypes of module QFILEIO.C
95QIERRORS.H QIE_ error codes of module QFINTRFC.C
96QIUSRDEF.H      prototypes of module QFINTRFC.C
97RFUSRDEF.H      prototypes of module RECFILTR.C
98SCERRORS.H SCE_ error codes of module SHCORR.C
99SCUSRDEF.H      prototypes of module SHCORR.C
100SHCONST.H  SHC_ global SH constants
101SHERRORS.H SHE_ SH error codes
102SHFRGN.H   sh_  interface to foreign format readers (READF command)
103SHVARS.H   shv_,shd_ global variables of SH
104SSERRORS.H SSE_ error codes of module SHSYMBOL.C
105SSUSRDEF.H      prototypes of module SHSYMBOL.C
106TCERRORS.H TCE_ error codes of module TIMECONV.C
107TCUSRDEF.H      prototypes of module TIMECONV.C
108TRERRORS.H TRE_ error codes of module SHTRANSL.C
109TRUSRDEF.H      prototypes of module SHTRANSL.C
110TTERRORS.H TTE_ error codes of module TRAVTIME.C
111TTUSRDEF.H      prototypes of module TRAVTIME.C
112UIERRORS.H UIE_ error codes of module USRINPW.C
113UIUSRDEF.H      prototypes of module USRINPW.C
114UTERRORS.H UTE_ error codes of module UTILITY.C
115UTUSRDEF.H      prototypes of module UTILITY.C
116
117
118A special include file defines some important global constants (which
119shouldn't be changed), the paths to important include files (which
120should be adjusted to the actual environment) and global preprocessor
121flags (which should be adjusted as well).
122
123BASECNST.H BC_  basic constants, paths to include files, preprocessor flags
124
125include file definitions in BASECNST.H:
126BC_SYSBASE   points to the include file SYSBASE.H
127BC_SYERRORS  points to the include file SYERRORS.H
128BC_GCUSRDEF  points to the include file GCUSRDEF.H
129BC_SHDIRS    points to the include file SHDIRS.H
130BC_FOREIGN   points to the include file SHFRGN.H
131             (to be changed for own implentations)
132
133preprocessor flags in BASECNST.H
134BC_VAX       should be defined only if SH is compiled on a VAX
135BC_GRFVAX    should be defined only on the machines in the SZGRF, Erlangen
136BC_SUN       should be defines only if SH is compiled on a SUN
137BC_ATARI     should be defines only if SH is compiled on an ATARI
138BC_MAINARGS  should be defined if SH takes OS parameters
139BC_STDLIB_EX should be defined if the include file <stdlib.h> is available
140
141
142
143Interface to the operating system
144---------------------------------
145
146SYSCALL.C  sy_  calls to system services
147SYSBASE.H  SYC_ system constants, prototypes of module SYSCALL.C
148
149These files are machine dependent and must be completely rewritten if
150SH is to be installed on a new type of computer.
151
152
153
154Graphic interface
155-----------------
156
157If the graphic modules are ported from one computer type to another,
158it is currently necessary to do some small changes in the source code.
159That means that there exist currently three different sets of graphic
160modules (for the VAX, the SUN and the ATARI implementation).  For the
161next version of SH it is planned to combine these sets to a general
162graphics interface which is machine independent.
163
164The VAX version of the graphics interface consists of the files:
165
166GRAPHCH.C  gc_  channel dispatcher (uppermost level of graphic routines)
167GCUSRDEF.H      prototypes of module GRAPHCH.C
168GCERRORS.H GCE_ error code of module GRAPHCH.C
169MEMFILE.C  mf_  memory channel (storage of graphic vectors in memory)
170MFUSRDEF.H      prototypes of module MEMFILE.C
171MFERRORS.H MFE_ error codes of module MEMFILE.C
172CCCH.C     cc_  Calcomp channel (calls to Calcomp library creating PFL files)
173CCUSRDEF.H      prototypes of module CCCH.C
174CCERRORS.H CCE_ error codes of module CCCH.C
175TKCH.C     tk_  Tektronix channel (via Calcomp screen library)
176TKUSRDEF.H      prototypes of module TKCH.C
177TKERRORS.H TKE_ error codes of module TKCH.C
178VWCH.C     vw_  VWS (UIS) channel, (calls to VAX UIS library)
179VWUSRDEF.H      prototypes of module VWCH.C
180VWERRORS.H VWE_ error codes of module VWCH.C
181XWCH.C     xw_  X-Window interface
182XWUSRDEF.H      prototypes of module XWCH.C
183XWERRORS.H XWE_ errors codes of module XWCH.C
184PSCH.C     ps_  PostScript interface
185PSUSRDEF.H      prototypes of module PSCH.C
186PSERRORS.H PSE_ error codes of module PSCH.C
187
188
189
190Foreign format readers
191----------------------
192
193There is a standard interface defined calling read routines of foreign
194data formats.  The (empty) prototypes are defined in file SHFRGN.H.
195If you want to implement your own format reader, you have to write
196the C implementation and a corresponding new header file SHFRGN.H
197which fits the given interface.  An example is given in the files:
198
199SHFRGN.C   sh_  implementation of foreign reader (here dispatcher to different foreign formats)
200SHFRGN.H        prototypes of module SHFRGN.C (this interface is given)
201SH_NEIC.C  sh_neic_ read for ASCII files created by program sonic1 on PC
202SH_NEIC.H       prototypes of module SH_NEIC.C
203FRGNTEST.C sh_test_ implementation of a second foreign format (artificial and rather stupid)
204FRGNTEST.H      prototypes of module FRGNTEST.C
Note: See TracBrowser for help on using the repository browser.