outil_d_analyse_des_fichiers_printer.sys
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| outil_d_analyse_des_fichiers_printer.sys [2025/03/17 22:45] – created fool-duplex | outil_d_analyse_des_fichiers_printer.sys [2025/03/19 14:22] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 102: | Line 102: | ||
| #include < | #include < | ||
| #include < | #include < | ||
| - | |||
| - | #define NRDATSIZE 732 | ||
| FILE *gSource = 0; | FILE *gSource = 0; | ||
| - | + | unsigned char *gBuffer = 0; | |
| - | unsigned char gBuffer[NRDATSIZE]; | + | unsigned int gFileSize |
| - | + | ||
| - | + | ||
| - | unsigned int GetVersion(char* xBuffer) | + | |
| - | { | + | |
| - | return (xBuffer[0]<< | + | |
| - | } | + | |
| - | + | ||
| - | void GetSystemAppName(char* xBuffer, char* xOutput) | + | |
| - | { | + | |
| - | xOutput[0] = '/' | + | |
| - | xOutput[1] = ':'; | + | |
| - | memcpy(xOutput+2, | + | |
| - | xOutput[10] | + | |
| - | } | + | |
| - | + | ||
| - | unsigned int GetPrinterStatus(char *xBuffer, unsigned int xIndex) | + | |
| - | { | + | |
| - | return xBuffer[11+(xIndex& | + | |
| - | } | + | |
| - | + | ||
| - | unsigned int GetSpoolerDisk(char *xBuffer) | + | |
| - | { | + | |
| - | return xBuffer[25]; | + | |
| - | } | + | |
| - | + | ||
| - | unsigned int GetListingHeader(char *xBuffer) | + | |
| - | { | + | |
| - | return xBuffer[26]; | + | |
| - | } | + | |
| - | + | ||
| - | unsigned int GetDisk(char *xBuffer, unsigned int xIndex) | + | |
| - | { | + | |
| - | return xBuffer[15+xIndex]; | + | |
| - | } | + | |
| - | + | ||
| - | unsigned int GetSignatureCount(char *xBuffer) | + | |
| - | { | + | |
| - | return xBuffer[27]; | + | |
| - | } | + | |
| - | + | ||
| - | void GetSignature(char *xBuffer, unsigned int xIndex, char* xOutput) | + | |
| - | { | + | |
| - | unsigned int i; | + | |
| - | + | ||
| - | for (i=0;i< | + | |
| - | sprintf(xOutput+i*2," | + | |
| - | } | + | |
| - | xOutput[64]=0; | + | |
| - | } | + | |
| - | + | ||
| - | void GetBootApplicationFilename(char *xBuffer, unsigned int xIndex, char* xOutput) | + | |
| - | { | + | |
| - | unsigned int i,j = 0; | + | |
| - | + | ||
| - | xOutput[0] = '/' | + | |
| - | xOutput[1] = ':'; | + | |
| - | + | ||
| - | while ((xBuffer[xIndex*44+61+i]!=' | + | |
| - | xOutput[2+i++] = ' | + | |
| - | + | ||
| - | while ((xBuffer[xIndex*44+69+j]!=' | + | |
| - | xOutput[2+i] = 0; | + | |
| - | + | ||
| - | } | + | |
| void usage() | void usage() | ||
| { | { | ||
| - | printf(" | + | printf(" |
| } | } | ||
| int main(int argc, char *argv[]) | int main(int argc, char *argv[]) | ||
| { | { | ||
| - | unsigned int lTmpuInt, | + | unsigned int i, j, k, lTmpInt; |
| - | char lTmpStr[65]; | + | char lTmpChar; |
| - | printf(" | + | printf(" |
| if ((argc!=2)) | if ((argc!=2)) | ||
| { | { | ||
| Line 198: | Line 132: | ||
| } | } | ||
| - | | + | |
| - | | + | gFileSize = ftell(gSource); |
| - | + | | |
| - | | + | |
| - | if ((lTmpuInt!=0x0301)&& | + | |
| + | if (gBuffer | ||
| { | { | ||
| - | printf(" | + | printf(" |
| + | fclose(gSource); | ||
| return -3; | return -3; | ||
| } | } | ||
| - | | + | |
| + | fclose(gSource); | ||
| - | | + | for (i=0; |
| - | printf(" | + | |
| - | + | ||
| - | | + | |
| { | { | ||
| - | printf(" | + | printf(" |
| - | } | + | switch |
| + | { | ||
| + | case ' | ||
| + | printf("parallel\n | ||
| + | break; | ||
| + | |||
| + | case ' | ||
| + | printf("serial\n | ||
| + | | ||
| - | | + | default : printf(" |
| - | | + | } |
| - | printf(" | + | printf(" |
| - | printf(" | + | for(j=0;((lTmpChar=gBuffer[i*22+4+j])!=0)&& |
| + | { | ||
| + | | ||
| + | } | ||
| + | | ||
| - | printf(" | + | lTmpInt = gBuffer[i*22]+(gBuffer[i*22+1]<< |
| - | + | j=0; | |
| - | for (i=0;i<10;i++) { | + | printf(" |
| - | | + | |
| - | printf(" | + | |
| - | | + | |
| - | printf(" | + | |
| - | } else | + | |
| + | | ||
| + | } | ||
| + | j += k+1; | ||
| + | } | ||
| + | if (j==0) | ||
| { | { | ||
| - | printf(" | + | printf(" |
| } | } | ||
| + | printf(" | ||
| } | } | ||
| - | + | ||
| - | | + | |
| - | printf(" | + | |
| - | for (i=0; | + | |
| - | { | + | |
| - | GetSignature(gBuffer, | + | |
| - | printf(" | + | |
| - | GetBootApplicationFilename(gBuffer, | + | |
| - | printf(" | + | |
| - | } | + | |
| return 0; | return 0; | ||
| } | } | ||
| </ | </ | ||
outil_d_analyse_des_fichiers_printer.sys.1742247944.txt.gz · Last modified: (external edit)
