MusicKit
0.0.0
|
00001 #ifndef __MK__libdsp_H___ 00002 #define __MK__libdsp_H___ 00003 /* Copyright 1988-1992, NeXT Inc. All rights reserved. */ 00004 /* $Id$ 00005 private functions in libdsp_s.a 00006 00007 01/13/90/jos - Replaced _DSPMessage.h expansion by explicit import. 00008 */ 00009 00010 #import "_DSPTransfer.h" 00011 #import "_DSPObject.h" 00012 #import "_DSPMach.h" 00013 #import "_DSPMessage.h" 00014 00015 /* ============================= _DSPRelocate.c ============================ */ 00016 00017 extern int _DSPReloc(DSPDataRecord *data, DSPFixup *fixups, 00018 int fixupCount, int *loadAddresses); 00019 /* 00020 * dataRec is assumed to be a P data space. Fixes it up in place. 00021 * This is a private libdsp method used by _DSPSendUGTimed and 00022 * _DSPRelocate. 00023 */ 00024 00025 extern int _DSPRelocate(); 00026 extern int _DSPRelocateUser(); 00027 00028 /* ============================= DSPControl.c ============================== */ 00029 extern int _DSPCheckMappedMode(); 00030 extern int _DSPEnterMappedMode(); 00031 extern int _DSPEnterMappedModeNoCheck(); 00032 extern int _DSPEnterMappedModeNoPing(); 00033 extern int _DSPExitMappedMode(); 00034 extern int _DSPReadSSI(); 00035 extern int _DSPSetSCISCR(); 00036 extern int _DSPSetSCISCCR(); 00037 extern int _DSPSetSSICRA(); 00038 extern int _DSPSetSSICRB(); 00039 extern int _DSPSetStartTimed(); 00040 extern int _DSPSetTime(); 00041 extern int _DSPSetTimeFromInts(); 00042 extern int _DSPSineTest(); 00043 extern int _DSPStartTimed(); 00044 extern DSPDatum _DSPGetValue(); 00045 00046 /* ============================= DSPReadFile.c ============================= */ 00047 extern char *_DSPFGetRecord(); 00048 extern int _DSPGetIntHexStr6(); 00049 extern int _DSPLnkRead(); 00050 extern char *_DSPAddSymbol(); 00051 extern int _DSPGetRelIntHexStr(); 00052 extern char *_DSPUniqueName(); 00053 00054 /* ============================ DSPStructMisc.c ============================ */ 00055 00056 int _DSPCheckingFWrite( int *ptr, int size, int nitems, FILE *stream); 00057 int _DSPWriteString(char *str, FILE *fp); 00058 int _DSPReadString(char **spp, FILE *fp); 00059 int _DSPFreeString(char *str); 00060 char *_DSPContiguousMalloc(unsigned size); 00061 int _DSPContiguousFree(char *ptr); 00062 void DSPMemMapInit(_DSPMemMap *mm); 00063 void DSPMemMapPrint(_DSPMemMap *mm); 00064 00065 extern char *_DSPContiguousMalloc(unsigned size); 00066 /* 00067 * Same as malloc except allocates in one contiguous piece of 00068 * memory. Calls realloc as necessary to extend the block. 00069 */ 00070 00071 00072 /* ============================ _DSPUtilities.c ============================ */ 00073 extern void _DSPErr(); 00074 extern char *_DSPFirstReadableFile(char *fn,...); 00075 extern char *_DSPGetBody(); 00076 extern int _DSPGetDSPIntStr(); 00077 extern char _DSPGetField(); 00078 extern int _DSPGetFilter(); 00079 extern float _DSPGetFloatStr(); 00080 extern char *_DSPGetHead(); 00081 extern void _DSPGetInputFile(); 00082 extern void _DSPGetInputOutputFiles(); 00083 extern int _DSPGetIntHexStr(); 00084 extern int _DSPGetIntStr(); 00085 extern char *_DSPGetLineStr(); 00086 extern void _DSPGetOutputFile(); 00087 extern char *_DSPGetSN(); 00088 extern char *_DSPGetTail(); 00089 extern char *_DSPGetTokStr(); 00090 extern int _DSPInInt(); 00091 extern int _DSPIndexS(); 00092 extern char *_DSPIntToChar(); 00093 extern int *_DSPMakeArray(); 00094 extern FILE *_DSPMyFopen(); 00095 extern char *_DSPPadStr(); 00096 extern void _DSPParseName(); 00097 extern void _DSPPutFilter(); 00098 extern char *_DSPRemoveHead(); 00099 extern char *_DSPRemoveTail(); 00100 extern int _DSPSaveMatD(); 00101 extern int _DSPSezYes(); 00102 extern char *_DSPSkipToWhite(); 00103 extern char *_DSPSkipWhite(); 00104 extern DSP_BOOL _DSPGetFile(); 00105 extern DSPLocationCounter _DSPGetMemStr(); 00106 extern DSP_BOOL _DSPNotBlank(); 00107 00108 /* ============================ DSPConversion.c ============================ */ 00109 00110 DSPFix48 *_DSPDoubleIntToFix48UseArg(double dval,DSPFix48 *aFix48P); 00111 /* 00112 * The double is assumed to be between -2^47 and 2^47. 00113 * Returns, in *aFix48P, the value as represented by dval. 00114 * aFix48P must point to a valid DSPFix48 struct. 00115 */ 00116 00117 /* ============================= _DSPError.c =============================== */ 00118 00119 int _DSPCheckErrorFP(void); 00120 /* 00121 * Check error file-pointer. 00122 * If nonzero, return. 00123 * If zero, open /tmp/dsperrors and return file-pointer for it. 00124 * Also, write DSP interlock info to dsperrors. 00125 */ 00126 00127 00128 int _DSPErrorV(int errorcode,char *fmt,...); 00129 00130 00131 int _DSPError1( 00132 int errorcode, 00133 char *msg, 00134 char *arg); 00135 00136 00137 int _DSPError( 00138 int errorcode, 00139 char *msg); 00140 00141 00142 void _DSPFatalError( 00143 int errorcode, 00144 char *msg); 00145 00146 00147 int _DSPMachError( 00148 int error, 00149 char *msg); 00150 00151 00152 int _DSPCheckErrorFP(void); 00153 /* 00154 * Check error file-pointer. 00155 * If nonzero, return. 00156 * If zero, open /tmp/dsperrors and return file-pointer for it. 00157 * Also, write DSP interlock info to dsperrors. 00158 */ 00159 00160 00161 int _DSPErrorV(int errorcode,char *fmt,...); 00162 00163 00164 int _DSPError1( 00165 int errorcode, 00166 char *msg, 00167 char *arg); 00168 00169 00170 int _DSPError( 00171 int errorcode, 00172 char *msg); 00173 00174 00175 void _DSPFatalError( 00176 int errorcode, 00177 char *msg); 00178 00179 00180 int _DSPMachError( 00181 int error, 00182 char *msg); 00183 00184 /* ============================== _DSPCV.c ================================= */ 00185 00186 char *_DSPCVAS( 00187 int n, /* number to be converted */ 00188 int fmt); /* 0=decimal, 1=hex format */ 00189 /* 00190 * Convert integer to decimal or hex string 00191 */ 00192 00193 00194 char *_DSPCVS(int n); 00195 /* 00196 * Convert integer to decimal string 00197 */ 00198 00199 00200 char *_DSPCVHS(int n); 00201 /* 00202 * Convert integer to hex string 00203 */ 00204 00205 00206 char *_DSPCVDS(float d); 00207 /* 00208 * Convert double to hex string 00209 */ 00210 00211 00212 char *_DSPCVFS(float f); 00213 /* 00214 * Convert float to hex string 00215 */ 00216 00217 00218 char *_DSPIntToChar(int i); 00219 /* 00220 * Convert digit between 0 and 9 to corresponding character. 00221 */ 00222 00223 /* ============================ _DSPString.c =============================== */ 00224 00225 char *_DSPNewStr(int size); 00226 /* 00227 * Create string of given total length in bytes. 00228 */ 00229 00230 00231 char *_DSPMakeStr( 00232 int size, /* size = total length incl \0 */ 00233 char *init); /* initialization string */ 00234 /* 00235 * create new string initialized by given string. 00236 */ 00237 00238 00239 char *_DSPCat( 00240 char *f1, 00241 char *f2); 00242 /* 00243 * Concatenate two strings 00244 */ 00245 00246 00247 char *_DSPReCat( 00248 char *f1, 00249 char *f2); 00250 /* 00251 * append second string to first via realloc 00252 */ 00253 00254 00255 char *_DSPCopyStr(char *s); 00256 /* 00257 * Copy string s into freshly malloc'd storage. 00258 */ 00259 00260 00261 char *_DSPToLowerStr( 00262 char *s); /* input string = output string */ 00263 /* 00264 * Convert all string chars to lower case. 00265 */ 00266 00267 00268 char *_DSPToUpperStr( 00269 char *s); /* input string = output string */ 00270 /* 00271 * Convert all string chars to upper case. 00272 */ 00273 00274 char *_DSPCopyToUpperStr( 00275 char *s); /* input string = output string */ 00276 /* 00277 * Efficient combo of _DSPCopyStr and _DSPToUpperStr 00278 */ 00279 00280 int _DSPStrCmpI(char *mixedCaseStr,char *upperCaseStr) ; 00281 /* like strcmp but assumes first arg is mixed case and second is upper case 00282 * and does a case-independent compare. 00283 * 00284 * _DSPStrCmpI compares its arguments and returns an integer greater 00285 * than, equal to, or less than 0, according as mixedCaseStr is lexico- 00286 * graphically greater than, equal to, or less than upperCaseStr. 00287 */ 00288 00289 #endif