ofs | hex dump | ascii |
---|
0000 | 64 69 65 74 68 6f 74 70 6c 75 67 2d 30 2e 35 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | diethotplug-0.5/................ |
0020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0060 | 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 | ....0000755.0001750.0001750.0000 |
0080 | 30 30 30 30 30 30 30 00 31 30 34 36 36 37 31 30 34 33 34 00 30 31 34 30 37 33 00 20 35 00 00 00 | 0000000.10466710434.014073..5... |
00a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
00e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0100 | 00 75 73 74 61 72 20 20 00 61 6e 64 65 72 73 65 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...andersen............... |
0120 | 00 00 00 00 00 00 00 00 00 61 6e 64 65 72 73 65 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........andersen............... |
0140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
01e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0200 | 64 69 65 74 68 6f 74 70 6c 75 67 2d 30 2e 35 2f 4d 61 6b 65 66 69 6c 65 00 00 00 00 00 00 00 00 | diethotplug-0.5/Makefile........ |
0220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0260 | 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 | ....0000644.0001750.0001750.0000 |
0280 | 30 30 30 32 33 31 37 00 31 30 34 36 36 37 31 30 34 33 34 00 30 31 35 35 33 36 00 20 30 00 00 00 | 0002317.10466710434.015536..0... |
02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0300 | 00 75 73 74 61 72 20 20 00 61 6e 64 65 72 73 65 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...andersen............... |
0320 | 00 00 00 00 00 00 00 00 00 61 6e 64 65 72 73 65 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........andersen............... |
0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0400 | 23 20 4d 61 6b 65 66 69 6c 65 20 66 6f 72 20 64 69 65 74 68 6f 74 70 6c 75 67 0a 0a 23 20 53 65 | #.Makefile.for.diethotplug..#.Se |
0420 | 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 60 74 72 75 65 27 20 74 6f 20 6d 61 6b | t.the.following.to.`true'.to.mak |
0440 | 65 20 61 20 64 65 62 75 67 67 61 62 6c 65 20 62 75 69 6c 64 2e 0a 23 20 4c 65 61 76 65 20 74 68 | e.a.debuggable.build..#.Leave.th |
0460 | 69 73 20 73 65 74 20 74 6f 20 60 66 61 6c 73 65 27 20 66 6f 72 20 70 72 6f 64 75 63 74 69 6f 6e | is.set.to.`false'.for.production |
0480 | 20 75 73 65 2e 0a 44 45 42 55 47 20 3d 20 66 61 6c 73 65 0a 0a 23 20 49 66 20 79 6f 75 20 61 72 | .use..DEBUG.=.false..#.If.you.ar |
04a0 | 65 20 72 75 6e 6e 69 6e 67 20 61 20 63 72 6f 73 73 20 63 6f 6d 70 69 6c 65 72 2c 20 79 6f 75 20 | e.running.a.cross.compiler,.you. |
04c0 | 6d 61 79 20 77 61 6e 74 20 74 6f 20 73 65 74 20 74 68 69 73 0a 23 20 74 6f 20 73 6f 6d 65 74 68 | may.want.to.set.this.#.to.someth |
04e0 | 69 6e 67 20 6d 6f 72 65 20 69 6e 74 65 72 65 73 74 69 6e 67 2c 20 6c 69 6b 65 20 22 61 72 6d 2d | ing.more.interesting,.like."arm- |
0500 | 6c 69 6e 75 78 2d 22 2e 20 20 49 20 79 6f 75 20 77 61 6e 74 0a 23 20 74 6f 20 63 6f 6d 70 69 6c | linux-"...I.you.want.#.to.compil |
0520 | 65 20 76 73 20 75 43 6c 69 62 63 2c 20 74 68 61 74 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 68 65 | e.vs.uClibc,.that.can.be.done.he |
0540 | 72 65 20 61 73 20 77 65 6c 6c 2e 0a 43 52 4f 53 53 20 3d 20 23 2f 75 73 72 2f 69 33 38 36 2d 6c | re.as.well..CROSS.=.#/usr/i386-l |
0560 | 69 6e 75 78 2d 75 63 6c 69 62 63 2f 75 73 72 2f 62 69 6e 2f 69 33 38 36 2d 75 63 6c 69 62 63 2d | inux-uclibc/usr/bin/i386-uclibc- |
0580 | 0a 43 43 20 3d 20 24 28 43 52 4f 53 53 29 67 63 63 0a 41 52 20 3d 20 24 28 43 52 4f 53 53 29 61 | .CC.=.$(CROSS)gcc.AR.=.$(CROSS)a |
05a0 | 72 0a 53 54 52 49 50 20 3d 20 24 28 43 52 4f 53 53 29 73 74 72 69 70 0a 0a 0a 23 20 75 73 65 20 | r.STRIP.=.$(CROSS)strip...#.use. |
05c0 | 27 2d 4f 73 27 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 69 66 20 61 76 61 69 6c 61 62 6c 65 2c | '-Os'.optimization.if.available, |
05e0 | 20 65 6c 73 65 20 75 73 65 20 2d 4f 32 0a 4f 50 54 49 4d 49 5a 41 54 49 4f 4e 20 3a 3d 20 24 7b | .else.use.-O2.OPTIMIZATION.:=.${ |
0600 | 73 68 65 6c 6c 20 69 66 20 24 28 43 43 29 20 2d 4f 73 20 2d 53 20 2d 6f 20 2f 64 65 76 2f 6e 75 | shell.if.$(CC).-Os.-S.-o./dev/nu |
0620 | 6c 6c 20 2d 78 63 20 2f 64 65 76 2f 6e 75 6c 6c 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 26 31 | ll.-xc./dev/null.>/dev/null.2>&1 |
0640 | 3b 20 5c 0a 09 09 74 68 65 6e 20 65 63 68 6f 20 22 2d 4f 73 22 3b 20 65 6c 73 65 20 65 63 68 6f | ;.\...then.echo."-Os";.else.echo |
0660 | 20 22 2d 4f 32 22 20 3b 20 66 69 7d 0a 0a 57 41 52 4e 49 4e 47 53 20 3a 3d 20 2d 57 61 6c 6c 20 | ."-O2".;.fi}..WARNINGS.:=.-Wall. |
0680 | 2d 57 73 68 61 64 6f 77 20 2d 57 73 74 72 69 63 74 2d 70 72 6f 74 6f 74 79 70 65 73 0a 43 46 4c | -Wshadow.-Wstrict-prototypes.CFL |
06a0 | 41 47 53 2b 3d 2d 70 69 70 65 0a 0a 23 20 69 66 20 44 45 42 55 47 20 69 73 20 65 6e 61 62 6c 65 | AGS+=-pipe..#.if.DEBUG.is.enable |
06c0 | 64 2c 20 74 68 65 6e 20 77 65 20 64 6f 20 6e 6f 74 20 73 74 72 69 70 20 6f 72 20 6f 70 74 69 6d | d,.then.we.do.not.strip.or.optim |
06e0 | 69 7a 65 0a 69 66 65 71 20 28 24 28 44 45 42 55 47 29 2c 74 72 75 65 29 0a 09 43 46 4c 41 47 53 | ize.ifeq.($(DEBUG),true)..CFLAGS |
0700 | 20 20 2b 3d 20 24 28 57 41 52 4e 49 4e 47 53 29 20 2d 4f 31 20 2d 67 20 2d 44 44 45 42 55 47 20 | ..+=.$(WARNINGS).-O1.-g.-DDEBUG. |
0720 | 2d 44 5f 47 4e 55 5f 53 4f 55 52 43 45 0a 09 4c 44 46 4c 41 47 53 20 2b 3d 20 2d 57 6c 2c 2d 77 | -D_GNU_SOURCE..LDFLAGS.+=.-Wl,-w |
0740 | 61 72 6e 2d 63 6f 6d 6d 6f 6e 0a 09 53 54 52 49 50 43 4d 44 20 3d 20 2f 62 69 6e 2f 74 72 75 65 | arn-common..STRIPCMD.=./bin/true |
0760 | 20 2d 53 69 6e 63 65 5f 77 65 5f 61 72 65 5f 64 65 62 75 67 67 69 6e 67 0a 65 6c 73 65 0a 09 43 | .-Since_we_are_debugging.else..C |
0780 | 46 4c 41 47 53 20 20 2b 3d 20 24 28 57 41 52 4e 49 4e 47 53 29 20 24 28 4f 50 54 49 4d 49 5a 41 | FLAGS..+=.$(WARNINGS).$(OPTIMIZA |
07a0 | 54 49 4f 4e 29 20 2d 66 6f 6d 69 74 2d 66 72 61 6d 65 2d 70 6f 69 6e 74 65 72 20 2d 44 5f 47 4e | TION).-fomit-frame-pointer.-D_GN |
07c0 | 55 5f 53 4f 55 52 43 45 0a 09 4c 44 46 4c 41 47 53 20 2b 3d 20 2d 73 20 2d 57 6c 2c 2d 77 61 72 | U_SOURCE..LDFLAGS.+=.-s.-Wl,-war |
07e0 | 6e 2d 63 6f 6d 6d 6f 6e 0a 09 53 54 52 49 50 43 4d 44 20 3d 20 24 28 53 54 52 49 50 29 20 2d 73 | n-common..STRIPCMD.=.$(STRIP).-s |
0800 | 20 2d 2d 72 65 6d 6f 76 65 2d 73 65 63 74 69 6f 6e 3d 2e 6e 6f 74 65 20 2d 2d 72 65 6d 6f 76 65 | .--remove-section=.note.--remove |
0820 | 2d 73 65 63 74 69 6f 6e 3d 2e 63 6f 6d 6d 65 6e 74 0a 65 6e 64 69 66 0a 0a 0a 61 6c 6c 3a 20 68 | -section=.comment.endif...all:.h |
0840 | 6f 74 70 6c 75 67 0a 0a 68 6f 74 70 6c 75 67 3a 20 68 6f 74 70 6c 75 67 2e 63 0a 09 24 28 43 43 | otplug..hotplug:.hotplug.c..$(CC |
0860 | 29 20 24 28 43 46 4c 41 47 53 29 20 24 28 4c 44 46 4c 41 47 53 29 20 68 6f 74 70 6c 75 67 2e 63 | ).$(CFLAGS).$(LDFLAGS).hotplug.c |
0880 | 20 2d 6f 20 68 6f 74 70 6c 75 67 0a 09 24 28 53 54 52 49 50 43 4d 44 29 20 68 6f 74 70 6c 75 67 | .-o.hotplug..$(STRIPCMD).hotplug |
08a0 | 0a 0a 63 6c 65 61 6e 3a 0a 09 72 6d 20 2d 72 66 20 63 6f 72 65 20 68 6f 74 70 6c 75 67 20 2a 2e | ..clean:..rm.-rf.core.hotplug.*. |
08c0 | 5b 61 6f 5d 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | [ao]............................ |
08e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
09e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 64 69 65 74 68 6f 74 70 6c | .......................diethotpl |
0a00 | 75 67 2d 30 2e 35 2f 68 6f 74 70 6c 75 67 2e 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ug-0.5/hotplug.c................ |
0a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 30 30 30 30 36 | ...........................00006 |
0a60 | 34 34 00 30 30 30 31 37 35 30 00 30 30 30 31 37 35 30 00 30 30 30 30 30 30 36 35 34 33 34 00 31 | 44.0001750.0001750.00000065434.1 |
0a80 | 30 34 36 36 37 31 30 34 33 34 00 30 31 35 37 33 35 00 20 30 00 00 00 00 00 00 00 00 00 00 00 00 | 0466710434.015735..0............ |
0aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 75 73 74 61 72 20 20 00 | ........................ustar... |
0b00 | 61 6e 64 65 72 73 65 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | andersen........................ |
0b20 | 61 6e 64 65 72 73 65 6e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | andersen........................ |
0b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
0be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2f 2a 0a 20 2a 20 68 6f 74 | ......................./*..*.hot |
0c00 | 70 6c 75 67 2e 63 0a 20 2a 0a 20 2a 20 41 20 76 65 72 73 69 6f 6e 20 6f 66 20 2f 73 62 69 6e 2f | plug.c..*..*.A.version.of./sbin/ |
0c20 | 68 6f 74 70 6c 75 67 20 74 68 61 74 20 69 73 20 6e 6f 74 20 61 20 73 63 72 69 70 74 2e 0a 20 2a | hotplug.that.is.not.a.script...* |
0c40 | 0a 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 31 20 47 72 65 67 20 4b 72 6f 61 | ..*.Copyright.(C).2001.Greg.Kroa |
0c60 | 68 2d 48 61 72 74 6d 61 6e 20 3c 67 72 65 67 40 6b 72 6f 61 68 2e 63 6f 6d 3e 0a 20 2a 0a 20 2a | h-Hartman.<greg@kroah.com>..*..* |
0c80 | 09 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 | .This.program.is.free.software;. |
0ca0 | 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d | you.can.redistribute.it.and/or.m |
0cc0 | 6f 64 69 66 79 20 69 74 0a 20 2a 09 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 | odify.it..*.under.the.terms.of.t |
0ce0 | 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 | he.GNU.General.Public.License.as |
0d00 | 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 0a 20 2a 09 46 72 65 65 20 53 6f 66 74 77 61 | .published.by.the..*.Free.Softwa |
0d20 | 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 20 76 65 72 73 69 6f 6e 20 32 20 6f 66 20 74 68 65 20 4c | re.Foundation.version.2.of.the.L |
0d40 | 69 63 65 6e 73 65 2e 0a 20 2a 0a 20 2a 09 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 | icense...*..*.This.program.is.di |
0d60 | 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 | stributed.in.the.hope.that.it.wi |
0d80 | 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 20 62 75 74 0a 20 2a 09 57 49 54 48 4f 55 54 20 41 4e 59 | ll.be.useful,.but..*.WITHOUT.ANY |
0da0 | 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c | .WARRANTY;.without.even.the.impl |
0dc0 | 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 2a 09 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 | ied.warranty.of..*.MERCHANTABILI |
0de0 | 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 | TY.or.FITNESS.FOR.A.PARTICULAR.P |
0e00 | 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 20 2a 09 47 65 6e 65 72 61 6c 20 | URPOSE...See.the.GNU..*.General. |
0e20 | 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e | Public.License.for.more.details. |
0e40 | 0a 20 2a 0a 20 2a 09 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 | ..*..*.You.should.have.received. |
0e60 | 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 | a.copy.of.the.GNU.General.Public |
0e80 | 20 4c 69 63 65 6e 73 65 20 61 6c 6f 6e 67 0a 20 2a 09 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 | .License.along..*.with.this.prog |
0ea0 | 72 61 6d 3b 20 69 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 46 72 65 65 20 53 | ram;.if.not,.write.to.the.Free.S |
0ec0 | 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 0a 20 2a 09 36 37 35 | oftware.Foundation,.Inc.,..*.675 |
0ee0 | 20 4d 61 73 73 20 41 76 65 2c 20 43 61 6d 62 72 69 64 67 65 2c 20 4d 41 20 30 32 31 33 39 2c 20 | .Mass.Ave,.Cambridge,.MA.02139,. |
0f00 | 55 53 41 2e 0a 20 2a 0a 20 2a 20 48 61 63 6b 65 64 20 75 70 20 74 6f 20 72 65 61 64 20 74 68 65 | USA...*..*.Hacked.up.to.read.the |
0f20 | 20 76 61 72 69 6f 75 73 20 6d 6f 64 75 6c 65 73 2e 2a 6d 61 70 20 66 69 6c 65 73 20 61 6e 64 20 | .various.modules.*map.files.and. |
0f40 | 66 6f 72 20 75 73 65 0a 20 2a 20 69 6e 20 42 75 73 79 42 6f 78 20 62 79 20 45 72 69 6b 20 41 6e | for.use..*.in.BusyBox.by.Erik.An |
0f60 | 64 65 72 73 65 6e 20 3c 61 6e 64 65 72 73 65 6e 40 63 6f 64 65 70 6f 65 74 2e 6f 72 67 3e 0a 20 | dersen.<andersen@codepoet.org>.. |
0f80 | 2a 0a 20 2a 2f 0a 0a 0a 23 69 6e 63 6c 75 64 65 20 3c 65 72 72 6e 6f 2e 68 3e 0a 23 69 6e 63 6c | *..*/...#include.<errno.h>.#incl |
0fa0 | 75 64 65 20 3c 73 74 64 69 6f 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 61 72 67 2e 68 | ude.<stdio.h>.#include.<stdarg.h |
0fc0 | 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 64 65 66 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c | >.#include.<stddef.h>.#include.< |
0fe0 | 73 74 64 6c 69 62 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 74 72 69 6e 67 2e 68 3e 0a 23 69 | stdlib.h>.#include.<string.h>.#i |
1000 | 6e 63 6c 75 64 65 20 3c 73 79 73 6c 6f 67 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 75 6e 69 73 | nclude.<syslog.h>.#include.<unis |
1020 | 74 64 2e 68 3e 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 2f 70 61 72 61 6d 2e 68 3e 0a 23 69 6e | td.h>.#include.<sys/param.h>.#in |
1040 | 63 6c 75 64 65 20 3c 73 79 73 2f 75 74 73 6e 61 6d 65 2e 68 3e 0a 0a 23 64 65 66 69 6e 65 20 4c | clude.<sys/utsname.h>..#define.L |
1060 | 49 4e 45 4c 45 4e 47 54 48 20 38 31 39 32 0a 0a 0a 2f 2a 20 45 6e 61 62 6c 65 20 69 66 20 6e 6f | INELENGTH.8192.../*.Enable.if.no |
1080 | 74 20 75 73 65 64 20 61 73 20 61 20 62 75 73 79 62 6f 78 20 61 70 70 6c 65 74 20 2a 2f 0a 23 69 | t.used.as.a.busybox.applet.*/.#i |
10a0 | 66 20 31 0a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 61 70 | f.1.static.const.char.*.const.ap |
10c0 | 70 5f 6e 61 6d 65 20 3d 20 22 68 6f 74 70 6c 75 67 22 3b 0a 73 74 61 74 69 63 20 76 6f 69 64 20 | p_name.=."hotplug";.static.void. |
10e0 | 76 65 72 72 6f 72 5f 6d 73 67 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 76 61 5f 6c 69 73 | verror_msg(const.char.*s,.va_lis |
1100 | 74 20 70 29 0a 7b 0a 09 66 66 6c 75 73 68 28 73 74 64 6f 75 74 29 3b 0a 09 66 70 72 69 6e 74 66 | t.p).{..fflush(stdout);..fprintf |
1120 | 28 73 74 64 65 72 72 2c 20 22 5c 6e 5c 6e 5c 6e 25 73 3a 20 22 2c 20 61 70 70 5f 6e 61 6d 65 29 | (stderr,."\n\n\n%s:.",.app_name) |
1140 | 3b 0a 09 76 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 73 2c 20 70 29 3b 0a 7d 0a 65 78 74 | ;..vfprintf(stderr,.s,.p);.}.ext |
1160 | 65 72 6e 20 76 6f 69 64 20 62 62 5f 65 72 72 6f 72 5f 6d 73 67 28 63 6f 6e 73 74 20 63 68 61 72 | ern.void.bb_error_msg(const.char |
1180 | 20 2a 73 2c 20 2e 2e 2e 29 0a 7b 0a 09 76 61 5f 6c 69 73 74 20 70 3b 0a 0a 09 76 61 5f 73 74 61 | .*s,....).{..va_list.p;...va_sta |
11a0 | 72 74 28 70 2c 20 73 29 3b 0a 09 76 65 72 72 6f 72 5f 6d 73 67 28 73 2c 20 70 29 3b 0a 09 76 61 | rt(p,.s);..verror_msg(s,.p);..va |
11c0 | 5f 65 6e 64 28 70 29 3b 0a 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 5c 6e 5c 6e 5c | _end(p);..fprintf(stderr,."\n\n\ |
11e0 | 6e 22 29 3b 0a 7d 0a 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 62 62 5f 65 72 72 6f 72 5f 6d 73 67 | n");.}..extern.void.bb_error_msg |
1200 | 5f 61 6e 64 5f 64 69 65 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 2e 2e 2e 29 0a 7b 0a 09 | _and_die(const.char.*s,....).{.. |
1220 | 76 61 5f 6c 69 73 74 20 70 3b 0a 0a 09 76 61 5f 73 74 61 72 74 28 70 2c 20 73 29 3b 0a 09 76 65 | va_list.p;...va_start(p,.s);..ve |
1240 | 72 72 6f 72 5f 6d 73 67 28 73 2c 20 70 29 3b 0a 09 76 61 5f 65 6e 64 28 70 29 3b 0a 09 66 70 72 | rror_msg(s,.p);..va_end(p);..fpr |
1260 | 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 5c 6e 5c 6e 5c 6e 22 29 3b 0a 09 65 78 69 74 28 45 58 | intf(stderr,."\n\n\n");..exit(EX |
1280 | 49 54 5f 46 41 49 4c 55 52 45 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 76 6f 69 64 20 76 70 65 72 | IT_FAILURE);.}..static.void.vper |
12a0 | 72 6f 72 5f 6d 73 67 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 2c 20 76 61 5f 6c 69 73 74 20 70 | ror_msg(const.char.*s,.va_list.p |
12c0 | 29 0a 7b 0a 09 69 6e 74 20 65 72 72 20 3d 20 65 72 72 6e 6f 3b 0a 0a 09 69 66 20 28 73 20 3d 3d | ).{..int.err.=.errno;...if.(s.== |
12e0 | 20 30 29 0a 09 09 73 20 3d 20 22 22 3b 0a 09 76 65 72 72 6f 72 5f 6d 73 67 28 73 2c 20 70 29 3b | .0)...s.=."";..verror_msg(s,.p); |
1300 | 0a 09 69 66 20 28 2a 73 29 0a 09 09 73 20 3d 20 22 3a 20 22 3b 0a 09 66 70 72 69 6e 74 66 28 73 | ..if.(*s)...s.=.":.";..fprintf(s |
1320 | 74 64 65 72 72 2c 20 22 25 73 25 73 5c 6e 22 2c 20 73 2c 20 73 74 72 65 72 72 6f 72 28 65 72 72 | tderr,."%s%s\n",.s,.strerror(err |
1340 | 29 29 3b 0a 09 66 70 72 69 6e 74 66 28 73 74 64 65 72 72 2c 20 22 5c 6e 5c 6e 5c 6e 22 29 3b 0a | ));..fprintf(stderr,."\n\n\n");. |
1360 | 7d 0a 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 62 62 5f 70 65 72 72 6f 72 5f 6d 73 67 28 63 6f 6e | }..extern.void.bb_perror_msg(con |
1380 | 73 74 20 63 68 61 72 20 2a 73 2c 20 2e 2e 2e 29 0a 7b 0a 09 76 61 5f 6c 69 73 74 20 70 3b 0a 0a | st.char.*s,....).{..va_list.p;.. |
13a0 | 09 76 61 5f 73 74 61 72 74 28 70 2c 20 73 29 3b 0a 09 76 70 65 72 72 6f 72 5f 6d 73 67 28 73 2c | .va_start(p,.s);..vperror_msg(s, |
13c0 | 20 70 29 3b 0a 09 76 61 5f 65 6e 64 28 70 29 3b 0a 7d 0a 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 | .p);..va_end(p);.}..extern.void. |
13e0 | 62 62 5f 70 65 72 72 6f 72 5f 6d 73 67 5f 61 6e 64 5f 64 69 65 28 63 6f 6e 73 74 20 63 68 61 72 | bb_perror_msg_and_die(const.char |
1400 | 20 2a 73 2c 20 2e 2e 2e 29 0a 7b 0a 09 76 61 5f 6c 69 73 74 20 70 3b 0a 0a 09 76 61 5f 73 74 61 | .*s,....).{..va_list.p;...va_sta |
1420 | 72 74 28 70 2c 20 73 29 3b 0a 09 76 70 65 72 72 6f 72 5f 6d 73 67 28 73 2c 20 70 29 3b 0a 09 76 | rt(p,.s);..vperror_msg(s,.p);..v |
1440 | 61 5f 65 6e 64 28 70 29 3b 0a 09 65 78 69 74 28 45 58 49 54 5f 46 41 49 4c 55 52 45 29 3b 0a 7d | a_end(p);..exit(EXIT_FAILURE);.} |
1460 | 0a 73 74 61 74 69 63 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 63 6f 6e 73 74 20 6d 65 6d 6f 72 | .static.const.char.*.const.memor |
1480 | 79 5f 65 78 68 61 75 73 74 65 64 20 3d 20 22 6d 65 6d 6f 72 79 20 65 78 68 61 75 73 74 65 64 22 | y_exhausted.=."memory.exhausted" |
14a0 | 3b 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 2a 78 6d 61 6c 6c 6f 63 28 73 69 7a 65 5f 74 20 73 69 | ;.extern.void.*xmalloc(size_t.si |
14c0 | 7a 65 29 0a 7b 0a 09 76 6f 69 64 20 2a 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 73 69 7a 65 29 3b | ze).{..void.*ptr.=.malloc(size); |
14e0 | 0a 0a 09 69 66 20 28 21 70 74 72 29 0a 09 09 62 62 5f 65 72 72 6f 72 5f 6d 73 67 5f 61 6e 64 5f | ...if.(!ptr)...bb_error_msg_and_ |
1500 | 64 69 65 28 28 63 68 61 72 2a 29 6d 65 6d 6f 72 79 5f 65 78 68 61 75 73 74 65 64 29 3b 0a 09 72 | die((char*)memory_exhausted);..r |
1520 | 65 74 75 72 6e 20 70 74 72 3b 0a 7d 0a 0a 65 78 74 65 72 6e 20 76 6f 69 64 20 2a 78 72 65 61 6c | eturn.ptr;.}..extern.void.*xreal |
1540 | 6c 6f 63 28 76 6f 69 64 20 2a 6f 6c 64 2c 20 73 69 7a 65 5f 74 20 73 69 7a 65 29 0a 7b 0a 09 76 | loc(void.*old,.size_t.size).{..v |
1560 | 6f 69 64 20 2a 70 74 72 3b 0a 0a 09 2f 2a 20 53 75 53 32 20 73 61 79 73 20 22 49 66 20 73 69 7a | oid.*ptr;.../*.SuS2.says."If.siz |
1580 | 65 20 69 73 20 30 20 61 6e 64 20 70 74 72 20 69 73 20 6e 6f 74 20 61 20 6e 75 6c 6c 20 70 6f 69 | e.is.0.and.ptr.is.not.a.null.poi |
15a0 | 6e 74 65 72 2c 20 74 68 65 0a 09 20 2a 20 6f 62 6a 65 63 74 20 70 6f 69 6e 74 65 64 20 74 6f 20 | nter,.the...*.object.pointed.to. |
15c0 | 69 73 20 66 72 65 65 64 2e 22 20 20 44 6f 20 74 68 61 74 20 68 65 72 65 2c 20 69 6e 20 63 61 73 | is.freed."..Do.that.here,.in.cas |
15e0 | 65 20 72 65 61 6c 6c 6f 63 0a 09 20 2a 20 72 65 74 75 72 6e 73 20 61 20 4e 55 4c 4c 2c 20 73 69 | e.realloc...*.returns.a.NULL,.si |
1600 | 6e 63 65 20 77 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 63 68 6f 6b 65 20 69 6e 20 74 68 | nce.we.don't.want.to.choke.in.th |
1620 | 61 74 20 63 61 73 65 2e 20 2a 2f 0a 09 69 66 20 28 73 69 7a 65 3d 3d 30 20 26 26 20 6f 6c 64 29 | at.case..*/..if.(size==0.&&.old) |
1640 | 20 7b 0a 09 09 66 72 65 65 28 6f 6c 64 29 3b 0a 09 09 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0a 09 | .{...free(old);...return.NULL;.. |
1660 | 7d 0a 0a 09 70 74 72 20 3d 20 72 65 61 6c 6c 6f 63 28 6f 6c 64 2c 20 73 69 7a 65 29 3b 0a 09 69 | }...ptr.=.realloc(old,.size);..i |
1680 | 66 20 28 21 70 74 72 29 0a 09 09 62 62 5f 65 72 72 6f 72 5f 6d 73 67 5f 61 6e 64 5f 64 69 65 28 | f.(!ptr)...bb_error_msg_and_die( |
16a0 | 28 63 68 61 72 2a 29 6d 65 6d 6f 72 79 5f 65 78 68 61 75 73 74 65 64 29 3b 0a 09 72 65 74 75 72 | (char*)memory_exhausted);..retur |
16c0 | 6e 20 70 74 72 3b 0a 7d 0a 23 64 65 66 69 6e 65 20 68 6f 74 70 6c 75 67 5f 6d 61 69 6e 09 6d 61 | n.ptr;.}.#define.hotplug_main.ma |
16e0 | 69 6e 0a 23 65 6e 64 69 66 0a 0a 73 74 72 75 63 74 20 73 75 62 73 79 73 74 65 6d 20 7b 0a 20 20 | in.#endif..struct.subsystem.{... |
1700 | 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6e 61 6d 65 3b 0a 20 20 20 20 69 6e 74 20 28 2a 20 | ..const.char.*.name;.....int.(*. |
1720 | 68 61 6e 64 6c 65 72 29 20 28 76 6f 69 64 29 3b 0a 7d 3b 0a 0a 65 78 74 65 72 6e 20 69 6e 74 20 | handler).(void);.};..extern.int. |
1740 | 6c 6f 67 5f 6d 65 73 73 61 67 65 20 28 69 6e 74 20 6c 65 76 65 6c 2c 20 63 6f 6e 73 74 20 63 68 | log_message.(int.level,.const.ch |
1760 | 61 72 20 2a 66 6d 74 2c 20 2e 2e 2e 29 20 20 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f 20 28 28 5f | ar.*fmt,....)..__attribute__.((_ |
1780 | 5f 66 6f 72 6d 61 74 5f 5f 28 5f 5f 70 72 69 6e 74 66 5f 5f 2c 20 32 2c 20 33 29 29 29 3b 0a 65 | _format__(__printf__,.2,.3)));.e |
17a0 | 78 74 65 72 6e 20 69 6e 74 20 73 70 6c 69 74 5f 33 76 61 6c 75 65 73 20 28 63 6f 6e 73 74 20 63 | xtern.int.split_3values.(const.c |
17c0 | 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 62 61 73 65 2c 20 75 6e 73 69 67 6e 65 64 20 | har.*string,.int.base,.unsigned. |
17e0 | 69 6e 74 20 2a 20 76 61 6c 75 65 31 2c 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 20 76 61 | int.*.value1,..unsigned.int.*.va |
1800 | 6c 75 65 32 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 20 76 61 6c 75 65 33 29 3b 0a 65 78 | lue2,.unsigned.int.*.value3);.ex |
1820 | 74 65 72 6e 20 69 6e 74 20 73 70 6c 69 74 5f 32 76 61 6c 75 65 73 20 28 63 6f 6e 73 74 20 63 68 | tern.int.split_2values.(const.ch |
1840 | 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 62 61 73 65 2c 20 75 6e 73 69 67 6e 65 64 20 69 | ar.*string,.int.base,.unsigned.i |
1860 | 6e 74 20 2a 20 76 61 6c 75 65 31 2c 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 20 76 61 6c | nt.*.value1,..unsigned.int.*.val |
1880 | 75 65 32 29 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 63 61 6c 6c 5f 73 75 62 73 79 73 74 65 6d 20 | ue2);.extern.int.call_subsystem. |
18a0 | 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 69 6e 67 2c 20 73 74 72 75 63 74 20 73 75 62 73 | (const.char.*string,.struct.subs |
18c0 | 79 73 74 65 6d 20 2a 73 75 62 73 79 73 74 65 6d 29 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 6c 6f | ystem.*subsystem);.extern.int.lo |
18e0 | 61 64 5f 6d 6f 64 75 6c 65 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 6f 64 75 6c 65 5f 6e 61 | ad_module.(const.char.*module_na |
1900 | 6d 65 29 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 75 73 62 5f 68 61 6e 64 6c 65 72 20 28 76 6f 69 | me);.extern.int.usb_handler.(voi |
1920 | 64 29 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 70 63 69 5f 68 61 6e 64 6c 65 72 20 28 76 6f 69 64 | d);.extern.int.pci_handler.(void |
1940 | 29 3b 0a 65 78 74 65 72 6e 20 69 6e 74 20 69 65 65 65 31 33 39 34 5f 68 61 6e 64 6c 65 72 20 28 | );.extern.int.ieee1394_handler.( |
1960 | 76 6f 69 64 29 3b 0a 0a 23 64 65 66 69 6e 65 20 41 44 44 5f 53 54 52 49 4e 47 09 22 61 64 64 22 | void);..#define.ADD_STRING."add" |
1980 | 0a 23 64 65 66 69 6e 65 20 52 45 4d 4f 56 45 5f 53 54 52 49 4e 47 09 22 72 65 6d 6f 76 65 22 0a | .#define.REMOVE_STRING."remove". |
19a0 | 0a 0a 2f 2f 23 64 65 66 69 6e 65 20 44 45 42 55 47 20 31 0a 23 69 66 64 65 66 20 44 45 42 55 47 | ..//#define.DEBUG.1.#ifdef.DEBUG |
19c0 | 0a 23 69 6e 63 6c 75 64 65 20 3c 73 79 73 6c 6f 67 2e 68 3e 0a 09 23 64 65 66 69 6e 65 20 64 62 | .#include.<syslog.h>..#define.db |
19e0 | 67 28 66 6f 72 6d 61 74 2c 20 61 72 67 2e 2e 2e 29 20 64 6f 20 7b 20 6c 6f 67 5f 6d 65 73 73 61 | g(format,.arg...).do.{.log_messa |
1a00 | 67 65 20 28 4c 4f 47 5f 44 45 42 55 47 2c 20 5f 5f 46 55 4e 43 54 49 4f 4e 5f 5f 20 22 3a 20 22 | ge.(LOG_DEBUG,.__FUNCTION__.":." |
1a20 | 20 66 6f 72 6d 61 74 2c 20 23 23 20 61 72 67 29 3b 20 7d 20 77 68 69 6c 65 20 28 30 29 0a 23 65 | .format,.##.arg);.}.while.(0).#e |
1a40 | 6c 73 65 0a 09 23 64 65 66 69 6e 65 20 64 62 67 28 66 6f 72 6d 61 74 2c 20 61 72 67 2e 2e 2e 29 | lse..#define.dbg(format,.arg...) |
1a60 | 20 64 6f 20 7b 20 7d 20 77 68 69 6c 65 20 28 30 29 0a 23 65 6e 64 69 66 0a 0a 0a 69 6e 74 20 63 | .do.{.}.while.(0).#endif...int.c |
1a80 | 70 75 5f 68 61 6e 64 6c 65 72 20 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 2f 2a 20 4e 6f 74 20 68 | pu_handler.(void).{...../*.Not.h |
1aa0 | 61 6e 64 6c 65 64 20 2a 2f 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 6e 74 20 6e | andled.*/.....return.0;.}..int.n |
1ac0 | 65 74 5f 68 61 6e 64 6c 65 72 20 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 2f 2a 20 4e 6f 74 20 68 | et_handler.(void).{...../*.Not.h |
1ae0 | 61 6e 64 6c 65 64 20 2a 2f 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 69 6e 74 20 64 | andled.*/.....return.0;.}..int.d |
1b00 | 6f 63 6b 5f 68 61 6e 64 6c 65 72 20 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 2f 2a 20 4e 6f 74 20 | ock_handler.(void).{...../*.Not. |
1b20 | 68 61 6e 64 6c 65 64 20 2a 2f 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 73 74 61 74 | handled.*/.....return.0;.}..stat |
1b40 | 69 63 20 73 74 72 75 63 74 20 73 75 62 73 79 73 74 65 6d 20 6d 61 69 6e 5f 73 75 62 73 79 73 74 | ic.struct.subsystem.main_subsyst |
1b60 | 65 6d 5b 5d 20 3d 20 7b 0a 20 20 20 20 7b 20 22 70 63 69 22 2c 09 20 20 20 20 70 63 69 5f 68 61 | em[].=.{.....{."pci",.....pci_ha |
1b80 | 6e 64 6c 65 72 20 7d 2c 0a 20 20 20 20 7b 20 22 75 73 62 22 2c 09 20 20 20 20 75 73 62 5f 68 61 | ndler.},.....{."usb",.....usb_ha |
1ba0 | 6e 64 6c 65 72 20 7d 2c 0a 20 20 20 20 7b 20 22 69 65 65 65 31 33 39 34 22 2c 20 20 20 69 65 65 | ndler.},.....{."ieee1394",...iee |
1bc0 | 65 31 33 39 34 5f 68 61 6e 64 6c 65 72 20 7d 2c 0a 20 20 20 20 7b 20 22 63 70 75 22 2c 09 20 20 | e1394_handler.},.....{."cpu",... |
1be0 | 20 20 63 70 75 5f 68 61 6e 64 6c 65 72 20 7d 2c 0a 20 20 20 20 7b 20 22 6e 65 74 22 2c 09 20 20 | ..cpu_handler.},.....{."net",... |
1c00 | 20 20 6e 65 74 5f 68 61 6e 64 6c 65 72 20 7d 2c 0a 20 20 20 20 7b 20 22 64 6f 63 6b 22 2c 09 20 | ..net_handler.},.....{."dock",.. |
1c20 | 20 20 20 64 6f 63 6b 5f 68 61 6e 64 6c 65 72 20 7d 2c 0a 20 20 20 20 7b 20 4e 55 4c 4c 2c 09 20 | ...dock_handler.},.....{.NULL,.. |
1c40 | 20 20 20 4e 55 4c 4c 20 7d 0a 7d 3b 0a 0a 69 6e 74 20 68 6f 74 70 6c 75 67 5f 6d 61 69 6e 28 69 | ...NULL.}.};..int.hotplug_main(i |
1c60 | 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 61 72 67 76 5b 5d 29 0a 7b 0a 20 20 20 20 69 66 20 | nt.argc,.char.*argv[]).{.....if. |
1c80 | 28 61 72 67 63 20 21 3d 20 32 29 20 7b 0a 09 64 62 67 20 28 22 75 6e 6b 6e 6f 77 6e 20 6e 75 6d | (argc.!=.2).{..dbg.("unknown.num |
1ca0 | 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 22 29 3b 0a 09 72 65 74 75 72 6e 20 31 3b 0a 20 | ber.of.arguments");..return.1;.. |
1cc0 | 20 20 20 7d 0a 20 20 20 20 2f 2a 20 70 61 73 73 20 63 6f 6e 74 72 6f 6c 20 74 6f 20 74 68 65 20 | ...}...../*.pass.control.to.the. |
1ce0 | 73 75 62 73 79 73 74 65 6d 20 73 70 65 63 69 66 69 65 64 20 62 79 20 61 72 67 76 5b 31 5d 2e 20 | subsystem.specified.by.argv[1].. |
1d00 | 2a 2f 0a 20 20 20 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 73 75 62 73 79 73 74 65 6d 20 28 61 72 | */.....return.call_subsystem.(ar |
1d20 | 67 76 5b 31 5d 2c 20 6d 61 69 6e 5f 73 75 62 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 0a 0a 2f 2a 20 | gv[1],.main_subsystem);.}..../*. |
1d40 | 54 68 65 20 69 65 65 65 31 33 39 34 20 66 75 6e 63 74 69 6f 6e 73 20 2a 2f 0a 23 64 65 66 69 6e | The.ieee1394.functions.*/.#defin |
1d60 | 65 20 49 45 45 45 31 33 39 34 5f 4d 41 54 43 48 5f 56 45 4e 44 4f 52 5f 49 44 09 30 78 30 30 30 | e.IEEE1394_MATCH_VENDOR_ID.0x000 |
1d80 | 31 0a 23 64 65 66 69 6e 65 20 49 45 45 45 31 33 39 34 5f 4d 41 54 43 48 5f 4d 4f 44 45 4c 5f 49 | 1.#define.IEEE1394_MATCH_MODEL_I |
1da0 | 44 09 09 30 78 30 30 30 32 0a 23 64 65 66 69 6e 65 20 49 45 45 45 31 33 39 34 5f 4d 41 54 43 48 | D..0x0002.#define.IEEE1394_MATCH |
1dc0 | 5f 53 50 45 43 49 46 49 45 52 5f 49 44 09 30 78 30 30 30 34 0a 23 64 65 66 69 6e 65 20 49 45 45 | _SPECIFIER_ID.0x0004.#define.IEE |
1de0 | 45 31 33 39 34 5f 4d 41 54 43 48 5f 56 45 52 53 49 4f 4e 09 09 30 78 30 30 30 38 0a 0a 73 74 72 | E1394_MATCH_VERSION..0x0008..str |
1e00 | 75 63 74 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 7b 0a 09 63 6f 6e 73 74 | uct.ieee1394_module_map.{..const |
1e20 | 20 63 68 61 72 20 2a 20 6d 6f 64 75 6c 65 5f 6e 61 6d 65 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 | .char.*.module_name;..unsigned.i |
1e40 | 6e 74 20 6d 61 74 63 68 5f 66 6c 61 67 73 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 76 65 | nt.match_flags;..unsigned.int.ve |
1e60 | 6e 64 6f 72 5f 69 64 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6d 6f 64 65 6c 5f 69 64 3b | ndor_id;..unsigned.int.model_id; |
1e80 | 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 70 65 63 69 66 69 65 72 5f 69 64 3b 0a 09 75 6e | ..unsigned.int.specifier_id;..un |
1ea0 | 73 69 67 6e 65 64 20 69 6e 74 20 76 65 72 73 69 6f 6e 3b 0a 7d 20 5f 5f 61 74 74 72 69 62 75 74 | signed.int.version;.}.__attribut |
1ec0 | 65 5f 5f 20 28 28 70 61 63 6b 65 64 29 29 3b 0a 73 74 61 74 69 63 20 73 74 72 75 63 74 20 69 65 | e__.((packed));.static.struct.ie |
1ee0 | 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 2a 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 | ee1394_module_map.*ieee1394_modu |
1f00 | 6c 65 5f 6d 61 70 3b 0a 0a 76 6f 69 64 20 69 65 65 65 31 33 39 34 5f 72 65 61 64 5f 70 63 69 6d | le_map;..void.ieee1394_read_pcim |
1f20 | 61 70 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 46 49 4c 45 20 2a 69 65 65 65 31 33 39 34 6d 61 70 | ap(void).{.....FILE.*ieee1394map |
1f40 | 5f 66 69 6c 65 3b 0a 20 20 20 20 73 74 72 75 63 74 20 75 74 73 6e 61 6d 65 20 75 74 73 6e 61 6d | _file;.....struct.utsname.utsnam |
1f60 | 65 3b 0a 20 20 20 20 73 74 72 75 63 74 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 | e;.....struct.ieee1394_module_ma |
1f80 | 70 20 2a 65 6e 74 72 79 20 3d 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 3b 0a | p.*entry.=.ieee1394_module_map;. |
1fa0 | 20 20 20 20 63 68 61 72 20 2a 70 72 65 76 6d 6f 64 75 6c 65 20 3d 20 22 22 3b 0a 20 20 20 20 63 | ....char.*prevmodule.=."";.....c |
1fc0 | 68 61 72 20 66 69 6c 65 6e 61 6d 65 5b 4d 41 58 50 41 54 48 4c 45 4e 5d 3b 0a 20 20 20 20 63 68 | har.filename[MAXPATHLEN];.....ch |
1fe0 | 61 72 20 6c 69 6e 65 5b 4c 49 4e 45 4c 45 4e 47 54 48 5d 3b 0a 20 20 20 20 63 68 61 72 20 6d 6f | ar.line[LINELENGTH];.....char.mo |
2000 | 64 75 6c 65 5b 4c 49 4e 45 4c 45 4e 47 54 48 5d 3b 0a 20 20 20 20 69 6e 74 20 63 6f 75 6e 74 2c | dule[LINELENGTH];.....int.count, |
2020 | 20 6d 61 70 73 69 7a 65 3b 0a 0a 20 20 20 20 69 66 20 28 75 6e 61 6d 65 28 26 75 74 73 6e 61 6d | .mapsize;......if.(uname(&utsnam |
2040 | 65 29 20 3c 20 30 29 20 7b 0a 09 70 65 72 72 6f 72 28 22 75 6e 61 6d 65 22 29 3b 0a 09 65 78 69 | e).<.0).{..perror("uname");..exi |
2060 | 74 28 31 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 73 70 72 69 6e 74 66 28 66 69 6c 65 6e 61 6d 65 | t(1);.....}.....sprintf(filename |
2080 | 2c 20 22 2f 6c 69 62 2f 6d 6f 64 75 6c 65 73 2f 25 73 2f 6d 6f 64 75 6c 65 73 2e 69 65 65 65 31 | ,."/lib/modules/%s/modules.ieee1 |
20a0 | 33 39 34 6d 61 70 22 2c 20 75 74 73 6e 61 6d 65 2e 72 65 6c 65 61 73 65 29 3b 0a 20 20 20 20 69 | 394map",.utsname.release);.....i |
20c0 | 66 20 28 28 69 65 65 65 31 33 39 34 6d 61 70 5f 66 69 6c 65 20 3d 20 66 6f 70 65 6e 28 66 69 6c | f.((ieee1394map_file.=.fopen(fil |
20e0 | 65 6e 61 6d 65 2c 20 22 72 22 29 29 20 3d 3d 20 4e 55 4c 4c 29 20 7b 0a 09 62 62 5f 70 65 72 72 | ename,."r")).==.NULL).{..bb_perr |
2100 | 6f 72 5f 6d 73 67 5f 61 6e 64 5f 64 69 65 28 22 43 6f 75 6c 64 20 6e 6f 74 20 6f 70 65 6e 20 25 | or_msg_and_die("Could.not.open.% |
2120 | 73 22 2c 20 66 69 6c 65 6e 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 63 6f 75 6e 74 20 | s",.filename);.....}......count. |
2140 | 3d 20 6d 61 70 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 77 68 69 6c 65 28 66 67 65 74 73 28 6c | =.mapsize.=.0;.....while(fgets(l |
2160 | 69 6e 65 2c 20 4c 49 4e 45 4c 45 4e 47 54 48 2c 20 69 65 65 65 31 33 39 34 6d 61 70 5f 66 69 6c | ine,.LINELENGTH,.ieee1394map_fil |
2180 | 65 29 20 21 3d 20 4e 55 4c 4c 29 20 7b 0a 0a 09 69 66 20 28 6c 69 6e 65 5b 30 5d 20 3d 3d 20 27 | e).!=.NULL).{...if.(line[0].==.' |
21a0 | 23 27 29 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 09 63 6f 75 6e 74 2b 2b 3b 0a 09 69 | #')......continue;...count++;..i |
21c0 | 66 20 28 63 6f 75 6e 74 20 3e 3d 20 6d 61 70 73 69 7a 65 29 20 7b 0a 09 20 20 20 20 6d 61 70 73 | f.(count.>=.mapsize).{......maps |
21e0 | 69 7a 65 2b 3d 31 30 30 3b 0a 09 20 20 20 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d | ize+=100;......ieee1394_module_m |
2200 | 61 70 20 3d 20 78 72 65 61 6c 6c 6f 63 28 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 | ap.=.xrealloc(ieee1394_module_ma |
2220 | 70 2c 20 28 73 69 7a 65 6f 66 28 73 74 72 75 63 74 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c | p,.(sizeof(struct.ieee1394_modul |
2240 | 65 5f 6d 61 70 29 20 2a 20 6d 61 70 73 69 7a 65 29 29 3b 0a 09 20 20 20 20 65 6e 74 72 79 20 3d | e_map).*.mapsize));......entry.= |
2260 | 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 2b 20 63 6f 75 6e 74 20 2d 20 31 | .ieee1394_module_map.+.count.-.1 |
2280 | 3b 0a 09 20 20 20 20 6d 65 6d 73 65 74 28 65 6e 74 72 79 2c 20 30 2c 20 28 73 69 7a 65 6f 66 28 | ;......memset(entry,.0,.(sizeof( |
22a0 | 73 74 72 75 63 74 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 29 20 2a 20 31 30 | struct.ieee1394_module_map).*.10 |
22c0 | 30 29 29 3b 0a 09 7d 0a 0a 09 69 66 20 28 73 73 63 61 6e 66 28 6c 69 6e 65 2c 20 22 25 73 20 30 | 0));..}...if.(sscanf(line,."%s.0 |
22e0 | 78 25 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 22 2c 0a 09 09 20 20 20 20 | x%x.0x%x.0x%x.0x%x.0x%x",....... |
2300 | 6d 6f 64 75 6c 65 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e 6d 61 74 63 68 5f 66 6c 61 67 | module,.......&entry->match_flag |
2320 | 73 2c 20 26 65 6e 74 72 79 2d 3e 76 65 6e 64 6f 72 5f 69 64 2c 0a 09 09 20 20 20 20 26 65 6e 74 | s,.&entry->vendor_id,.......&ent |
2340 | 72 79 2d 3e 6d 6f 64 65 6c 5f 69 64 2c 20 26 65 6e 74 72 79 2d 3e 73 70 65 63 69 66 69 65 72 5f | ry->model_id,.&entry->specifier_ |
2360 | 69 64 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e 76 65 72 73 69 6f 6e 29 20 21 3d 20 36 29 | id,.......&entry->version).!=.6) |
2380 | 20 7b 0a 09 20 20 20 20 62 62 5f 65 72 72 6f 72 5f 6d 73 67 28 22 6d 6f 64 75 6c 65 73 2e 69 65 | .{......bb_error_msg("modules.ie |
23a0 | 65 65 31 33 39 34 6d 61 70 20 75 6e 70 61 72 73 61 62 6c 65 20 6c 69 6e 65 3a 20 25 73 2e 5c 6e | ee1394map.unparsable.line:.%s.\n |
23c0 | 22 2c 20 6c 69 6e 65 29 3b 0a 09 20 20 20 20 66 72 65 65 28 65 6e 74 72 79 29 3b 0a 09 20 20 20 | ",.line);......free(entry);..... |
23e0 | 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 0a 09 2f 2a 20 4f 70 74 69 6d 69 7a 65 20 6d 65 6d 6f | .continue;..}.../*.Optimize.memo |
2400 | 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 61 20 62 69 74 2c 20 69 6e 20 63 61 73 65 20 73 6f 6d | ry.allocation.a.bit,.in.case.som |
2420 | 65 64 61 79 20 77 65 0a 09 20 20 20 68 61 76 65 20 4c 69 6e 75 78 20 73 79 73 74 65 6d 73 20 77 | eday.we.....have.Linux.systems.w |
2440 | 69 74 68 20 7e 31 30 30 2c 30 30 30 20 6d 6f 64 75 6c 65 73 2e 20 20 49 74 20 61 6c 73 6f 0a 09 | ith.~100,000.modules...It.also.. |
2460 | 20 20 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 6a 75 73 74 20 63 6f 6d 70 61 72 65 20 70 6f 69 | ...allows.us.to.just.compare.poi |
2480 | 6e 74 65 72 73 20 74 6f 20 61 76 6f 69 64 20 74 72 79 69 6e 67 0a 09 20 20 20 74 6f 20 6c 6f 61 | nters.to.avoid.trying.....to.loa |
24a0 | 64 20 61 20 6d 6f 64 75 6c 65 20 74 77 69 63 65 2e 20 2a 2f 0a 09 69 66 20 28 73 74 72 63 6d 70 | d.a.module.twice..*/..if.(strcmp |
24c0 | 28 6d 6f 64 75 6c 65 2c 20 70 72 65 76 6d 6f 64 75 6c 65 29 20 21 3d 20 30 29 20 7b 0a 09 20 20 | (module,.prevmodule).!=.0).{.... |
24e0 | 20 20 70 72 65 76 6d 6f 64 75 6c 65 20 3d 20 78 6d 61 6c 6c 6f 63 28 73 74 72 6c 65 6e 28 6d 6f | ..prevmodule.=.xmalloc(strlen(mo |
2500 | 64 75 6c 65 29 2b 31 29 3b 0a 09 20 20 20 20 73 74 72 63 70 79 28 70 72 65 76 6d 6f 64 75 6c 65 | dule)+1);......strcpy(prevmodule |
2520 | 2c 20 6d 6f 64 75 6c 65 29 3b 0a 09 7d 0a 09 65 6e 74 72 79 2d 3e 6d 6f 64 75 6c 65 5f 6e 61 6d | ,.module);..}..entry->module_nam |
2540 | 65 20 3d 20 70 72 65 76 6d 6f 64 75 6c 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 63 6c 6f 73 65 | e.=.prevmodule;.....}.....fclose |
2560 | 28 69 65 65 65 31 33 39 34 6d 61 70 5f 66 69 6c 65 29 3b 0a 7d 0a 73 74 61 74 69 63 20 69 6e 74 | (ieee1394map_file);.}.static.int |
2580 | 20 69 65 65 65 31 33 39 34 5f 6d 61 74 63 68 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 76 65 6e | .ieee1394_match(unsigned.int.ven |
25a0 | 64 6f 72 5f 69 64 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 70 65 63 69 66 69 65 72 5f 69 | dor_id,.unsigned.int.specifier_i |
25c0 | 64 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 76 65 72 73 69 6f 6e 29 0a 7b 0a 20 20 20 20 69 | d,.unsigned.int.version).{.....i |
25e0 | 6e 74 20 69 3b 0a 20 20 20 20 69 6e 74 20 72 65 74 76 61 6c 3b 0a 0a 20 20 20 20 64 62 67 20 28 | nt.i;.....int.retval;......dbg.( |
2600 | 22 76 65 6e 64 6f 72 5f 69 64 20 3d 20 25 78 2c 20 73 70 65 63 69 66 69 65 72 5f 69 64 20 3d 20 | "vendor_id.=.%x,.specifier_id.=. |
2620 | 25 78 2c 20 76 65 72 73 69 6f 6e 20 3d 20 25 78 22 2c 0a 09 20 20 20 20 76 65 6e 64 6f 72 5f 69 | %x,.version.=.%x",......vendor_i |
2640 | 64 2c 20 73 70 65 63 69 66 69 65 72 5f 69 64 2c 20 76 65 72 73 69 6f 6e 29 3b 0a 0a 20 20 20 20 | d,.specifier_id,.version);...... |
2660 | 66 6f 72 20 28 69 20 3d 20 30 3b 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b | for.(i.=.0;.ieee1394_module_map[ |
2680 | 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 20 21 3d 20 4e 55 4c 4c 3b 20 2b 2b 69 29 20 7b 0a 09 | i].module_name.!=.NULL;.++i).{.. |
26a0 | 64 62 67 20 28 22 6c 6f 6f 6b 69 6e 67 20 61 74 20 25 73 2c 20 6d 61 74 63 68 5f 66 6c 61 67 73 | dbg.("looking.at.%s,.match_flags |
26c0 | 20 3d 20 25 78 22 2c 0a 09 09 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d | .=.%x",...ieee1394_module_map[i] |
26e0 | 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 2c 0a 09 09 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f | .module_name,...ieee1394_module_ |
2700 | 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 29 3b 0a 09 69 66 20 28 28 69 65 65 65 31 | map[i].match_flags);..if.((ieee1 |
2720 | 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 | 394_module_map[i].match_flags.&. |
2740 | 49 45 45 45 31 33 39 34 5f 4d 41 54 43 48 5f 56 45 4e 44 4f 52 5f 49 44 29 20 26 26 0a 09 09 28 | IEEE1394_MATCH_VENDOR_ID).&&...( |
2760 | 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 76 65 6e 64 6f 72 5f 69 64 | ieee1394_module_map[i].vendor_id |
2780 | 20 21 3d 20 76 65 6e 64 6f 72 5f 69 64 29 29 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 76 65 6e | .!=.vendor_id)).{......dbg.("ven |
27a0 | 64 6f 72 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 0a 09 09 20 20 | dor.check.failed.%x.!=.%x",..... |
27c0 | 20 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 76 65 6e 64 6f 72 5f | ..ieee1394_module_map[i].vendor_ |
27e0 | 69 64 2c 0a 09 09 20 20 20 20 76 65 6e 64 6f 72 5f 69 64 29 3b 0a 09 20 20 20 20 63 6f 6e 74 69 | id,.......vendor_id);......conti |
2800 | 6e 75 65 3b 0a 09 7d 0a 09 69 66 20 28 28 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 | nue;..}..if.((ieee1394_module_ma |
2820 | 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 49 45 45 45 31 33 39 34 5f 4d 41 54 43 | p[i].match_flags.&.IEEE1394_MATC |
2840 | 48 5f 53 50 45 43 49 46 49 45 52 5f 49 44 29 20 26 26 0a 09 09 28 69 65 65 65 31 33 39 34 5f 6d | H_SPECIFIER_ID).&&...(ieee1394_m |
2860 | 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 73 70 65 63 69 66 69 65 72 5f 69 64 20 21 3d 20 73 70 65 | odule_map[i].specifier_id.!=.spe |
2880 | 63 69 66 69 65 72 5f 69 64 29 29 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 73 70 65 63 69 66 69 | cifier_id)).{......dbg.("specifi |
28a0 | 65 72 5f 69 64 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 0a 09 09 | er_id.check.failed.%x.!=.%x",... |
28c0 | 20 20 20 20 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 73 70 65 63 69 | ....ieee1394_module_map[i].speci |
28e0 | 66 69 65 72 5f 69 64 2c 0a 09 09 20 20 20 20 73 70 65 63 69 66 69 65 72 5f 69 64 29 3b 0a 09 20 | fier_id,.......specifier_id);... |
2900 | 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 09 69 66 20 28 28 69 65 65 65 31 33 39 34 5f 6d | ...continue;..}..if.((ieee1394_m |
2920 | 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 49 45 45 45 31 | odule_map[i].match_flags.&.IEEE1 |
2940 | 33 39 34 5f 4d 41 54 43 48 5f 56 45 52 53 49 4f 4e 29 20 26 26 0a 09 09 28 69 65 65 65 31 33 39 | 394_MATCH_VERSION).&&...(ieee139 |
2960 | 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 76 65 72 73 69 6f 6e 20 21 3d 20 76 65 72 73 69 | 4_module_map[i].version.!=.versi |
2980 | 6f 6e 29 29 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 20 | on)).{......dbg.("version.check. |
29a0 | 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 0a 09 09 20 20 20 20 69 65 65 65 31 33 39 34 | failed.%x.!=.%x",.......ieee1394 |
29c0 | 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 76 65 72 73 69 6f 6e 2c 0a 09 09 20 20 20 20 76 65 | _module_map[i].version,.......ve |
29e0 | 72 73 69 6f 6e 29 3b 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 09 2f 2a 20 66 6f | rsion);......continue;..}../*.fo |
2a00 | 75 6e 64 20 6f 6e 65 21 20 2a 2f 0a 09 64 62 67 20 28 22 6c 6f 61 64 69 6e 67 20 25 73 22 2c 20 | und.one!.*/..dbg.("loading.%s",. |
2a20 | 69 65 65 65 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 | ieee1394_module_map[i].module_na |
2a40 | 6d 65 29 3b 0a 09 72 65 74 76 61 6c 20 3d 20 6c 6f 61 64 5f 6d 6f 64 75 6c 65 20 28 69 65 65 65 | me);..retval.=.load_module.(ieee |
2a60 | 31 33 39 34 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b | 1394_module_map[i].module_name); |
2a80 | 0a 09 69 66 20 28 72 65 74 76 61 6c 29 0a 09 20 20 20 20 72 65 74 75 72 6e 20 72 65 74 76 61 6c | ..if.(retval)......return.retval |
2aa0 | 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 73 74 61 74 69 | ;.....}......return.0;.}...stati |
2ac0 | 63 20 69 6e 74 20 69 65 65 65 31 33 39 34 5f 61 64 64 20 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 | c.int.ieee1394_add.(void).{..... |
2ae0 | 63 68 61 72 20 2a 76 65 6e 64 6f 72 5f 65 6e 76 3b 0a 20 20 20 20 63 68 61 72 20 2a 73 70 65 63 | char.*vendor_env;.....char.*spec |
2b00 | 69 66 69 65 72 5f 65 6e 76 3b 0a 20 20 20 20 63 68 61 72 20 2a 76 65 72 73 69 6f 6e 5f 65 6e 76 | ifier_env;.....char.*version_env |
2b20 | 3b 0a 20 20 20 20 69 6e 74 20 65 72 72 6f 72 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e | ;.....int.error;.....unsigned.in |
2b40 | 74 20 76 65 6e 64 6f 72 5f 69 64 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 70 | t.vendor_id;.....unsigned.int.sp |
2b60 | 65 63 69 66 69 65 72 5f 69 64 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 76 65 72 | ecifier_id;.....unsigned.int.ver |
2b80 | 73 69 6f 6e 3b 0a 0a 20 20 20 20 69 65 65 65 31 33 39 34 5f 72 65 61 64 5f 70 63 69 6d 61 70 28 | sion;......ieee1394_read_pcimap( |
2ba0 | 29 3b 0a 0a 20 20 20 20 76 65 6e 64 6f 72 5f 65 6e 76 20 3d 20 67 65 74 65 6e 76 20 28 22 56 45 | );......vendor_env.=.getenv.("VE |
2bc0 | 4e 44 4f 52 5f 49 44 22 29 3b 0a 20 20 20 20 73 70 65 63 69 66 69 65 72 5f 65 6e 76 20 3d 20 67 | NDOR_ID");.....specifier_env.=.g |
2be0 | 65 74 65 6e 76 20 28 22 53 50 45 43 49 46 49 45 52 5f 49 44 22 29 3b 0a 20 20 20 20 76 65 72 73 | etenv.("SPECIFIER_ID");.....vers |
2c00 | 69 6f 6e 5f 65 6e 76 20 3d 20 67 65 74 65 6e 76 20 28 22 56 45 52 53 49 4f 4e 22 29 3b 0a 20 20 | ion_env.=.getenv.("VERSION");... |
2c20 | 20 20 69 66 20 28 28 76 65 6e 64 6f 72 5f 65 6e 76 20 3d 3d 20 4e 55 4c 4c 29 20 7c 7c 0a 09 20 | ..if.((vendor_env.==.NULL).||... |
2c40 | 20 20 20 28 73 70 65 63 69 66 69 65 72 5f 65 6e 76 20 3d 3d 20 4e 55 4c 4c 29 20 7c 7c 0a 09 20 | ...(specifier_env.==.NULL).||... |
2c60 | 20 20 20 28 76 65 72 73 69 6f 6e 5f 65 6e 76 20 3d 3d 20 4e 55 4c 4c 29 29 20 7b 0a 09 64 62 67 | ...(version_env.==.NULL)).{..dbg |
2c80 | 20 28 22 6d 69 73 73 69 6e 67 20 61 6e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 | .("missing.an.environment.variab |
2ca0 | 6c 65 2c 20 61 62 6f 72 74 69 6e 67 2e 22 29 3b 0a 09 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 | le,.aborting.");..return.1;..... |
2cc0 | 7d 0a 20 20 20 20 76 65 6e 64 6f 72 5f 69 64 20 3d 20 73 74 72 74 6f 75 6c 20 28 76 65 6e 64 6f | }.....vendor_id.=.strtoul.(vendo |
2ce0 | 72 5f 65 6e 76 2c 20 4e 55 4c 4c 2c 20 31 36 29 3b 0a 20 20 20 20 73 70 65 63 69 66 69 65 72 5f | r_env,.NULL,.16);.....specifier_ |
2d00 | 69 64 20 3d 20 73 74 72 74 6f 75 6c 20 28 73 70 65 63 69 66 69 65 72 5f 65 6e 76 2c 20 4e 55 4c | id.=.strtoul.(specifier_env,.NUL |
2d20 | 4c 2c 20 31 36 29 3b 0a 20 20 20 20 76 65 72 73 69 6f 6e 20 3d 20 73 74 72 74 6f 75 6c 20 28 76 | L,.16);.....version.=.strtoul.(v |
2d40 | 65 72 73 69 6f 6e 5f 65 6e 76 2c 20 4e 55 4c 4c 2c 20 31 36 29 3b 0a 0a 20 20 20 20 65 72 72 6f | ersion_env,.NULL,.16);......erro |
2d60 | 72 20 3d 20 69 65 65 65 31 33 39 34 5f 6d 61 74 63 68 20 28 76 65 6e 64 6f 72 5f 69 64 2c 20 73 | r.=.ieee1394_match.(vendor_id,.s |
2d80 | 70 65 63 69 66 69 65 72 5f 69 64 2c 20 76 65 72 73 69 6f 6e 29 3b 0a 0a 20 20 20 20 72 65 74 75 | pecifier_id,.version);......retu |
2da0 | 72 6e 20 65 72 72 6f 72 3b 0a 7d 0a 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 69 65 65 65 31 33 39 | rn.error;.}...static.int.ieee139 |
2dc0 | 34 5f 72 65 6d 6f 76 65 20 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 2f 2a 20 72 69 67 68 74 20 6e | 4_remove.(void).{...../*.right.n |
2de0 | 6f 77 20 77 65 20 64 6f 6e 27 74 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 68 65 72 65 20 3a 29 20 | ow.we.don't.do.anything.here.:). |
2e00 | 2a 2f 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 73 74 61 74 69 63 20 73 74 72 75 | */.....return.0;.}...static.stru |
2e20 | 63 74 20 73 75 62 73 79 73 74 65 6d 20 69 65 65 65 31 33 39 34 5f 73 75 62 73 79 73 74 65 6d 5b | ct.subsystem.ieee1394_subsystem[ |
2e40 | 5d 20 3d 20 7b 0a 20 20 20 20 7b 20 41 44 44 5f 53 54 52 49 4e 47 2c 20 69 65 65 65 31 33 39 34 | ].=.{.....{.ADD_STRING,.ieee1394 |
2e60 | 5f 61 64 64 20 7d 2c 0a 20 20 20 20 7b 20 52 45 4d 4f 56 45 5f 53 54 52 49 4e 47 2c 20 69 65 65 | _add.},.....{.REMOVE_STRING,.iee |
2e80 | 65 31 33 39 34 5f 72 65 6d 6f 76 65 20 7d 2c 0a 20 20 20 20 7b 20 4e 55 4c 4c 2c 20 4e 55 4c 4c | e1394_remove.},.....{.NULL,.NULL |
2ea0 | 20 7d 0a 7d 3b 0a 0a 0a 69 6e 74 20 69 65 65 65 31 33 39 34 5f 68 61 6e 64 6c 65 72 20 28 76 6f | .}.};...int.ieee1394_handler.(vo |
2ec0 | 69 64 29 0a 7b 0a 20 20 20 20 63 68 61 72 20 2a 20 61 63 74 69 6f 6e 3b 0a 20 20 20 20 61 63 74 | id).{.....char.*.action;.....act |
2ee0 | 69 6f 6e 20 3d 20 67 65 74 65 6e 76 20 28 22 41 43 54 49 4f 4e 22 29 3b 0a 20 20 20 20 64 62 67 | ion.=.getenv.("ACTION");.....dbg |
2f00 | 20 28 22 61 63 74 69 6f 6e 20 3d 20 25 73 22 2c 20 61 63 74 69 6f 6e 29 3b 0a 20 20 20 20 69 66 | .("action.=.%s",.action);.....if |
2f20 | 20 28 61 63 74 69 6f 6e 20 3d 3d 20 4e 55 4c 4c 29 20 7b 0a 09 64 62 67 20 28 22 6d 69 73 73 69 | .(action.==.NULL).{..dbg.("missi |
2f40 | 6e 67 20 41 43 54 49 4f 4e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2c 20 | ng.ACTION.environment.variable,. |
2f60 | 61 62 6f 72 74 69 6e 67 2e 22 29 3b 0a 09 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 20 20 | aborting.");..return.1;.....}... |
2f80 | 20 20 72 65 74 75 72 6e 20 63 61 6c 6c 5f 73 75 62 73 79 73 74 65 6d 20 28 61 63 74 69 6f 6e 2c | ..return.call_subsystem.(action, |
2fa0 | 20 69 65 65 65 31 33 39 34 5f 73 75 62 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 2f 2a 20 54 68 65 20 | .ieee1394_subsystem);.}../*.The. |
2fc0 | 70 63 69 20 66 75 6e 63 74 69 6f 6e 73 20 2a 2f 0a 23 64 65 66 69 6e 65 20 50 43 49 5f 41 4e 59 | pci.functions.*/.#define.PCI_ANY |
2fe0 | 09 09 09 09 30 78 66 66 66 66 66 66 66 66 0a 0a 73 74 72 75 63 74 20 70 63 69 5f 6d 6f 64 75 6c | ....0xffffffff..struct.pci_modul |
3000 | 65 5f 6d 61 70 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6d 6f 64 75 6c 65 5f | e_map.{.....const.char.*.module_ |
3020 | 6e 61 6d 65 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 76 65 6e 64 6f 72 3b 0a 20 | name;.....unsigned.int.vendor;.. |
3040 | 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 65 76 69 63 65 3b 0a 20 20 20 20 75 6e 73 69 | ...unsigned.int.device;.....unsi |
3060 | 67 6e 65 64 20 69 6e 74 20 73 75 62 76 65 6e 64 6f 72 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 | gned.int.subvendor;.....unsigned |
3080 | 20 69 6e 74 20 73 75 62 64 65 76 69 63 65 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 | .int.subdevice;.....unsigned.int |
30a0 | 20 63 6c 61 73 73 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 63 6c 61 73 73 5f 6d | .class;.....unsigned.int.class_m |
30c0 | 61 73 6b 3b 0a 7d 20 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f 20 28 28 70 61 63 6b 65 64 29 29 3b | ask;.}.__attribute__.((packed)); |
30e0 | 0a 73 74 61 74 69 63 20 73 74 72 75 63 74 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 2a 70 | .static.struct.pci_module_map.*p |
3100 | 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 3b 0a 0a 76 6f 69 64 20 70 63 69 5f 72 65 61 64 5f 70 63 | ci_module_map;..void.pci_read_pc |
3120 | 69 6d 61 70 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 46 49 4c 45 20 2a 70 63 69 6d 61 70 5f 66 69 | imap(void).{.....FILE.*pcimap_fi |
3140 | 6c 65 3b 0a 20 20 20 20 73 74 72 75 63 74 20 75 74 73 6e 61 6d 65 20 75 74 73 6e 61 6d 65 3b 0a | le;.....struct.utsname.utsname;. |
3160 | 20 20 20 20 73 74 72 75 63 74 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 2a 65 6e 74 72 79 | ....struct.pci_module_map.*entry |
3180 | 20 3d 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 | .=.pci_module_map;.....unsigned. |
31a0 | 69 6e 74 20 64 72 69 76 65 72 5f 64 61 74 61 3b 0a 20 20 20 20 63 68 61 72 20 2a 70 72 65 76 6d | int.driver_data;.....char.*prevm |
31c0 | 6f 64 75 6c 65 20 3d 20 22 22 3b 0a 20 20 20 20 63 68 61 72 20 66 69 6c 65 6e 61 6d 65 5b 4d 41 | odule.=."";.....char.filename[MA |
31e0 | 58 50 41 54 48 4c 45 4e 5d 3b 0a 20 20 20 20 63 68 61 72 20 6c 69 6e 65 5b 4c 49 4e 45 4c 45 4e | XPATHLEN];.....char.line[LINELEN |
3200 | 47 54 48 5d 3b 0a 20 20 20 20 63 68 61 72 20 6d 6f 64 75 6c 65 5b 4c 49 4e 45 4c 45 4e 47 54 48 | GTH];.....char.module[LINELENGTH |
3220 | 5d 3b 0a 20 20 20 20 69 6e 74 20 63 6f 75 6e 74 2c 20 6d 61 70 73 69 7a 65 3b 0a 0a 20 20 20 20 | ];.....int.count,.mapsize;...... |
3240 | 69 66 20 28 75 6e 61 6d 65 28 26 75 74 73 6e 61 6d 65 29 20 3c 20 30 29 20 7b 0a 09 70 65 72 72 | if.(uname(&utsname).<.0).{..perr |
3260 | 6f 72 28 22 75 6e 61 6d 65 22 29 3b 0a 09 65 78 69 74 28 31 29 3b 0a 20 20 20 20 7d 0a 20 20 20 | or("uname");..exit(1);.....}.... |
3280 | 20 73 70 72 69 6e 74 66 28 66 69 6c 65 6e 61 6d 65 2c 20 22 2f 6c 69 62 2f 6d 6f 64 75 6c 65 73 | .sprintf(filename,."/lib/modules |
32a0 | 2f 25 73 2f 6d 6f 64 75 6c 65 73 2e 70 63 69 6d 61 70 22 2c 20 75 74 73 6e 61 6d 65 2e 72 65 6c | /%s/modules.pcimap",.utsname.rel |
32c0 | 65 61 73 65 29 3b 0a 20 20 20 20 69 66 20 28 28 70 63 69 6d 61 70 5f 66 69 6c 65 20 3d 20 66 6f | ease);.....if.((pcimap_file.=.fo |
32e0 | 70 65 6e 28 66 69 6c 65 6e 61 6d 65 2c 20 22 72 22 29 29 20 3d 3d 20 4e 55 4c 4c 29 20 7b 0a 09 | pen(filename,."r")).==.NULL).{.. |
3300 | 62 62 5f 70 65 72 72 6f 72 5f 6d 73 67 5f 61 6e 64 5f 64 69 65 28 22 43 6f 75 6c 64 20 6e 6f 74 | bb_perror_msg_and_die("Could.not |
3320 | 20 6f 70 65 6e 20 25 73 22 2c 20 66 69 6c 65 6e 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 | .open.%s",.filename);.....}..... |
3340 | 20 63 6f 75 6e 74 20 3d 20 6d 61 70 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 77 68 69 6c 65 28 | .count.=.mapsize.=.0;.....while( |
3360 | 66 67 65 74 73 28 6c 69 6e 65 2c 20 4c 49 4e 45 4c 45 4e 47 54 48 2c 20 70 63 69 6d 61 70 5f 66 | fgets(line,.LINELENGTH,.pcimap_f |
3380 | 69 6c 65 29 20 21 3d 20 4e 55 4c 4c 29 20 7b 0a 0a 09 69 66 20 28 6c 69 6e 65 5b 30 5d 20 3d 3d | ile).!=.NULL).{...if.(line[0].== |
33a0 | 20 27 23 27 29 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 09 63 6f 75 6e 74 2b 2b 3b 0a | .'#')......continue;...count++;. |
33c0 | 09 69 66 20 28 63 6f 75 6e 74 20 3e 3d 20 6d 61 70 73 69 7a 65 29 20 7b 0a 09 20 20 20 20 6d 61 | .if.(count.>=.mapsize).{......ma |
33e0 | 70 73 69 7a 65 2b 3d 31 30 30 3b 0a 09 20 20 20 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 | psize+=100;......pci_module_map. |
3400 | 3d 20 78 72 65 61 6c 6c 6f 63 28 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 2c 20 28 73 69 7a 65 | =.xrealloc(pci_module_map,.(size |
3420 | 6f 66 28 73 74 72 75 63 74 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 29 20 2a 20 6d 61 70 73 | of(struct.pci_module_map).*.maps |
3440 | 69 7a 65 29 29 3b 0a 09 20 20 20 20 65 6e 74 72 79 20 3d 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d | ize));......entry.=.pci_module_m |
3460 | 61 70 20 2b 20 63 6f 75 6e 74 20 2d 20 31 3b 0a 09 20 20 20 20 6d 65 6d 73 65 74 28 65 6e 74 72 | ap.+.count.-.1;......memset(entr |
3480 | 79 2c 20 30 2c 20 28 73 69 7a 65 6f 66 28 73 74 72 75 63 74 20 70 63 69 5f 6d 6f 64 75 6c 65 5f | y,.0,.(sizeof(struct.pci_module_ |
34a0 | 6d 61 70 29 20 2a 20 31 30 30 29 29 3b 0a 09 7d 0a 09 65 6e 74 72 79 20 3d 20 70 63 69 5f 6d 6f | map).*.100));..}..entry.=.pci_mo |
34c0 | 64 75 6c 65 5f 6d 61 70 20 2b 20 63 6f 75 6e 74 20 2d 20 31 3b 0a 0a 09 69 66 20 28 73 73 63 61 | dule_map.+.count.-.1;...if.(ssca |
34e0 | 6e 66 28 6c 69 6e 65 2c 20 22 25 73 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 | nf(line,."%s.0x%x.0x%x.0x%x.0x%x |
3500 | 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 22 2c 0a 09 09 20 20 20 20 6d 6f 64 75 6c 65 2c 0a | .0x%x.0x%x.0x%x",.......module,. |
3520 | 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e 76 65 6e 64 6f 72 2c 20 26 65 6e 74 72 79 2d 3e 64 65 | ......&entry->vendor,.&entry->de |
3540 | 76 69 63 65 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e 73 75 62 76 65 6e 64 6f 72 2c 20 26 | vice,.......&entry->subvendor,.& |
3560 | 65 6e 74 72 79 2d 3e 73 75 62 64 65 76 69 63 65 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e | entry->subdevice,.......&entry-> |
3580 | 63 6c 61 73 73 2c 20 26 65 6e 74 72 79 2d 3e 63 6c 61 73 73 5f 6d 61 73 6b 2c 0a 09 09 20 20 20 | class,.&entry->class_mask,...... |
35a0 | 20 26 64 72 69 76 65 72 5f 64 61 74 61 29 20 21 3d 20 38 29 20 7b 0a 09 20 20 20 20 62 62 5f 65 | .&driver_data).!=.8).{......bb_e |
35c0 | 72 72 6f 72 5f 6d 73 67 28 22 6d 6f 64 75 6c 65 73 2e 70 63 69 6d 61 70 20 75 6e 70 61 72 73 61 | rror_msg("modules.pcimap.unparsa |
35e0 | 62 6c 65 20 6c 69 6e 65 3a 20 25 73 2e 5c 6e 22 2c 20 6c 69 6e 65 29 3b 0a 09 20 20 20 20 66 72 | ble.line:.%s.\n",.line);......fr |
3600 | 65 65 28 65 6e 74 72 79 29 3b 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 0a 09 2f | ee(entry);......continue;..}.../ |
3620 | 2a 20 4f 70 74 69 6d 69 7a 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 61 20 62 | *.Optimize.memory.allocation.a.b |
3640 | 69 74 2c 20 69 6e 20 63 61 73 65 20 73 6f 6d 65 64 61 79 20 77 65 0a 09 20 20 20 68 61 76 65 20 | it,.in.case.someday.we.....have. |
3660 | 4c 69 6e 75 78 20 73 79 73 74 65 6d 73 20 77 69 74 68 20 7e 31 30 30 2c 30 30 30 20 6d 6f 64 75 | Linux.systems.with.~100,000.modu |
3680 | 6c 65 73 2e 20 20 49 74 20 61 6c 73 6f 0a 09 20 20 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 6a | les...It.also.....allows.us.to.j |
36a0 | 75 73 74 20 63 6f 6d 70 61 72 65 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 76 6f 69 64 20 74 72 | ust.compare.pointers.to.avoid.tr |
36c0 | 79 69 6e 67 0a 09 20 20 20 74 6f 20 6c 6f 61 64 20 61 20 6d 6f 64 75 6c 65 20 74 77 69 63 65 2e | ying.....to.load.a.module.twice. |
36e0 | 20 2a 2f 0a 09 69 66 20 28 73 74 72 63 6d 70 28 6d 6f 64 75 6c 65 2c 20 70 72 65 76 6d 6f 64 75 | .*/..if.(strcmp(module,.prevmodu |
3700 | 6c 65 29 20 21 3d 20 30 29 20 7b 0a 09 20 20 20 20 70 72 65 76 6d 6f 64 75 6c 65 20 3d 20 78 6d | le).!=.0).{......prevmodule.=.xm |
3720 | 61 6c 6c 6f 63 28 73 74 72 6c 65 6e 28 6d 6f 64 75 6c 65 29 2b 31 29 3b 0a 09 20 20 20 20 73 74 | alloc(strlen(module)+1);......st |
3740 | 72 63 70 79 28 70 72 65 76 6d 6f 64 75 6c 65 2c 20 6d 6f 64 75 6c 65 29 3b 0a 09 7d 0a 09 65 6e | rcpy(prevmodule,.module);..}..en |
3760 | 74 72 79 2d 3e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 20 3d 20 70 72 65 76 6d 6f 64 75 6c 65 3b 0a 20 | try->module_name.=.prevmodule;.. |
3780 | 20 20 20 7d 0a 20 20 20 20 66 63 6c 6f 73 65 28 70 63 69 6d 61 70 5f 66 69 6c 65 29 3b 0a 7d 0a | ...}.....fclose(pcimap_file);.}. |
37a0 | 0a 73 74 61 74 69 63 20 69 6e 74 20 70 63 69 5f 6d 61 74 63 68 5f 76 65 6e 64 6f 72 20 28 75 6e | .static.int.pci_match_vendor.(un |
37c0 | 73 69 67 6e 65 64 20 69 6e 74 20 76 65 6e 64 6f 72 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 | signed.int.vendor,.unsigned.int. |
37e0 | 64 65 76 69 63 65 2c 0a 09 09 09 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 75 62 76 65 6e 64 | device,.....unsigned.int.subvend |
3800 | 6f 72 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 75 62 64 65 76 69 63 65 2c 0a 09 09 09 20 | or,.unsigned.int.subdevice,..... |
3820 | 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 70 63 69 5f 63 6c 61 73 73 29 0a 7b 0a 20 20 20 20 69 6e | unsigned.int.pci_class).{.....in |
3840 | 74 20 69 3b 0a 20 20 20 20 69 6e 74 20 72 65 74 76 61 6c 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 | t.i;.....int.retval;.....unsigne |
3860 | 64 20 69 6e 74 20 63 6c 61 73 73 5f 74 65 6d 70 3b 0a 0a 20 20 20 20 64 62 67 20 28 22 76 65 6e | d.int.class_temp;......dbg.("ven |
3880 | 64 6f 72 20 3d 20 25 78 2c 20 64 65 76 69 63 65 20 3d 20 25 78 2c 20 73 75 62 76 65 6e 64 6f 72 | dor.=.%x,.device.=.%x,.subvendor |
38a0 | 20 3d 20 25 78 2c 20 73 75 62 64 65 76 69 63 65 20 3d 20 25 78 22 2c 0a 09 20 20 20 20 76 65 6e | .=.%x,.subdevice.=.%x",......ven |
38c0 | 64 6f 72 2c 20 64 65 76 69 63 65 2c 20 73 75 62 76 65 6e 64 6f 72 2c 20 73 75 62 64 65 76 69 63 | dor,.device,.subvendor,.subdevic |
38e0 | 65 29 3b 0a 0a 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 70 63 69 5f 6d 6f 64 75 6c 65 5f | e);......for.(i.=.0;.pci_module_ |
3900 | 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 20 21 3d 20 4e 55 4c 4c 3b 20 2b 2b 69 29 | map[i].module_name.!=.NULL;.++i) |
3920 | 20 7b 0a 09 64 62 67 20 28 22 6c 6f 6f 6b 69 6e 67 20 61 74 20 25 73 22 2c 20 70 63 69 5f 6d 6f | .{..dbg.("looking.at.%s",.pci_mo |
3940 | 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a 09 69 66 20 28 28 | dule_map[i].module_name);..if.(( |
3960 | 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 76 65 6e 64 6f 72 20 21 3d 20 50 43 49 5f | pci_module_map[i].vendor.!=.PCI_ |
3980 | 41 4e 59 29 20 26 26 0a 09 09 28 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 76 65 6e | ANY).&&...(pci_module_map[i].ven |
39a0 | 64 6f 72 20 21 3d 20 76 65 6e 64 6f 72 29 29 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 76 65 6e | dor.!=.vendor)).{......dbg.("ven |
39c0 | 64 6f 72 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 0a 09 09 20 20 | dor.check.failed.%x.!=.%x",..... |
39e0 | 20 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 76 65 6e 64 6f 72 2c 20 76 65 6e 64 | ..pci_module_map[i].vendor,.vend |
3a00 | 6f 72 29 3b 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 09 69 66 20 28 28 70 63 69 | or);......continue;..}..if.((pci |
3a20 | 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 64 65 76 69 63 65 20 21 3d 20 50 43 49 5f 41 4e 59 | _module_map[i].device.!=.PCI_ANY |
3a40 | 29 20 26 26 0a 09 09 28 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 64 65 76 69 63 65 | ).&&...(pci_module_map[i].device |
3a60 | 20 21 3d 20 64 65 76 69 63 65 29 29 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 64 65 76 69 63 65 | .!=.device)).{......dbg.("device |
3a80 | 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 0a 09 09 20 20 20 20 70 | .check.failed.%x.!=.%x",.......p |
3aa0 | 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 64 65 76 69 63 65 2c 20 64 65 76 69 63 65 29 | ci_module_map[i].device,.device) |
3ac0 | 3b 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 09 69 66 20 28 28 70 63 69 5f 6d 6f | ;......continue;..}..if.((pci_mo |
3ae0 | 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 73 75 62 76 65 6e 64 6f 72 20 21 3d 20 50 43 49 5f 41 4e 59 | dule_map[i].subvendor.!=.PCI_ANY |
3b00 | 29 20 26 26 0a 09 09 28 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 73 75 62 76 65 6e | ).&&...(pci_module_map[i].subven |
3b20 | 64 6f 72 20 21 3d 20 73 75 62 76 65 6e 64 6f 72 29 29 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 | dor.!=.subvendor)).{......dbg.(" |
3b40 | 73 75 62 76 65 6e 64 6f 72 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 | subvendor.check.failed.%x.!=.%x" |
3b60 | 2c 0a 09 09 20 20 20 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 73 75 62 76 65 6e | ,.......pci_module_map[i].subven |
3b80 | 64 6f 72 2c 20 73 75 62 76 65 6e 64 6f 72 29 3b 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a | dor,.subvendor);......continue;. |
3ba0 | 09 7d 0a 09 69 66 20 28 28 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 73 75 62 64 65 | .}..if.((pci_module_map[i].subde |
3bc0 | 76 69 63 65 20 21 3d 20 50 43 49 5f 41 4e 59 29 20 26 26 0a 09 09 28 70 63 69 5f 6d 6f 64 75 6c | vice.!=.PCI_ANY).&&...(pci_modul |
3be0 | 65 5f 6d 61 70 5b 69 5d 2e 73 75 62 64 65 76 69 63 65 20 21 3d 20 73 75 62 64 65 76 69 63 65 29 | e_map[i].subdevice.!=.subdevice) |
3c00 | 29 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 73 75 62 64 65 76 69 63 65 20 63 68 65 63 6b 20 66 | ).{......dbg.("subdevice.check.f |
3c20 | 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 0a 09 09 20 20 20 20 70 63 69 5f 6d 6f 64 75 6c | ailed.%x.!=.%x",.......pci_modul |
3c40 | 65 5f 6d 61 70 5b 69 5d 2e 73 75 62 64 65 76 69 63 65 2c 20 73 75 62 64 65 76 69 63 65 29 3b 0a | e_map[i].subdevice,.subdevice);. |
3c60 | 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 0a 09 2f 2a 20 63 68 65 63 6b 20 74 68 61 | .....continue;..}.../*.check.tha |
3c80 | 74 20 74 68 65 20 63 6c 61 73 73 20 6d 61 74 63 68 65 73 20 2a 2f 0a 09 63 6c 61 73 73 5f 74 65 | t.the.class.matches.*/..class_te |
3ca0 | 6d 70 20 3d 20 28 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 63 6c 61 73 73 20 5e 20 | mp.=.(pci_module_map[i].class.^. |
3cc0 | 70 63 69 5f 63 6c 61 73 73 29 20 26 20 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 63 | pci_class).&.pci_module_map[i].c |
3ce0 | 6c 61 73 73 5f 6d 61 73 6b 3b 0a 09 69 66 20 28 63 6c 61 73 73 5f 74 65 6d 70 20 21 3d 20 30 29 | lass_mask;..if.(class_temp.!=.0) |
3d00 | 20 7b 0a 09 20 20 20 20 64 62 67 20 28 22 63 6c 61 73 73 20 6d 61 73 6b 20 63 68 65 63 6b 20 66 | .{......dbg.("class.mask.check.f |
3d20 | 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 0a 09 09 20 20 20 20 70 63 69 5f 6d 6f 64 75 6c | ailed.%x.!=.%x",.......pci_modul |
3d40 | 65 5f 6d 61 70 5b 69 5d 2e 63 6c 61 73 73 2c 20 63 6c 61 73 73 5f 74 65 6d 70 29 3b 0a 09 20 20 | e_map[i].class,.class_temp);.... |
3d60 | 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 09 7d 0a 0a 09 2f 2a 20 66 6f 75 6e 64 20 6f 6e 65 21 20 2a | ..continue;..}.../*.found.one!.* |
3d80 | 2f 0a 09 64 62 67 20 28 22 6c 6f 61 64 69 6e 67 20 25 73 22 2c 20 70 63 69 5f 6d 6f 64 75 6c 65 | /..dbg.("loading.%s",.pci_module |
3da0 | 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a 09 72 65 74 76 61 6c 20 3d 20 | _map[i].module_name);..retval.=. |
3dc0 | 6c 6f 61 64 5f 6d 6f 64 75 6c 65 20 28 70 63 69 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d | load_module.(pci_module_map[i].m |
3de0 | 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a 09 69 66 20 28 72 65 74 76 61 6c 29 0a 09 20 20 20 20 72 | odule_name);..if.(retval)......r |
3e00 | 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 | eturn.retval;.....}......return. |
3e20 | 30 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 70 63 69 5f 61 64 64 20 28 76 6f 69 64 29 0a | 0;.}..static.int.pci_add.(void). |
3e40 | 7b 0a 20 20 20 20 63 68 61 72 20 2a 63 6c 61 73 73 5f 65 6e 76 3b 0a 20 20 20 20 63 68 61 72 20 | {.....char.*class_env;.....char. |
3e60 | 2a 69 64 5f 65 6e 76 3b 0a 20 20 20 20 63 68 61 72 20 2a 73 75 62 73 79 73 5f 65 6e 76 3b 0a 20 | *id_env;.....char.*subsys_env;.. |
3e80 | 20 20 20 69 6e 74 20 65 72 72 6f 72 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 76 | ...int.error;.....unsigned.int.v |
3ea0 | 65 6e 64 6f 72 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 65 76 69 63 65 3b 0a | endor;.....unsigned.int.device;. |
3ec0 | 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 75 62 76 65 6e 64 6f 72 3b 0a 20 20 20 20 | ....unsigned.int.subvendor;..... |
3ee0 | 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 75 62 64 65 76 69 63 65 3b 0a 20 20 20 20 75 6e 73 69 | unsigned.int.subdevice;.....unsi |
3f00 | 67 6e 65 64 20 69 6e 74 20 63 6c 61 73 73 3b 0a 0a 20 20 20 20 70 63 69 5f 72 65 61 64 5f 70 63 | gned.int.class;......pci_read_pc |
3f20 | 69 6d 61 70 28 29 3b 0a 0a 20 20 20 20 69 64 5f 65 6e 76 20 3d 20 67 65 74 65 6e 76 28 22 50 43 | imap();......id_env.=.getenv("PC |
3f40 | 49 5f 49 44 22 29 3b 0a 20 20 20 20 73 75 62 73 79 73 5f 65 6e 76 20 3d 20 67 65 74 65 6e 76 28 | I_ID");.....subsys_env.=.getenv( |
3f60 | 22 50 43 49 5f 53 55 42 53 59 53 5f 49 44 22 29 3b 0a 20 20 20 20 63 6c 61 73 73 5f 65 6e 76 20 | "PCI_SUBSYS_ID");.....class_env. |
3f80 | 3d 20 67 65 74 65 6e 76 28 22 50 43 49 5f 43 4c 41 53 53 22 29 3b 0a 20 20 20 20 69 66 20 28 28 | =.getenv("PCI_CLASS");.....if.(( |
3fa0 | 69 64 5f 65 6e 76 20 3d 3d 20 4e 55 4c 4c 29 20 7c 7c 0a 09 20 20 20 20 28 73 75 62 73 79 73 5f | id_env.==.NULL).||......(subsys_ |
3fc0 | 65 6e 76 20 3d 3d 20 4e 55 4c 4c 29 20 7c 7c 0a 09 20 20 20 20 28 63 6c 61 73 73 5f 65 6e 76 20 | env.==.NULL).||......(class_env. |
3fe0 | 3d 3d 20 4e 55 4c 4c 29 29 20 7b 0a 09 64 62 67 20 28 22 6d 69 73 73 69 6e 67 20 61 6e 20 65 6e | ==.NULL)).{..dbg.("missing.an.en |
4000 | 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2c 20 61 62 6f 72 74 69 6e 67 2e 22 29 3b | vironment.variable,.aborting."); |
4020 | 0a 09 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 73 | ..return.1;.....}......error.=.s |
4040 | 70 6c 69 74 5f 32 76 61 6c 75 65 73 20 28 69 64 5f 65 6e 76 2c 20 31 36 2c 20 26 76 65 6e 64 6f | plit_2values.(id_env,.16,.&vendo |
4060 | 72 2c 20 26 64 65 76 69 63 65 29 3b 0a 20 20 20 20 69 66 20 28 65 72 72 6f 72 29 0a 09 72 65 74 | r,.&device);.....if.(error)..ret |
4080 | 75 72 6e 20 65 72 72 6f 72 3b 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 73 70 6c 69 74 5f 32 76 61 | urn.error;.....error.=.split_2va |
40a0 | 6c 75 65 73 20 28 73 75 62 73 79 73 5f 65 6e 76 2c 20 31 36 2c 20 26 73 75 62 76 65 6e 64 6f 72 | lues.(subsys_env,.16,.&subvendor |
40c0 | 2c 20 26 73 75 62 64 65 76 69 63 65 29 3b 0a 20 20 20 20 69 66 20 28 65 72 72 6f 72 29 0a 09 72 | ,.&subdevice);.....if.(error)..r |
40e0 | 65 74 75 72 6e 20 65 72 72 6f 72 3b 0a 20 20 20 20 63 6c 61 73 73 20 3d 20 73 74 72 74 6f 75 6c | eturn.error;.....class.=.strtoul |
4100 | 20 28 63 6c 61 73 73 5f 65 6e 76 2c 20 4e 55 4c 4c 2c 20 31 36 29 3b 0a 0a 20 20 20 20 65 72 72 | .(class_env,.NULL,.16);......err |
4120 | 6f 72 20 3d 20 70 63 69 5f 6d 61 74 63 68 5f 76 65 6e 64 6f 72 20 28 76 65 6e 64 6f 72 2c 20 64 | or.=.pci_match_vendor.(vendor,.d |
4140 | 65 76 69 63 65 2c 20 73 75 62 76 65 6e 64 6f 72 2c 20 73 75 62 64 65 76 69 63 65 2c 20 63 6c 61 | evice,.subvendor,.subdevice,.cla |
4160 | 73 73 29 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 3b 0a 7d 0a 0a 0a 73 74 61 74 | ss);......return.error;.}...stat |
4180 | 69 63 20 69 6e 74 20 70 63 69 5f 72 65 6d 6f 76 65 20 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 2f | ic.int.pci_remove.(void).{...../ |
41a0 | 2a 20 72 69 67 68 74 20 6e 6f 77 20 77 65 20 64 6f 6e 27 74 20 64 6f 20 61 6e 79 74 68 69 6e 67 | *.right.now.we.don't.do.anything |
41c0 | 20 68 65 72 65 20 3a 29 20 2a 2f 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 73 74 61 | .here.:).*/.....return.0;.}..sta |
41e0 | 74 69 63 20 73 74 72 75 63 74 20 73 75 62 73 79 73 74 65 6d 20 70 63 69 5f 73 75 62 73 79 73 74 | tic.struct.subsystem.pci_subsyst |
4200 | 65 6d 5b 5d 20 3d 20 7b 0a 20 20 20 20 7b 20 41 44 44 5f 53 54 52 49 4e 47 2c 09 70 63 69 5f 61 | em[].=.{.....{.ADD_STRING,.pci_a |
4220 | 64 64 20 7d 2c 0a 20 20 20 20 7b 20 52 45 4d 4f 56 45 5f 53 54 52 49 4e 47 2c 09 70 63 69 5f 72 | dd.},.....{.REMOVE_STRING,.pci_r |
4240 | 65 6d 6f 76 65 20 7d 2c 0a 20 20 20 20 7b 20 4e 55 4c 4c 2c 09 09 4e 55 4c 4c 20 7d 0a 7d 3b 0a | emove.},.....{.NULL,..NULL.}.};. |
4260 | 0a 69 6e 74 20 70 63 69 5f 68 61 6e 64 6c 65 72 20 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 63 68 | .int.pci_handler.(void).{.....ch |
4280 | 61 72 20 2a 20 61 63 74 69 6f 6e 3b 0a 0a 20 20 20 20 61 63 74 69 6f 6e 20 3d 20 67 65 74 65 6e | ar.*.action;......action.=.geten |
42a0 | 76 20 28 22 41 43 54 49 4f 4e 22 29 3b 0a 20 20 20 20 64 62 67 20 28 22 61 63 74 69 6f 6e 20 3d | v.("ACTION");.....dbg.("action.= |
42c0 | 20 25 73 22 2c 20 61 63 74 69 6f 6e 29 3b 0a 20 20 20 20 69 66 20 28 61 63 74 69 6f 6e 20 3d 3d | .%s",.action);.....if.(action.== |
42e0 | 20 4e 55 4c 4c 29 20 7b 0a 09 64 62 67 20 28 22 6d 69 73 73 69 6e 67 20 41 43 54 49 4f 4e 20 65 | .NULL).{..dbg.("missing.ACTION.e |
4300 | 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2c 20 61 62 6f 72 74 69 6e 67 2e 22 29 | nvironment.variable,.aborting.") |
4320 | 3b 0a 09 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 63 61 | ;..return.1;.....}.....return.ca |
4340 | 6c 6c 5f 73 75 62 73 79 73 74 65 6d 20 28 61 63 74 69 6f 6e 2c 20 70 63 69 5f 73 75 62 73 79 73 | ll_subsystem.(action,.pci_subsys |
4360 | 74 65 6d 29 3b 0a 7d 0a 0a 0a 2f 2a 20 54 68 65 20 75 73 62 20 66 75 6e 63 74 69 6f 6e 73 20 2a | tem);.}.../*.The.usb.functions.* |
4380 | 2f 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 56 45 | /.#define.USB_DEVICE_ID_MATCH_VE |
43a0 | 4e 44 4f 52 09 09 30 78 30 30 30 31 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f | NDOR..0x0001.#define.USB_DEVICE_ |
43c0 | 49 44 5f 4d 41 54 43 48 5f 50 52 4f 44 55 43 54 09 09 30 78 30 30 30 32 0a 23 64 65 66 69 6e 65 | ID_MATCH_PRODUCT..0x0002.#define |
43e0 | 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 4c 4f 09 09 30 78 30 | .USB_DEVICE_ID_MATCH_DEV_LO..0x0 |
4400 | 30 30 34 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f | 004.#define.USB_DEVICE_ID_MATCH_ |
4420 | 44 45 56 5f 48 49 09 09 30 78 30 30 30 38 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 | DEV_HI..0x0008.#define.USB_DEVIC |
4440 | 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 43 4c 41 53 53 09 09 30 78 30 30 31 30 0a 23 64 65 | E_ID_MATCH_DEV_CLASS..0x0010.#de |
4460 | 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 53 55 42 | fine.USB_DEVICE_ID_MATCH_DEV_SUB |
4480 | 43 4c 41 53 53 09 30 78 30 30 32 30 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f | CLASS.0x0020.#define.USB_DEVICE_ |
44a0 | 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 50 52 4f 54 4f 43 4f 4c 09 30 78 30 30 34 30 0a 23 64 65 | ID_MATCH_DEV_PROTOCOL.0x0040.#de |
44c0 | 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 43 4c 41 | fine.USB_DEVICE_ID_MATCH_INT_CLA |
44e0 | 53 53 09 09 30 78 30 30 38 30 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 | SS..0x0080.#define.USB_DEVICE_ID |
4500 | 5f 4d 41 54 43 48 5f 49 4e 54 5f 53 55 42 43 4c 41 53 53 09 30 78 30 31 30 30 0a 23 64 65 66 69 | _MATCH_INT_SUBCLASS.0x0100.#defi |
4520 | 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 50 52 4f 54 4f | ne.USB_DEVICE_ID_MATCH_INT_PROTO |
4540 | 43 4f 4c 09 30 78 30 32 30 30 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 | COL.0x0200.#define.USB_DEVICE_ID |
4560 | 5f 4d 41 54 43 48 5f 44 45 56 49 43 45 09 09 28 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 | _MATCH_DEVICE..(USB_DEVICE_ID_MA |
4580 | 54 43 48 5f 56 45 4e 44 4f 52 20 7c 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 | TCH_VENDOR.|.USB_DEVICE_ID_MATCH |
45a0 | 5f 50 52 4f 44 55 43 54 29 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f | _PRODUCT).#define.USB_DEVICE_ID_ |
45c0 | 4d 41 54 43 48 5f 44 45 56 5f 52 41 4e 47 45 09 09 28 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f | MATCH_DEV_RANGE..(USB_DEVICE_ID_ |
45e0 | 4d 41 54 43 48 5f 44 45 56 5f 4c 4f 20 7c 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 | MATCH_DEV_LO.|.USB_DEVICE_ID_MAT |
4600 | 43 48 5f 44 45 56 5f 48 49 29 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 | CH_DEV_HI).#define.USB_DEVICE_ID |
4620 | 5f 4d 41 54 43 48 5f 44 45 56 49 43 45 5f 41 4e 44 5f 56 45 52 53 49 4f 4e 09 28 55 53 42 5f 44 | _MATCH_DEVICE_AND_VERSION.(USB_D |
4640 | 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 49 43 45 20 7c 20 55 53 42 5f 44 45 56 49 | EVICE_ID_MATCH_DEVICE.|.USB_DEVI |
4660 | 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 52 41 4e 47 45 29 0a 23 64 65 66 69 6e 65 20 55 | CE_ID_MATCH_DEV_RANGE).#define.U |
4680 | 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 49 4e 46 4f 09 09 28 55 53 | SB_DEVICE_ID_MATCH_DEV_INFO..(US |
46a0 | 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 43 4c 41 53 53 20 7c 20 5c 0a | B_DEVICE_ID_MATCH_DEV_CLASS.|.\. |
46c0 | 09 09 09 09 09 09 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 53 55 | ......USB_DEVICE_ID_MATCH_DEV_SU |
46e0 | 42 43 4c 41 53 53 20 7c 20 5c 0a 09 09 09 09 09 09 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d | BCLASS.|.\.......USB_DEVICE_ID_M |
4700 | 41 54 43 48 5f 44 45 56 5f 50 52 4f 54 4f 43 4f 4c 29 0a 23 64 65 66 69 6e 65 20 55 53 42 5f 44 | ATCH_DEV_PROTOCOL).#define.USB_D |
4720 | 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 49 4e 46 4f 09 09 28 55 53 42 5f 44 45 | EVICE_ID_MATCH_INT_INFO..(USB_DE |
4740 | 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 43 4c 41 53 53 20 7c 20 5c 0a 09 09 09 09 | VICE_ID_MATCH_INT_CLASS.|.\..... |
4760 | 09 09 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 53 55 42 43 4c 41 | ..USB_DEVICE_ID_MATCH_INT_SUBCLA |
4780 | 53 53 20 7c 20 5c 0a 09 09 09 09 09 09 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 | SS.|.\.......USB_DEVICE_ID_MATCH |
47a0 | 5f 49 4e 54 5f 50 52 4f 54 4f 43 4f 4c 29 0a 0a 73 74 72 75 63 74 20 75 73 62 5f 6d 6f 64 75 6c | _INT_PROTOCOL)..struct.usb_modul |
47c0 | 65 5f 6d 61 70 20 7b 0a 09 63 6f 6e 73 74 20 63 68 61 72 20 2a 20 6d 6f 64 75 6c 65 5f 6e 61 6d | e_map.{..const.char.*.module_nam |
47e0 | 65 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 6d 61 74 63 68 5f 66 6c 61 67 73 3b 0a 09 75 | e;..unsigned.int.match_flags;..u |
4800 | 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 64 56 65 6e 64 6f 72 3b 0a 09 75 6e 73 69 67 6e 65 64 20 | nsigned.int.idVendor;..unsigned. |
4820 | 69 6e 74 20 69 64 50 72 6f 64 75 63 74 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 63 64 | int.idProduct;..unsigned.int.bcd |
4840 | 44 65 76 69 63 65 5f 6c 6f 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 63 64 44 65 76 69 | Device_lo;..unsigned.int.bcdDevi |
4860 | 63 65 5f 68 69 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 44 65 76 69 63 65 43 6c 61 73 | ce_hi;..unsigned.int.bDeviceClas |
4880 | 73 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 44 65 76 69 63 65 53 75 62 43 6c 61 73 73 | s;..unsigned.int.bDeviceSubClass |
48a0 | 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 44 65 76 69 63 65 50 72 6f 74 6f 63 6f 6c 3b | ;..unsigned.int.bDeviceProtocol; |
48c0 | 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 49 6e 74 65 72 66 61 63 65 43 6c 61 73 73 3b 0a | ..unsigned.int.bInterfaceClass;. |
48e0 | 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 49 6e 74 65 72 66 61 63 65 53 75 62 43 6c 61 73 73 | .unsigned.int.bInterfaceSubClass |
4900 | 3b 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 62 49 6e 74 65 72 66 61 63 65 50 72 6f 74 6f 63 | ;..unsigned.int.bInterfaceProtoc |
4920 | 6f 6c 3b 0a 7d 20 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f 20 28 28 70 61 63 6b 65 64 29 29 3b 0a | ol;.}.__attribute__.((packed));. |
4940 | 73 74 61 74 69 63 20 73 74 72 75 63 74 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 2a 75 73 | static.struct.usb_module_map.*us |
4960 | 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 3b 0a 0a 76 6f 69 64 20 75 73 62 5f 72 65 61 64 5f 75 73 62 | b_module_map;..void.usb_read_usb |
4980 | 6d 61 70 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 46 49 4c 45 20 2a 75 73 62 6d 61 70 5f 66 69 6c | map(void).{.....FILE.*usbmap_fil |
49a0 | 65 3b 0a 20 20 20 20 73 74 72 75 63 74 20 75 74 73 6e 61 6d 65 20 75 74 73 6e 61 6d 65 3b 0a 20 | e;.....struct.utsname.utsname;.. |
49c0 | 20 20 20 73 74 72 75 63 74 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 20 2a 65 6e 74 72 79 20 | ...struct.usb_module_map.*entry. |
49e0 | 3d 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 3b 0a 20 20 20 20 63 68 61 72 20 2a 70 72 65 76 | =.usb_module_map;.....char.*prev |
4a00 | 6d 6f 64 75 6c 65 20 3d 20 22 22 3b 0a 20 20 20 20 63 68 61 72 20 66 69 6c 65 6e 61 6d 65 5b 4d | module.=."";.....char.filename[M |
4a20 | 41 58 50 41 54 48 4c 45 4e 5d 3b 0a 20 20 20 20 63 68 61 72 20 6c 69 6e 65 5b 4c 49 4e 45 4c 45 | AXPATHLEN];.....char.line[LINELE |
4a40 | 4e 47 54 48 5d 3b 0a 20 20 20 20 63 68 61 72 20 6d 6f 64 75 6c 65 5b 4c 49 4e 45 4c 45 4e 47 54 | NGTH];.....char.module[LINELENGT |
4a60 | 48 5d 3b 0a 20 20 20 20 69 6e 74 20 63 6f 75 6e 74 2c 20 6d 61 70 73 69 7a 65 3b 0a 0a 20 20 20 | H];.....int.count,.mapsize;..... |
4a80 | 20 69 66 20 28 75 6e 61 6d 65 28 26 75 74 73 6e 61 6d 65 29 20 3c 20 30 29 20 7b 0a 09 70 65 72 | .if.(uname(&utsname).<.0).{..per |
4aa0 | 72 6f 72 28 22 75 6e 61 6d 65 22 29 3b 0a 09 65 78 69 74 28 31 29 3b 0a 20 20 20 20 7d 0a 20 20 | ror("uname");..exit(1);.....}... |
4ac0 | 20 20 73 70 72 69 6e 74 66 28 66 69 6c 65 6e 61 6d 65 2c 20 22 2f 6c 69 62 2f 6d 6f 64 75 6c 65 | ..sprintf(filename,."/lib/module |
4ae0 | 73 2f 25 73 2f 6d 6f 64 75 6c 65 73 2e 75 73 62 6d 61 70 22 2c 20 75 74 73 6e 61 6d 65 2e 72 65 | s/%s/modules.usbmap",.utsname.re |
4b00 | 6c 65 61 73 65 29 3b 0a 20 20 20 20 69 66 20 28 28 75 73 62 6d 61 70 5f 66 69 6c 65 20 3d 20 66 | lease);.....if.((usbmap_file.=.f |
4b20 | 6f 70 65 6e 28 66 69 6c 65 6e 61 6d 65 2c 20 22 72 22 29 29 20 3d 3d 20 4e 55 4c 4c 29 20 7b 0a | open(filename,."r")).==.NULL).{. |
4b40 | 09 62 62 5f 70 65 72 72 6f 72 5f 6d 73 67 5f 61 6e 64 5f 64 69 65 28 22 43 6f 75 6c 64 20 6e 6f | .bb_perror_msg_and_die("Could.no |
4b60 | 74 20 6f 70 65 6e 20 25 73 22 2c 20 66 69 6c 65 6e 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 | t.open.%s",.filename);.....}.... |
4b80 | 20 20 63 6f 75 6e 74 20 3d 20 6d 61 70 73 69 7a 65 20 3d 20 30 3b 0a 20 20 20 20 77 68 69 6c 65 | ..count.=.mapsize.=.0;.....while |
4ba0 | 28 66 67 65 74 73 28 6c 69 6e 65 2c 20 4c 49 4e 45 4c 45 4e 47 54 48 2c 20 75 73 62 6d 61 70 5f | (fgets(line,.LINELENGTH,.usbmap_ |
4bc0 | 66 69 6c 65 29 20 21 3d 20 4e 55 4c 4c 29 20 7b 0a 0a 09 69 66 20 28 6c 69 6e 65 5b 30 5d 20 3d | file).!=.NULL).{...if.(line[0].= |
4be0 | 3d 20 27 23 27 29 0a 09 20 20 20 20 63 6f 6e 74 69 6e 75 65 3b 0a 0a 09 63 6f 75 6e 74 2b 2b 3b | =.'#')......continue;...count++; |
4c00 | 0a 09 69 66 20 28 63 6f 75 6e 74 20 3e 3d 20 6d 61 70 73 69 7a 65 29 20 7b 0a 09 20 20 20 20 6d | ..if.(count.>=.mapsize).{......m |
4c20 | 61 70 73 69 7a 65 2b 3d 31 30 30 3b 0a 09 20 20 20 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 | apsize+=100;......usb_module_map |
4c40 | 20 3d 20 78 72 65 61 6c 6c 6f 63 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 2c 20 28 73 69 7a | .=.xrealloc(usb_module_map,.(siz |
4c60 | 65 6f 66 28 73 74 72 75 63 74 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 29 20 2a 20 6d 61 70 | eof(struct.usb_module_map).*.map |
4c80 | 73 69 7a 65 29 29 3b 0a 09 20 20 20 20 65 6e 74 72 79 20 3d 20 75 73 62 5f 6d 6f 64 75 6c 65 5f | size));......entry.=.usb_module_ |
4ca0 | 6d 61 70 20 2b 20 63 6f 75 6e 74 20 2d 20 31 3b 0a 09 20 20 20 20 6d 65 6d 73 65 74 28 65 6e 74 | map.+.count.-.1;......memset(ent |
4cc0 | 72 79 2c 20 30 2c 20 28 73 69 7a 65 6f 66 28 73 74 72 75 63 74 20 75 73 62 5f 6d 6f 64 75 6c 65 | ry,.0,.(sizeof(struct.usb_module |
4ce0 | 5f 6d 61 70 29 20 2a 20 31 30 30 29 29 3b 0a 09 7d 0a 09 65 6e 74 72 79 20 3d 20 75 73 62 5f 6d | _map).*.100));..}..entry.=.usb_m |
4d00 | 6f 64 75 6c 65 5f 6d 61 70 20 2b 20 63 6f 75 6e 74 20 2d 20 31 3b 0a 0a 09 69 66 20 28 73 73 63 | odule_map.+.count.-.1;...if.(ssc |
4d20 | 61 6e 66 28 6c 69 6e 65 2c 20 22 25 73 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 | anf(line,."%s.0x%x.0x%x.0x%x.0x% |
4d40 | 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 20 30 78 25 78 20 | x.0x%x.0x%x.0x%x.0x%x.0x%x.0x%x. |
4d60 | 30 78 25 78 22 2c 0a 09 09 20 20 20 20 6d 6f 64 75 6c 65 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 | 0x%x",.......module,.......&entr |
4d80 | 79 2d 3e 6d 61 74 63 68 5f 66 6c 61 67 73 2c 20 26 65 6e 74 72 79 2d 3e 69 64 56 65 6e 64 6f 72 | y->match_flags,.&entry->idVendor |
4da0 | 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e 69 64 50 72 6f 64 75 63 74 2c 20 26 65 6e 74 72 | ,.......&entry->idProduct,.&entr |
4dc0 | 79 2d 3e 62 63 64 44 65 76 69 63 65 5f 6c 6f 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e 62 | y->bcdDevice_lo,.......&entry->b |
4de0 | 63 64 44 65 76 69 63 65 5f 68 69 2c 20 26 65 6e 74 72 79 2d 3e 62 44 65 76 69 63 65 43 6c 61 73 | cdDevice_hi,.&entry->bDeviceClas |
4e00 | 73 2c 0a 09 09 20 20 20 20 26 65 6e 74 72 79 2d 3e 62 44 65 76 69 63 65 53 75 62 43 6c 61 73 73 | s,.......&entry->bDeviceSubClass |
4e20 | 2c 20 26 65 6e 74 72 79 2d 3e 62 44 65 76 69 63 65 50 72 6f 74 6f 63 6f 6c 2c 0a 09 09 20 20 20 | ,.&entry->bDeviceProtocol,...... |
4e40 | 20 26 65 6e 74 72 79 2d 3e 62 49 6e 74 65 72 66 61 63 65 43 6c 61 73 73 2c 20 26 65 6e 74 72 79 | .&entry->bInterfaceClass,.&entry |
4e60 | 2d 3e 62 49 6e 74 65 72 66 61 63 65 53 75 62 43 6c 61 73 73 2c 0a 09 09 20 20 20 20 26 65 6e 74 | ->bInterfaceSubClass,.......&ent |
4e80 | 72 79 2d 3e 62 49 6e 74 65 72 66 61 63 65 50 72 6f 74 6f 63 6f 6c 29 20 21 3d 20 31 32 29 20 7b | ry->bInterfaceProtocol).!=.12).{ |
4ea0 | 0a 09 20 20 20 20 62 62 5f 65 72 72 6f 72 5f 6d 73 67 28 22 6d 6f 64 75 6c 65 73 2e 75 73 62 6d | ......bb_error_msg("modules.usbm |
4ec0 | 61 70 20 75 6e 70 61 72 73 61 62 6c 65 20 6c 69 6e 65 3a 20 25 73 2e 5c 6e 22 2c 20 6c 69 6e 65 | ap.unparsable.line:.%s.\n",.line |
4ee0 | 29 3b 0a 09 20 20 20 20 66 72 65 65 28 65 6e 74 72 79 29 3b 0a 09 20 20 20 20 63 6f 6e 74 69 6e | );......free(entry);......contin |
4f00 | 75 65 3b 0a 09 7d 0a 0a 09 2f 2a 20 4f 70 74 69 6d 69 7a 65 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f | ue;..}.../*.Optimize.memory.allo |
4f20 | 63 61 74 69 6f 6e 20 61 20 62 69 74 2c 20 69 6e 20 63 61 73 65 20 73 6f 6d 65 64 61 79 20 77 65 | cation.a.bit,.in.case.someday.we |
4f40 | 0a 09 20 20 20 68 61 76 65 20 4c 69 6e 75 78 20 73 79 73 74 65 6d 73 20 77 69 74 68 20 7e 31 30 | .....have.Linux.systems.with.~10 |
4f60 | 30 2c 30 30 30 20 6d 6f 64 75 6c 65 73 2e 20 20 49 74 20 61 6c 73 6f 0a 09 20 20 20 61 6c 6c 6f | 0,000.modules...It.also.....allo |
4f80 | 77 73 20 75 73 20 74 6f 20 6a 75 73 74 20 63 6f 6d 70 61 72 65 20 70 6f 69 6e 74 65 72 73 20 74 | ws.us.to.just.compare.pointers.t |
4fa0 | 6f 20 61 76 6f 69 64 20 74 72 79 69 6e 67 0a 09 20 20 20 74 6f 20 6c 6f 61 64 20 61 20 6d 6f 64 | o.avoid.trying.....to.load.a.mod |
4fc0 | 75 6c 65 20 74 77 69 63 65 2e 20 2a 2f 0a 09 69 66 20 28 73 74 72 63 6d 70 28 6d 6f 64 75 6c 65 | ule.twice..*/..if.(strcmp(module |
4fe0 | 2c 20 70 72 65 76 6d 6f 64 75 6c 65 29 20 21 3d 20 30 29 20 7b 0a 09 20 20 20 20 70 72 65 76 6d | ,.prevmodule).!=.0).{......prevm |
5000 | 6f 64 75 6c 65 20 3d 20 78 6d 61 6c 6c 6f 63 28 73 74 72 6c 65 6e 28 6d 6f 64 75 6c 65 29 2b 31 | odule.=.xmalloc(strlen(module)+1 |
5020 | 29 3b 0a 09 20 20 20 20 73 74 72 63 70 79 28 70 72 65 76 6d 6f 64 75 6c 65 2c 20 6d 6f 64 75 6c | );......strcpy(prevmodule,.modul |
5040 | 65 29 3b 0a 09 7d 0a 09 65 6e 74 72 79 2d 3e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 20 3d 20 70 72 65 | e);..}..entry->module_name.=.pre |
5060 | 76 6d 6f 64 75 6c 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 63 6c 6f 73 65 28 75 73 62 6d 61 70 | vmodule;.....}.....fclose(usbmap |
5080 | 5f 66 69 6c 65 29 3b 0a 7d 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 75 73 62 5f 6d 61 74 63 68 5f | _file);.}..static.int.usb_match_ |
50a0 | 76 65 6e 64 6f 72 5f 70 72 6f 64 75 63 74 20 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 76 65 6e | vendor_product.(unsigned.int.ven |
50c0 | 64 6f 72 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 70 72 6f 64 75 63 74 2c 20 75 6e 73 69 67 | dor,.unsigned.int.product,.unsig |
50e0 | 6e 65 64 20 69 6e 74 20 62 63 64 44 65 76 69 63 65 29 0a 7b 0a 20 20 20 20 69 6e 74 20 69 3b 0a | ned.int.bcdDevice).{.....int.i;. |
5100 | 20 20 20 20 69 6e 74 20 72 65 74 76 61 6c 3b 0a 0a 20 20 20 20 64 62 67 20 28 22 76 65 6e 64 6f | ....int.retval;......dbg.("vendo |
5120 | 72 20 3d 20 25 78 2c 20 70 72 6f 64 75 63 74 20 3d 20 25 78 2c 20 62 63 64 44 65 76 69 63 65 20 | r.=.%x,.product.=.%x,.bcdDevice. |
5140 | 3d 20 25 78 22 2c 20 76 65 6e 64 6f 72 2c 20 70 72 6f 64 75 63 74 2c 20 62 63 64 44 65 76 69 63 | =.%x",.vendor,.product,.bcdDevic |
5160 | 65 29 3b 0a 0a 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 75 73 62 5f 6d 6f 64 75 6c 65 5f | e);......for.(i.=.0;.usb_module_ |
5180 | 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 20 21 3d 20 4e 55 4c 4c 3b 20 2b 2b 69 29 | map[i].module_name.!=.NULL;.++i) |
51a0 | 20 7b 0a 09 64 62 67 20 28 22 6c 6f 6f 6b 69 6e 67 20 61 74 20 25 73 2c 20 6d 61 74 63 68 5f 66 | .{..dbg.("looking.at.%s,.match_f |
51c0 | 6c 61 67 73 20 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f | lags.=.%x",.usb_module_map[i].mo |
51e0 | 64 75 6c 65 5f 6e 61 6d 65 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 | dule_name,.usb_module_map[i].mat |
5200 | 63 68 5f 66 6c 61 67 73 29 3b 0a 09 69 66 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 | ch_flags);..if.(usb_module_map[i |
5220 | 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 28 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d | ].match_flags.&.(USB_DEVICE_ID_M |
5240 | 41 54 43 48 5f 44 45 56 49 43 45 20 7c 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 | ATCH_DEVICE.|.USB_DEVICE_ID_MATC |
5260 | 48 5f 44 45 56 5f 52 41 4e 47 45 29 29 20 7b 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f | H_DEV_RANGE)).{......if.((usb_mo |
5280 | 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 | dule_map[i].match_flags.&.USB_DE |
52a0 | 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 56 45 4e 44 4f 52 29 20 26 26 0a 09 09 20 20 20 20 28 | VICE_ID_MATCH_VENDOR).&&.......( |
52c0 | 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 69 64 56 65 6e 64 6f 72 20 21 3d 20 76 65 | usb_module_map[i].idVendor.!=.ve |
52e0 | 6e 64 6f 72 29 29 20 7b 0a 09 09 64 62 67 20 28 22 76 65 6e 64 6f 72 20 63 68 65 63 6b 20 66 61 | ndor)).{...dbg.("vendor.check.fa |
5300 | 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 | iled.%x.!=.%x",.usb_module_map[i |
5320 | 5d 2e 69 64 56 65 6e 64 6f 72 2c 20 76 65 6e 64 6f 72 29 3b 0a 09 09 63 6f 6e 74 69 6e 75 65 3b | ].idVendor,.vendor);...continue; |
5340 | 0a 09 20 20 20 20 7d 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 | ......}......if.((usb_module_map |
5360 | 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f | [i].match_flags.&.USB_DEVICE_ID_ |
5380 | 4d 41 54 43 48 5f 50 52 4f 44 55 43 54 29 20 26 26 0a 09 09 20 20 20 20 28 75 73 62 5f 6d 6f 64 | MATCH_PRODUCT).&&.......(usb_mod |
53a0 | 75 6c 65 5f 6d 61 70 5b 69 5d 2e 69 64 50 72 6f 64 75 63 74 20 21 3d 20 70 72 6f 64 75 63 74 29 | ule_map[i].idProduct.!=.product) |
53c0 | 29 20 7b 0a 09 09 64 62 67 20 28 22 70 72 6f 64 75 63 74 20 63 68 65 63 6b 20 66 61 69 6c 65 64 | ).{...dbg.("product.check.failed |
53e0 | 20 25 78 20 21 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 69 64 | .%x.!=.%x",.usb_module_map[i].id |
5400 | 50 72 6f 64 75 63 74 2c 20 70 72 6f 64 75 63 74 29 3b 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 | Product,.product);...continue;.. |
5420 | 20 20 20 20 7d 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 | ....}......if.((usb_module_map[i |
5440 | 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 | ].match_flags.&.USB_DEVICE_ID_MA |
5460 | 54 43 48 5f 44 45 56 5f 4c 4f 29 20 26 26 0a 09 09 20 20 20 20 28 75 73 62 5f 6d 6f 64 75 6c 65 | TCH_DEV_LO).&&.......(usb_module |
5480 | 5f 6d 61 70 5b 69 5d 2e 62 63 64 44 65 76 69 63 65 5f 6c 6f 20 3c 20 62 63 64 44 65 76 69 63 65 | _map[i].bcdDevice_lo.<.bcdDevice |
54a0 | 29 29 20 7b 0a 09 09 64 62 67 20 28 22 62 63 64 44 65 76 69 63 65 5f 6c 6f 20 63 68 65 63 6b 20 | )).{...dbg.("bcdDevice_lo.check. |
54c0 | 66 61 69 6c 65 64 20 25 78 20 3e 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b | failed.%x.>.%x",.usb_module_map[ |
54e0 | 69 5d 2e 62 63 64 44 65 76 69 63 65 5f 6c 6f 2c 20 62 63 64 44 65 76 69 63 65 29 3b 0a 09 09 63 | i].bcdDevice_lo,.bcdDevice);...c |
5500 | 6f 6e 74 69 6e 75 65 3b 0a 09 20 20 20 20 7d 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f | ontinue;......}......if.((usb_mo |
5520 | 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 | dule_map[i].match_flags.&.USB_DE |
5540 | 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 48 49 29 20 26 26 0a 09 09 20 20 20 20 28 | VICE_ID_MATCH_DEV_HI).&&.......( |
5560 | 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 63 64 44 65 76 69 63 65 5f 68 69 20 3e | usb_module_map[i].bcdDevice_hi.> |
5580 | 3d 20 62 63 64 44 65 76 69 63 65 29 29 20 7b 0a 09 09 64 62 67 20 28 22 62 63 64 44 65 76 69 63 | =.bcdDevice)).{...dbg.("bcdDevic |
55a0 | 65 5f 68 69 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 3c 3d 20 25 78 22 2c 20 75 73 62 | e_hi.check.failed.%x.<=.%x",.usb |
55c0 | 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 63 64 44 65 76 69 63 65 5f 68 69 2c 20 62 63 64 | _module_map[i].bcdDevice_hi,.bcd |
55e0 | 44 65 76 69 63 65 29 3b 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 20 20 20 20 7d 0a 09 20 20 20 | Device);...continue;......}..... |
5600 | 20 2f 2a 20 66 6f 75 6e 64 20 6f 6e 65 21 20 2a 2f 0a 09 20 20 20 20 64 62 67 20 28 22 6c 6f 61 | ./*.found.one!.*/......dbg.("loa |
5620 | 64 69 6e 67 20 25 73 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 | ding.%s",.usb_module_map[i].modu |
5640 | 6c 65 5f 6e 61 6d 65 29 3b 0a 09 20 20 20 20 72 65 74 76 61 6c 20 3d 20 6c 6f 61 64 5f 6d 6f 64 | le_name);......retval.=.load_mod |
5660 | 75 6c 65 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 | ule.(usb_module_map[i].module_na |
5680 | 6d 65 29 3b 0a 09 20 20 20 20 69 66 20 28 72 65 74 76 61 6c 29 0a 09 09 72 65 74 75 72 6e 20 72 | me);......if.(retval)...return.r |
56a0 | 65 74 76 61 6c 3b 0a 09 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d | etval;..}.....}......return.0;.} |
56c0 | 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 75 73 62 5f 6d 61 74 63 68 5f 64 65 76 69 63 65 5f 63 6c | ..static.int.usb_match_device_cl |
56e0 | 61 73 73 20 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 63 6c 61 73 73 2c 20 75 6e 73 69 67 6e 65 | ass.(unsigned.int.class,.unsigne |
5700 | 64 20 69 6e 74 20 73 75 62 63 6c 61 73 73 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 70 72 6f | d.int.subclass,.unsigned.int.pro |
5720 | 74 6f 63 6f 6c 29 0a 7b 0a 20 20 20 20 69 6e 74 20 69 3b 0a 20 20 20 20 69 6e 74 20 72 65 74 76 | tocol).{.....int.i;.....int.retv |
5740 | 61 6c 3b 0a 0a 20 20 20 20 64 62 67 20 28 22 63 6c 61 73 73 20 3d 20 25 78 2c 20 73 75 62 63 6c | al;......dbg.("class.=.%x,.subcl |
5760 | 61 73 73 20 3d 20 25 78 2c 20 70 72 6f 74 6f 63 6f 6c 20 3d 20 25 78 22 2c 20 63 6c 61 73 73 2c | ass.=.%x,.protocol.=.%x",.class, |
5780 | 20 73 75 62 63 6c 61 73 73 2c 20 70 72 6f 74 6f 63 6f 6c 29 3b 0a 0a 20 20 20 20 66 6f 72 20 28 | .subclass,.protocol);......for.( |
57a0 | 69 20 3d 20 30 3b 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f | i.=.0;.usb_module_map[i].module_ |
57c0 | 6e 61 6d 65 20 21 3d 20 4e 55 4c 4c 3b 20 2b 2b 69 29 20 7b 0a 09 64 62 67 20 28 22 6c 6f 6f 6b | name.!=.NULL;.++i).{..dbg.("look |
57e0 | 69 6e 67 20 61 74 20 25 73 2c 20 6d 61 74 63 68 5f 66 6c 61 67 73 20 3d 20 25 78 22 2c 20 75 73 | ing.at.%s,.match_flags.=.%x",.us |
5800 | 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 2c 20 75 73 62 | b_module_map[i].module_name,.usb |
5820 | 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 29 3b 0a 09 69 66 | _module_map[i].match_flags);..if |
5840 | 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 | .(usb_module_map[i].match_flags. |
5860 | 26 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 49 4e 46 4f 29 20 | &.USB_DEVICE_ID_MATCH_DEV_INFO). |
5880 | 7b 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 | {......if.((usb_module_map[i].ma |
58a0 | 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f | tch_flags.&.USB_DEVICE_ID_MATCH_ |
58c0 | 44 45 56 5f 43 4c 41 53 53 29 20 26 26 0a 09 09 20 20 20 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f | DEV_CLASS).&&.......(usb_module_ |
58e0 | 6d 61 70 5b 69 5d 2e 62 44 65 76 69 63 65 43 6c 61 73 73 20 21 3d 20 63 6c 61 73 73 29 29 20 7b | map[i].bDeviceClass.!=.class)).{ |
5900 | 0a 09 09 64 62 67 20 28 22 63 6c 61 73 73 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 | ...dbg.("class.check.failed.%x.! |
5920 | 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 44 65 76 69 63 65 | =.%x",.usb_module_map[i].bDevice |
5940 | 43 6c 61 73 73 2c 20 63 6c 61 73 73 29 3b 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 20 20 20 20 | Class,.class);...continue;...... |
5960 | 7d 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 | }......if.((usb_module_map[i].ma |
5980 | 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f | tch_flags.&.USB_DEVICE_ID_MATCH_ |
59a0 | 44 45 56 5f 53 55 42 43 4c 41 53 53 29 20 26 26 0a 09 09 20 20 20 20 28 75 73 62 5f 6d 6f 64 75 | DEV_SUBCLASS).&&.......(usb_modu |
59c0 | 6c 65 5f 6d 61 70 5b 69 5d 2e 62 44 65 76 69 63 65 53 75 62 43 6c 61 73 73 20 21 3d 20 73 75 62 | le_map[i].bDeviceSubClass.!=.sub |
59e0 | 63 6c 61 73 73 29 29 20 7b 0a 09 09 64 62 67 20 28 22 73 75 62 63 6c 61 73 73 20 63 68 65 63 6b | class)).{...dbg.("subclass.check |
5a00 | 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 | .failed.%x.!=.%x",.usb_module_ma |
5a20 | 70 5b 69 5d 2e 62 44 65 76 69 63 65 53 75 62 43 6c 61 73 73 2c 20 73 75 62 63 6c 61 73 73 29 3b | p[i].bDeviceSubClass,.subclass); |
5a40 | 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 20 20 20 20 7d 0a 09 20 20 20 20 69 66 20 28 28 75 73 | ...continue;......}......if.((us |
5a60 | 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 | b_module_map[i].match_flags.&.US |
5a80 | 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 44 45 56 5f 50 52 4f 54 4f 43 4f 4c 29 20 | B_DEVICE_ID_MATCH_DEV_PROTOCOL). |
5aa0 | 26 26 0a 09 09 20 20 20 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 44 65 76 | &&.......(usb_module_map[i].bDev |
5ac0 | 69 63 65 50 72 6f 74 6f 63 6f 6c 20 21 3d 20 70 72 6f 74 6f 63 6f 6c 29 29 20 7b 0a 09 09 64 62 | iceProtocol.!=.protocol)).{...db |
5ae0 | 67 20 28 22 70 72 6f 74 6f 63 6f 6c 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 | g.("protocol.check.failed.%x.!=. |
5b00 | 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 44 65 76 69 63 65 50 72 | %x",.usb_module_map[i].bDevicePr |
5b20 | 6f 74 6f 63 6f 6c 2c 20 70 72 6f 74 6f 63 6f 6c 29 3b 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 | otocol,.protocol);...continue;.. |
5b40 | 20 20 20 20 7d 0a 09 20 20 20 20 2f 2a 20 66 6f 75 6e 64 20 6f 6e 65 21 20 2a 2f 0a 09 20 20 20 | ....}....../*.found.one!.*/..... |
5b60 | 20 64 62 67 20 28 22 6c 6f 61 64 69 6e 67 20 25 73 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d | .dbg.("loading.%s",.usb_module_m |
5b80 | 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a 09 20 20 20 20 72 65 74 76 61 6c 20 | ap[i].module_name);......retval. |
5ba0 | 3d 20 6c 6f 61 64 5f 6d 6f 64 75 6c 65 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d | =.load_module.(usb_module_map[i] |
5bc0 | 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a 09 20 20 20 20 69 66 20 28 72 65 74 76 61 6c 29 0a | .module_name);......if.(retval). |
5be0 | 09 09 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 09 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 72 | ..return.retval;..}.....}......r |
5c00 | 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 75 73 62 5f 6d 61 74 63 | eturn.0;.}...static.int.usb_matc |
5c20 | 68 5f 69 6e 74 65 72 66 61 63 65 5f 63 6c 61 73 73 20 28 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 | h_interface_class.(unsigned.int. |
5c40 | 63 6c 61 73 73 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 73 75 62 63 6c 61 73 73 2c 20 75 6e | class,.unsigned.int.subclass,.un |
5c60 | 73 69 67 6e 65 64 20 69 6e 74 20 70 72 6f 74 6f 63 6f 6c 29 0a 7b 0a 20 20 20 20 69 6e 74 20 69 | signed.int.protocol).{.....int.i |
5c80 | 3b 0a 20 20 20 20 69 6e 74 20 72 65 74 76 61 6c 3b 0a 0a 20 20 20 20 64 62 67 20 28 22 63 6c 61 | ;.....int.retval;......dbg.("cla |
5ca0 | 73 73 20 3d 20 25 78 2c 20 73 75 62 63 6c 61 73 73 20 3d 20 25 78 2c 20 70 72 6f 74 6f 63 6f 6c | ss.=.%x,.subclass.=.%x,.protocol |
5cc0 | 20 3d 20 25 78 22 2c 20 63 6c 61 73 73 2c 20 73 75 62 63 6c 61 73 73 2c 20 70 72 6f 74 6f 63 6f | .=.%x",.class,.subclass,.protoco |
5ce0 | 6c 29 3b 0a 0a 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 75 73 62 5f 6d 6f 64 75 6c 65 5f | l);......for.(i.=.0;.usb_module_ |
5d00 | 6d 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 20 21 3d 20 4e 55 4c 4c 3b 20 2b 2b 69 29 | map[i].module_name.!=.NULL;.++i) |
5d20 | 20 7b 0a 09 64 62 67 20 28 22 6c 6f 6f 6b 69 6e 67 20 61 74 20 25 73 2c 20 6d 61 74 63 68 5f 66 | .{..dbg.("looking.at.%s,.match_f |
5d40 | 6c 61 67 73 20 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 6f | lags.=.%x",.usb_module_map[i].mo |
5d60 | 64 75 6c 65 5f 6e 61 6d 65 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 | dule_name,.usb_module_map[i].mat |
5d80 | 63 68 5f 66 6c 61 67 73 29 3b 0a 09 69 66 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 | ch_flags);..if.(usb_module_map[i |
5da0 | 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 | ].match_flags.&.USB_DEVICE_ID_MA |
5dc0 | 54 43 48 5f 49 4e 54 5f 49 4e 46 4f 29 20 7b 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f | TCH_INT_INFO).{......if.((usb_mo |
5de0 | 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 | dule_map[i].match_flags.&.USB_DE |
5e00 | 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 43 4c 41 53 53 29 20 26 26 0a 09 09 20 20 | VICE_ID_MATCH_INT_CLASS).&&..... |
5e20 | 20 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 49 6e 74 65 72 66 61 63 65 43 | ..(usb_module_map[i].bInterfaceC |
5e40 | 6c 61 73 73 20 21 3d 20 63 6c 61 73 73 29 29 20 7b 0a 09 09 64 62 67 20 28 22 63 6c 61 73 73 20 | lass.!=.class)).{...dbg.("class. |
5e60 | 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 | check.failed.%x.!=.%x",.usb_modu |
5e80 | 6c 65 5f 6d 61 70 5b 69 5d 2e 62 49 6e 74 65 72 66 61 63 65 43 6c 61 73 73 2c 20 63 6c 61 73 73 | le_map[i].bInterfaceClass,.class |
5ea0 | 29 3b 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 20 20 20 20 7d 0a 09 20 20 20 20 69 66 20 28 28 | );...continue;......}......if.(( |
5ec0 | 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 | usb_module_map[i].match_flags.&. |
5ee0 | 55 53 42 5f 44 45 56 49 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 53 55 42 43 4c 41 53 53 | USB_DEVICE_ID_MATCH_INT_SUBCLASS |
5f00 | 29 20 26 26 0a 09 09 20 20 20 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 49 | ).&&.......(usb_module_map[i].bI |
5f20 | 6e 74 65 72 66 61 63 65 53 75 62 43 6c 61 73 73 20 21 3d 20 73 75 62 63 6c 61 73 73 29 29 20 7b | nterfaceSubClass.!=.subclass)).{ |
5f40 | 0a 09 09 64 62 67 20 28 22 73 75 62 63 6c 61 73 73 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 | ...dbg.("subclass.check.failed.% |
5f60 | 78 20 21 3d 20 25 78 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 49 6e 74 | x.!=.%x",.usb_module_map[i].bInt |
5f80 | 65 72 66 61 63 65 53 75 62 43 6c 61 73 73 2c 20 73 75 62 63 6c 61 73 73 29 3b 0a 09 09 63 6f 6e | erfaceSubClass,.subclass);...con |
5fa0 | 74 69 6e 75 65 3b 0a 09 20 20 20 20 7d 0a 09 20 20 20 20 69 66 20 28 28 75 73 62 5f 6d 6f 64 75 | tinue;......}......if.((usb_modu |
5fc0 | 6c 65 5f 6d 61 70 5b 69 5d 2e 6d 61 74 63 68 5f 66 6c 61 67 73 20 26 20 55 53 42 5f 44 45 56 49 | le_map[i].match_flags.&.USB_DEVI |
5fe0 | 43 45 5f 49 44 5f 4d 41 54 43 48 5f 49 4e 54 5f 50 52 4f 54 4f 43 4f 4c 29 20 26 26 0a 09 09 20 | CE_ID_MATCH_INT_PROTOCOL).&&.... |
6000 | 20 20 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 49 6e 74 65 72 66 61 63 65 | ...(usb_module_map[i].bInterface |
6020 | 50 72 6f 74 6f 63 6f 6c 20 21 3d 20 70 72 6f 74 6f 63 6f 6c 29 29 20 7b 0a 09 09 64 62 67 20 28 | Protocol.!=.protocol)).{...dbg.( |
6040 | 22 70 72 6f 74 6f 63 6f 6c 20 63 68 65 63 6b 20 66 61 69 6c 65 64 20 25 78 20 21 3d 20 25 78 22 | "protocol.check.failed.%x.!=.%x" |
6060 | 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d 2e 62 49 6e 74 65 72 66 61 63 65 50 72 | ,.usb_module_map[i].bInterfacePr |
6080 | 6f 74 6f 63 6f 6c 2c 20 70 72 6f 74 6f 63 6f 6c 29 3b 0a 09 09 63 6f 6e 74 69 6e 75 65 3b 0a 09 | otocol,.protocol);...continue;.. |
60a0 | 20 20 20 20 7d 0a 09 20 20 20 20 2f 2a 20 66 6f 75 6e 64 20 6f 6e 65 21 20 2a 2f 0a 09 20 20 20 | ....}....../*.found.one!.*/..... |
60c0 | 20 64 62 67 20 28 22 6c 6f 61 64 69 6e 67 20 25 73 22 2c 20 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d | .dbg.("loading.%s",.usb_module_m |
60e0 | 61 70 5b 69 5d 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a 09 20 20 20 20 72 65 74 76 61 6c 20 | ap[i].module_name);......retval. |
6100 | 3d 20 6c 6f 61 64 5f 6d 6f 64 75 6c 65 20 28 75 73 62 5f 6d 6f 64 75 6c 65 5f 6d 61 70 5b 69 5d | =.load_module.(usb_module_map[i] |
6120 | 2e 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a 09 20 20 20 20 69 66 20 28 72 65 74 76 61 6c 29 0a | .module_name);......if.(retval). |
6140 | 09 09 72 65 74 75 72 6e 20 72 65 74 76 61 6c 3b 0a 09 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 72 | ..return.retval;..}.....}......r |
6160 | 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 73 74 61 74 69 63 20 69 6e 74 20 75 73 62 5f 61 64 64 20 | eturn.0;.}...static.int.usb_add. |
6180 | 28 76 6f 69 64 29 0a 7b 0a 20 20 20 20 63 68 61 72 20 2a 70 72 6f 64 75 63 74 5f 65 6e 76 3b 0a | (void).{.....char.*product_env;. |
61a0 | 20 20 20 20 63 68 61 72 20 2a 74 79 70 65 5f 65 6e 76 3b 0a 20 20 20 20 63 68 61 72 20 2a 69 6e | ....char.*type_env;.....char.*in |
61c0 | 74 65 72 66 61 63 65 5f 65 6e 76 3b 0a 20 20 20 20 69 6e 74 20 65 72 72 6f 72 3b 0a 20 20 20 20 | terface_env;.....int.error;..... |
61e0 | 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 64 56 65 6e 64 6f 72 3b 0a 20 20 20 20 75 6e 73 69 67 | unsigned.int.idVendor;.....unsig |
6200 | 6e 65 64 20 69 6e 74 20 69 64 50 72 6f 64 75 63 74 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 | ned.int.idProduct;.....unsigned. |
6220 | 69 6e 74 20 62 63 64 44 65 76 69 63 65 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 | int.bcdDevice;.....unsigned.int. |
6240 | 64 65 76 69 63 65 5f 63 6c 61 73 73 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 64 | device_class;.....unsigned.int.d |
6260 | 65 76 69 63 65 5f 73 75 62 63 6c 61 73 73 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 | evice_subclass;.....unsigned.int |
6280 | 20 64 65 76 69 63 65 5f 70 72 6f 74 6f 63 6f 6c 3b 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 | .device_protocol;.....unsigned.i |
62a0 | 6e 74 20 69 6e 74 65 72 66 61 63 65 5f 63 6c 61 73 73 20 3d 20 30 3b 0a 20 20 20 20 75 6e 73 69 | nt.interface_class.=.0;.....unsi |
62c0 | 67 6e 65 64 20 69 6e 74 20 69 6e 74 65 72 66 61 63 65 5f 73 75 62 63 6c 61 73 73 20 3d 20 30 3b | gned.int.interface_subclass.=.0; |
62e0 | 0a 20 20 20 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 69 6e 74 65 72 66 61 63 65 5f 70 72 6f 74 | .....unsigned.int.interface_prot |
6300 | 6f 63 6f 6c 20 3d 20 30 3b 0a 0a 20 20 20 20 75 73 62 5f 72 65 61 64 5f 75 73 62 6d 61 70 28 29 | ocol.=.0;......usb_read_usbmap() |
6320 | 3b 0a 0a 20 20 20 20 70 72 6f 64 75 63 74 5f 65 6e 76 20 3d 20 67 65 74 65 6e 76 20 28 22 50 52 | ;......product_env.=.getenv.("PR |
6340 | 4f 44 55 43 54 22 29 3b 0a 20 20 20 20 74 79 70 65 5f 65 6e 76 20 3d 20 67 65 74 65 6e 76 20 28 | ODUCT");.....type_env.=.getenv.( |
6360 | 22 54 59 50 45 22 29 3b 0a 20 20 20 20 69 66 20 28 28 70 72 6f 64 75 63 74 5f 65 6e 76 20 3d 3d | "TYPE");.....if.((product_env.== |
6380 | 20 4e 55 4c 4c 29 20 7c 7c 0a 09 20 20 20 20 28 74 79 70 65 5f 65 6e 76 20 3d 3d 20 4e 55 4c 4c | .NULL).||......(type_env.==.NULL |
63a0 | 29 29 20 7b 0a 09 64 62 67 20 28 22 6d 69 73 73 69 6e 67 20 61 6e 20 65 6e 76 69 72 6f 6e 6d 65 | )).{..dbg.("missing.an.environme |
63c0 | 6e 74 20 76 61 72 69 61 62 6c 65 2c 20 61 62 6f 72 74 69 6e 67 2e 22 29 3b 0a 09 72 65 74 75 72 | nt.variable,.aborting.");..retur |
63e0 | 6e 20 31 3b 0a 20 20 20 20 7d 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 73 70 6c 69 74 5f 33 76 61 | n.1;.....}.....error.=.split_3va |
6400 | 6c 75 65 73 20 28 70 72 6f 64 75 63 74 5f 65 6e 76 2c 20 31 36 2c 20 26 69 64 56 65 6e 64 6f 72 | lues.(product_env,.16,.&idVendor |
6420 | 2c 20 26 69 64 50 72 6f 64 75 63 74 2c 20 26 62 63 64 44 65 76 69 63 65 29 3b 0a 20 20 20 20 69 | ,.&idProduct,.&bcdDevice);.....i |
6440 | 66 20 28 65 72 72 6f 72 29 0a 09 72 65 74 75 72 6e 20 65 72 72 6f 72 3b 0a 0a 20 20 20 20 65 72 | f.(error)..return.error;......er |
6460 | 72 6f 72 20 3d 20 75 73 62 5f 6d 61 74 63 68 5f 76 65 6e 64 6f 72 5f 70 72 6f 64 75 63 74 20 28 | ror.=.usb_match_vendor_product.( |
6480 | 69 64 56 65 6e 64 6f 72 2c 20 69 64 50 72 6f 64 75 63 74 2c 20 62 63 64 44 65 76 69 63 65 29 3b | idVendor,.idProduct,.bcdDevice); |
64a0 | 0a 20 20 20 20 69 66 20 28 65 72 72 6f 72 29 0a 09 72 65 74 75 72 6e 20 65 72 72 6f 72 3b 0a 0a | .....if.(error)..return.error;.. |
64c0 | 20 20 20 20 65 72 72 6f 72 20 3d 20 73 70 6c 69 74 5f 33 76 61 6c 75 65 73 20 28 74 79 70 65 5f | ....error.=.split_3values.(type_ |
64e0 | 65 6e 76 2c 20 31 30 2c 20 26 64 65 76 69 63 65 5f 63 6c 61 73 73 2c 0a 09 20 20 20 20 26 64 65 | env,.10,.&device_class,......&de |
6500 | 76 69 63 65 5f 73 75 62 63 6c 61 73 73 2c 20 26 64 65 76 69 63 65 5f 70 72 6f 74 6f 63 6f 6c 29 | vice_subclass,.&device_protocol) |
6520 | 3b 0a 20 20 20 20 69 66 20 28 65 72 72 6f 72 29 0a 09 72 65 74 75 72 6e 20 65 72 72 6f 72 3b 0a | ;.....if.(error)..return.error;. |
6540 | 20 20 20 20 65 72 72 6f 72 20 3d 20 75 73 62 5f 6d 61 74 63 68 5f 64 65 76 69 63 65 5f 63 6c 61 | ....error.=.usb_match_device_cla |
6560 | 73 73 20 28 64 65 76 69 63 65 5f 63 6c 61 73 73 2c 20 64 65 76 69 63 65 5f 73 75 62 63 6c 61 73 | ss.(device_class,.device_subclas |
6580 | 73 2c 20 64 65 76 69 63 65 5f 70 72 6f 74 6f 63 6f 6c 29 3b 0a 20 20 20 20 69 66 20 28 65 72 72 | s,.device_protocol);.....if.(err |
65a0 | 6f 72 29 0a 09 72 65 74 75 72 6e 20 65 72 72 6f 72 3b 0a 0a 20 20 20 20 2f 2a 20 77 65 20 6e 65 | or)..return.error;....../*.we.ne |
65c0 | 65 64 20 74 6f 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 69 6e 74 65 72 66 61 63 65 20 74 6f 6f 20 | ed.to.look.at.the.interface.too. |
65e0 | 2a 2f 0a 20 20 20 20 69 6e 74 65 72 66 61 63 65 5f 65 6e 76 20 3d 20 67 65 74 65 6e 76 20 28 22 | */.....interface_env.=.getenv.(" |
6600 | 49 4e 54 45 52 46 41 43 45 22 29 3b 0a 20 20 20 20 69 66 20 28 69 6e 74 65 72 66 61 63 65 5f 65 | INTERFACE");.....if.(interface_e |
6620 | 6e 76 20 3d 3d 20 4e 55 4c 4c 29 20 7b 0a 09 64 62 67 20 28 22 69 6e 74 65 72 66 61 63 65 20 69 | nv.==.NULL).{..dbg.("interface.i |
6640 | 73 20 6e 75 6c 6c 2c 20 77 65 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 61 74 20 74 6f 20 64 6f | s.null,.we.don't.know.what.to.do |
6660 | 20 68 65 72 65 2e 22 29 3b 0a 09 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 20 20 20 20 65 | .here.");..return.1;.....}.....e |
6680 | 72 72 6f 72 20 3d 20 73 70 6c 69 74 5f 33 76 61 6c 75 65 73 20 28 69 6e 74 65 72 66 61 63 65 5f | rror.=.split_3values.(interface_ |
66a0 | 65 6e 76 2c 20 31 30 2c 20 26 69 6e 74 65 72 66 61 63 65 5f 63 6c 61 73 73 2c 0a 09 20 20 20 20 | env,.10,.&interface_class,...... |
66c0 | 26 69 6e 74 65 72 66 61 63 65 5f 73 75 62 63 6c 61 73 73 2c 20 26 69 6e 74 65 72 66 61 63 65 5f | &interface_subclass,.&interface_ |
66e0 | 70 72 6f 74 6f 63 6f 6c 29 3b 0a 20 20 20 20 69 66 20 28 65 72 72 6f 72 29 0a 09 72 65 74 75 72 | protocol);.....if.(error)..retur |
6700 | 6e 20 65 72 72 6f 72 3b 0a 20 20 20 20 65 72 72 6f 72 20 3d 20 75 73 62 5f 6d 61 74 63 68 5f 69 | n.error;.....error.=.usb_match_i |
6720 | 6e 74 65 72 66 61 63 65 5f 63 6c 61 73 73 20 28 69 6e 74 65 72 66 61 63 65 5f 63 6c 61 73 73 2c | nterface_class.(interface_class, |
6740 | 20 69 6e 74 65 72 66 61 63 65 5f 73 75 62 63 6c 61 73 73 2c 20 69 6e 74 65 72 66 61 63 65 5f 70 | .interface_subclass,.interface_p |
6760 | 72 6f 74 6f 63 6f 6c 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 3b 0a 7d 0a 0a 0a | rotocol);.....return.error;.}... |
6780 | 73 74 61 74 69 63 20 69 6e 74 20 75 73 62 5f 72 65 6d 6f 76 65 20 28 76 6f 69 64 29 0a 7b 0a 20 | static.int.usb_remove.(void).{.. |
67a0 | 20 20 20 2f 2a 20 72 69 67 68 74 20 6e 6f 77 20 77 65 20 64 6f 6e 27 74 20 64 6f 20 61 6e 79 74 | .../*.right.now.we.don't.do.anyt |
67c0 | 68 69 6e 67 20 68 65 72 65 20 3a 29 20 2a 2f 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a | hing.here.:).*/.....return.0;.}. |
67e0 | 0a 0a 73 74 61 74 69 63 20 73 74 72 75 63 74 20 73 75 62 73 79 73 74 65 6d 20 75 73 62 5f 73 75 | ..static.struct.subsystem.usb_su |
6800 | 62 73 79 73 74 65 6d 5b 5d 20 3d 20 7b 0a 20 20 20 20 7b 20 41 44 44 5f 53 54 52 49 4e 47 2c 09 | bsystem[].=.{.....{.ADD_STRING,. |
6820 | 75 73 62 5f 61 64 64 20 7d 2c 0a 20 20 20 20 7b 20 52 45 4d 4f 56 45 5f 53 54 52 49 4e 47 2c 09 | usb_add.},.....{.REMOVE_STRING,. |
6840 | 75 73 62 5f 72 65 6d 6f 76 65 20 7d 2c 0a 20 20 20 20 7b 20 4e 55 4c 4c 2c 09 09 4e 55 4c 4c 20 | usb_remove.},.....{.NULL,..NULL. |
6860 | 7d 0a 7d 3b 0a 0a 0a 69 6e 74 20 75 73 62 5f 68 61 6e 64 6c 65 72 20 28 76 6f 69 64 29 0a 7b 0a | }.};...int.usb_handler.(void).{. |
6880 | 20 20 20 20 63 68 61 72 20 2a 20 61 63 74 69 6f 6e 3b 0a 0a 20 20 20 20 61 63 74 69 6f 6e 20 3d | ....char.*.action;......action.= |
68a0 | 20 67 65 74 65 6e 76 20 28 22 41 43 54 49 4f 4e 22 29 3b 0a 20 20 20 20 64 62 67 20 28 22 61 63 | .getenv.("ACTION");.....dbg.("ac |
68c0 | 74 69 6f 6e 20 3d 20 25 73 22 2c 20 61 63 74 69 6f 6e 29 3b 0a 20 20 20 20 69 66 20 28 61 63 74 | tion.=.%s",.action);.....if.(act |
68e0 | 69 6f 6e 20 3d 3d 20 4e 55 4c 4c 29 20 7b 0a 09 64 62 67 20 28 22 6d 69 73 73 69 6e 67 20 41 43 | ion.==.NULL).{..dbg.("missing.AC |
6900 | 54 49 4f 4e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2c 20 61 62 6f 72 74 | TION.environment.variable,.abort |
6920 | 69 6e 67 2e 22 29 3b 0a 09 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 20 20 20 20 72 65 74 | ing.");..return.1;.....}.....ret |
6940 | 75 72 6e 20 63 61 6c 6c 5f 73 75 62 73 79 73 74 65 6d 20 28 61 63 74 69 6f 6e 2c 20 75 73 62 5f | urn.call_subsystem.(action,.usb_ |
6960 | 73 75 62 73 79 73 74 65 6d 29 3b 0a 7d 0a 0a 0a 2f 2a 20 55 74 69 6c 69 74 79 20 66 75 6e 63 74 | subsystem);.}.../*.Utility.funct |
6980 | 69 6f 6e 73 20 6e 65 65 64 65 64 20 62 79 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 73 75 62 73 79 | ions.needed.by.some.of.the.subsy |
69a0 | 73 74 65 6d 73 2e 20 2a 2f 0a 0a 2f 2a 0a 20 2a 20 73 70 6c 69 74 5f 32 76 61 6c 75 65 73 0a 20 | stems..*/../*..*.split_2values.. |
69c0 | 2a 0a 20 2a 20 74 61 6b 65 73 20 61 20 73 74 72 69 6e 67 20 6f 66 20 66 6f 72 6d 61 74 20 22 78 | *..*.takes.a.string.of.format."x |
69e0 | 78 78 78 3a 79 79 79 79 22 20 61 6e 64 20 66 69 67 75 72 65 73 20 6f 75 74 20 74 68 65 0a 20 2a | xxx:yyyy".and.figures.out.the..* |
6a00 | 20 76 61 6c 75 65 73 20 66 6f 72 20 78 78 78 78 20 61 6e 64 20 79 79 79 79 0a 20 2a 2f 0a 69 6e | .values.for.xxxx.and.yyyy..*/.in |
6a20 | 74 20 73 70 6c 69 74 5f 32 76 61 6c 75 65 73 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 | t.split_2values.(const.char.*str |
6a40 | 69 6e 67 2c 20 69 6e 74 20 62 61 73 65 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 76 61 6c | ing,.int.base,.unsigned.int.*val |
6a60 | 75 65 31 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 76 61 6c 75 65 32 29 0a 7b 0a 20 20 20 | ue1,.unsigned.int.*value2).{.... |
6a80 | 20 63 68 61 72 20 62 75 66 66 65 72 5b 32 30 30 5d 3b 0a 20 20 20 20 63 68 61 72 20 2a 74 65 6d | .char.buffer[200];.....char.*tem |
6aa0 | 70 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 32 3b 0a 0a 20 20 20 20 | p1;.....const.char.*temp2;...... |
6ac0 | 64 62 67 28 22 73 74 72 69 6e 67 20 3d 20 25 73 22 2c 20 73 74 72 69 6e 67 29 3b 0a 0a 20 20 20 | dbg("string.=.%s",.string);..... |
6ae0 | 20 69 66 20 28 73 74 72 69 6e 67 20 3d 3d 20 4e 55 4c 4c 29 0a 09 72 65 74 75 72 6e 20 2d 31 3b | .if.(string.==.NULL)..return.-1; |
6b00 | 0a 20 20 20 20 69 66 20 28 73 74 72 6e 6c 65 6e 20 28 73 74 72 69 6e 67 2c 20 73 69 7a 65 6f 66 | .....if.(strnlen.(string,.sizeof |
6b20 | 28 62 75 66 66 65 72 29 29 20 3e 3d 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 29 0a 09 72 65 | (buffer)).>=.sizeof(buffer))..re |
6b40 | 74 75 72 6e 20 2d 31 3b 0a 0a 20 20 20 20 2f 2a 20 70 69 63 6b 20 75 70 20 74 68 65 20 66 69 72 | turn.-1;....../*.pick.up.the.fir |
6b60 | 73 74 20 6e 75 6d 62 65 72 20 2a 2f 0a 20 20 20 20 74 65 6d 70 31 20 3d 20 26 62 75 66 66 65 72 | st.number.*/.....temp1.=.&buffer |
6b80 | 5b 30 5d 3b 0a 20 20 20 20 74 65 6d 70 32 20 3d 20 73 74 72 69 6e 67 3b 0a 20 20 20 20 77 68 69 | [0];.....temp2.=.string;.....whi |
6ba0 | 6c 65 20 28 31 29 20 7b 0a 09 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 30 78 30 30 29 0a 09 20 | le.(1).{..if.(*temp2.==.0x00)... |
6bc0 | 20 20 20 62 72 65 61 6b 3b 0a 09 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 27 3a 27 29 0a 09 20 | ...break;..if.(*temp2.==.':')... |
6be0 | 20 20 20 62 72 65 61 6b 3b 0a 09 2a 74 65 6d 70 31 20 3d 20 2a 74 65 6d 70 32 3b 0a 09 2b 2b 74 | ...break;..*temp1.=.*temp2;..++t |
6c00 | 65 6d 70 31 3b 0a 09 2b 2b 74 65 6d 70 32 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2a 74 65 6d 70 31 | emp1;..++temp2;.....}.....*temp1 |
6c20 | 20 3d 20 30 78 30 30 3b 0a 20 20 20 20 2a 76 61 6c 75 65 31 20 3d 20 73 74 72 74 6f 75 6c 20 28 | .=.0x00;.....*value1.=.strtoul.( |
6c40 | 62 75 66 66 65 72 2c 20 4e 55 4c 4c 2c 20 62 61 73 65 29 3b 0a 20 20 20 20 64 62 67 20 28 22 62 | buffer,.NULL,.base);.....dbg.("b |
6c60 | 75 66 66 65 72 20 3d 20 25 73 22 2c 20 26 62 75 66 66 65 72 5b 30 5d 29 3b 0a 20 20 20 20 64 62 | uffer.=.%s",.&buffer[0]);.....db |
6c80 | 67 20 28 22 76 61 6c 75 65 31 20 3d 20 25 64 22 2c 20 2a 76 61 6c 75 65 31 29 3b 0a 0a 20 20 20 | g.("value1.=.%d",.*value1);..... |
6ca0 | 20 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 30 78 30 30 29 20 7b 0a 09 2f 2a 20 73 74 72 69 6e | .if.(*temp2.==.0x00).{../*.strin |
6cc0 | 67 20 69 73 20 65 6e 64 65 64 2c 20 6e 6f 74 20 67 6f 6f 64 20 2a 2f 0a 09 72 65 74 75 72 6e 20 | g.is.ended,.not.good.*/..return. |
6ce0 | 2d 31 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 20 67 65 74 20 74 68 65 20 73 65 63 6f 6e 64 | -1;.....}....../*.get.the.second |
6d00 | 20 6e 75 6d 62 65 72 20 2a 2f 0a 20 20 20 20 74 65 6d 70 31 20 3d 20 26 62 75 66 66 65 72 5b 30 | .number.*/.....temp1.=.&buffer[0 |
6d20 | 5d 3b 0a 20 20 20 20 2b 2b 74 65 6d 70 32 3b 0a 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 0a | ];.....++temp2;.....while.(1).{. |
6d40 | 09 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 30 78 30 30 29 0a 09 20 20 20 20 62 72 65 61 6b 3b | .if.(*temp2.==.0x00)......break; |
6d60 | 0a 09 2a 74 65 6d 70 31 20 3d 20 2a 74 65 6d 70 32 3b 0a 09 2b 2b 74 65 6d 70 31 3b 0a 09 2b 2b | ..*temp1.=.*temp2;..++temp1;..++ |
6d80 | 74 65 6d 70 32 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2a 74 65 6d 70 31 20 3d 20 30 78 30 30 3b 0a | temp2;.....}.....*temp1.=.0x00;. |
6da0 | 20 20 20 20 2a 76 61 6c 75 65 32 20 3d 20 73 74 72 74 6f 75 6c 20 28 62 75 66 66 65 72 2c 20 4e | ....*value2.=.strtoul.(buffer,.N |
6dc0 | 55 4c 4c 2c 20 62 61 73 65 29 3b 0a 20 20 20 20 64 62 67 20 28 22 62 75 66 66 65 72 20 3d 20 25 | ULL,.base);.....dbg.("buffer.=.% |
6de0 | 73 22 2c 20 26 62 75 66 66 65 72 5b 30 5d 29 3b 0a 20 20 20 20 64 62 67 20 28 22 76 61 6c 75 65 | s",.&buffer[0]);.....dbg.("value |
6e00 | 32 20 3d 20 25 64 22 2c 20 2a 76 61 6c 75 65 32 29 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 30 | 2.=.%d",.*value2);......return.0 |
6e20 | 3b 0a 7d 0a 0a 0a 2f 2a 0a 20 2a 20 73 70 6c 69 74 5f 33 76 61 6c 75 65 73 0a 20 2a 0a 20 2a 20 | ;.}.../*..*.split_3values..*..*. |
6e40 | 74 61 6b 65 73 20 61 20 73 74 72 69 6e 67 20 6f 66 20 66 6f 72 6d 61 74 20 22 78 78 78 78 2f 79 | takes.a.string.of.format."xxxx/y |
6e60 | 79 79 79 2f 7a 7a 7a 7a 22 20 61 6e 64 20 66 69 67 75 72 65 73 20 6f 75 74 20 74 68 65 0a 20 2a | yyy/zzzz".and.figures.out.the..* |
6e80 | 20 76 61 6c 75 65 73 20 66 6f 72 20 78 78 78 78 2c 20 79 79 79 79 2c 20 61 6e 64 20 7a 7a 7a 7a | .values.for.xxxx,.yyyy,.and.zzzz |
6ea0 | 0a 20 2a 2f 0a 69 6e 74 20 73 70 6c 69 74 5f 33 76 61 6c 75 65 73 20 28 63 6f 6e 73 74 20 63 68 | ..*/.int.split_3values.(const.ch |
6ec0 | 61 72 20 2a 73 74 72 69 6e 67 2c 20 69 6e 74 20 62 61 73 65 2c 20 75 6e 73 69 67 6e 65 64 20 69 | ar.*string,.int.base,.unsigned.i |
6ee0 | 6e 74 20 2a 20 76 61 6c 75 65 31 2c 0a 09 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 20 76 61 6c | nt.*.value1,..unsigned.int.*.val |
6f00 | 75 65 32 2c 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 20 2a 20 76 61 6c 75 65 33 29 0a 7b 0a 20 20 | ue2,.unsigned.int.*.value3).{... |
6f20 | 20 20 63 68 61 72 20 62 75 66 66 65 72 5b 32 30 30 5d 3b 0a 20 20 20 20 63 68 61 72 20 2a 74 65 | ..char.buffer[200];.....char.*te |
6f40 | 6d 70 31 3b 0a 20 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 74 65 6d 70 32 3b 0a 0a 20 20 20 | mp1;.....const.char.*temp2;..... |
6f60 | 20 64 62 67 28 22 73 74 72 69 6e 67 20 3d 20 25 73 22 2c 20 73 74 72 69 6e 67 29 3b 0a 0a 20 20 | .dbg("string.=.%s",.string);.... |
6f80 | 20 20 69 66 20 28 73 74 72 69 6e 67 20 3d 3d 20 4e 55 4c 4c 29 0a 09 72 65 74 75 72 6e 20 2d 31 | ..if.(string.==.NULL)..return.-1 |
6fa0 | 3b 0a 20 20 20 20 69 66 20 28 73 74 72 6e 6c 65 6e 20 28 73 74 72 69 6e 67 2c 20 73 69 7a 65 6f | ;.....if.(strnlen.(string,.sizeo |
6fc0 | 66 28 62 75 66 66 65 72 29 29 20 3e 3d 20 73 69 7a 65 6f 66 28 62 75 66 66 65 72 29 29 0a 09 72 | f(buffer)).>=.sizeof(buffer))..r |
6fe0 | 65 74 75 72 6e 20 2d 31 3b 0a 0a 20 20 20 20 2f 2a 20 70 69 63 6b 20 75 70 20 74 68 65 20 66 69 | eturn.-1;....../*.pick.up.the.fi |
7000 | 72 73 74 20 6e 75 6d 62 65 72 20 2a 2f 0a 20 20 20 20 74 65 6d 70 31 20 3d 20 26 62 75 66 66 65 | rst.number.*/.....temp1.=.&buffe |
7020 | 72 5b 30 5d 3b 0a 20 20 20 20 74 65 6d 70 32 20 3d 20 73 74 72 69 6e 67 3b 0a 20 20 20 20 77 68 | r[0];.....temp2.=.string;.....wh |
7040 | 69 6c 65 20 28 31 29 20 7b 0a 09 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 30 78 30 30 29 0a 09 | ile.(1).{..if.(*temp2.==.0x00).. |
7060 | 20 20 20 20 62 72 65 61 6b 3b 0a 09 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 27 2f 27 29 0a 09 | ....break;..if.(*temp2.==.'/').. |
7080 | 20 20 20 20 62 72 65 61 6b 3b 0a 09 2a 74 65 6d 70 31 20 3d 20 2a 74 65 6d 70 32 3b 0a 09 2b 2b | ....break;..*temp1.=.*temp2;..++ |
70a0 | 74 65 6d 70 31 3b 0a 09 2b 2b 74 65 6d 70 32 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2a 74 65 6d 70 | temp1;..++temp2;.....}.....*temp |
70c0 | 31 20 3d 20 30 78 30 30 3b 0a 20 20 20 20 2a 76 61 6c 75 65 31 20 3d 20 73 74 72 74 6f 75 6c 20 | 1.=.0x00;.....*value1.=.strtoul. |
70e0 | 28 62 75 66 66 65 72 2c 20 4e 55 4c 4c 2c 20 62 61 73 65 29 3b 0a 20 20 20 20 64 62 67 20 28 22 | (buffer,.NULL,.base);.....dbg.(" |
7100 | 62 75 66 66 65 72 20 3d 20 25 73 22 2c 20 26 62 75 66 66 65 72 5b 30 5d 29 3b 0a 20 20 20 20 64 | buffer.=.%s",.&buffer[0]);.....d |
7120 | 62 67 20 28 22 76 61 6c 75 65 31 20 3d 20 25 64 22 2c 20 2a 76 61 6c 75 65 31 29 3b 0a 0a 20 20 | bg.("value1.=.%d",.*value1);.... |
7140 | 20 20 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 30 78 30 30 29 20 7b 0a 09 2f 2a 20 73 74 72 69 | ..if.(*temp2.==.0x00).{../*.stri |
7160 | 6e 67 20 69 73 20 65 6e 64 65 64 2c 20 6e 6f 74 20 67 6f 6f 64 20 2a 2f 0a 09 72 65 74 75 72 6e | ng.is.ended,.not.good.*/..return |
7180 | 20 2d 31 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2a 20 67 65 74 20 74 68 65 20 73 65 63 6f 6e | .-1;.....}....../*.get.the.secon |
71a0 | 64 20 6e 75 6d 62 65 72 20 2a 2f 0a 20 20 20 20 74 65 6d 70 31 20 3d 20 26 62 75 66 66 65 72 5b | d.number.*/.....temp1.=.&buffer[ |
71c0 | 30 5d 3b 0a 20 20 20 20 2b 2b 74 65 6d 70 32 3b 0a 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b | 0];.....++temp2;.....while.(1).{ |
71e0 | 0a 09 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 30 78 30 30 29 0a 09 20 20 20 20 62 72 65 61 6b | ..if.(*temp2.==.0x00)......break |
7200 | 3b 0a 09 69 66 20 28 2a 74 65 6d 70 32 20 3d 3d 20 27 2f 27 29 0a 09 20 20 20 20 62 72 65 61 6b | ;..if.(*temp2.==.'/')......break |
7220 | 3b 0a 09 2a 74 65 6d 70 31 20 3d 20 2a 74 65 6d 70 32 3b 0a 09 2b 2b 74 65 6d 70 31 3b 0a 09 2b | ;..*temp1.=.*temp2;..++temp1;..+ |
7240 | 2b 74 65 6d 70 32 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2a 74 65 6d 70 31 20 3d 20 30 78 30 30 3b | +temp2;.....}.....*temp1.=.0x00; |
7260 | 0a 20 20 20 20 2a 76 61 6c 75 65 32 20 3d 20 73 74 72 74 6f 75 6c 20 28 62 75 66 66 65 72 2c 20 | .....*value2.=.strtoul.(buffer,. |
7280 | 4e 55 4c 4c 2c 20 62 61 73 65 29 3b 0a 20 20 20 20 64 62 67 20 28 22 62 75 66 66 65 72 20 3d 20 | NULL,.base);.....dbg.("buffer.=. |
72a0 | 25 73 22 2c 20 26 62 75 66 66 65 72 5b 30 5d 29 3b 0a 20 20 20 20 64 62 67 20 28 22 76 61 6c 75 | %s",.&buffer[0]);.....dbg.("valu |
72c0 | 65 32 20 3d 20 25 64 22 2c 20 2a 76 61 6c 75 65 32 29 3b 0a 0a 20 20 20 20 69 66 20 28 2a 74 65 | e2.=.%d",.*value2);......if.(*te |
72e0 | 6d 70 32 20 3d 3d 20 30 78 30 30 29 20 7b 0a 09 2f 2a 20 73 74 72 69 6e 67 20 69 73 20 65 6e 64 | mp2.==.0x00).{../*.string.is.end |
7300 | 65 64 2c 20 6e 6f 74 20 67 6f 6f 64 20 2a 2f 0a 09 72 65 74 75 72 6e 20 2d 31 3b 0a 20 20 20 20 | ed,.not.good.*/..return.-1;..... |
7320 | 7d 0a 0a 20 20 20 20 2f 2a 20 67 65 74 20 74 68 65 20 74 68 69 72 64 20 6e 75 6d 62 65 72 20 2a | }....../*.get.the.third.number.* |
7340 | 2f 0a 20 20 20 20 74 65 6d 70 31 20 3d 20 26 62 75 66 66 65 72 5b 30 5d 3b 0a 20 20 20 20 2b 2b | /.....temp1.=.&buffer[0];.....++ |
7360 | 74 65 6d 70 32 3b 0a 20 20 20 20 77 68 69 6c 65 20 28 31 29 20 7b 0a 09 69 66 20 28 2a 74 65 6d | temp2;.....while.(1).{..if.(*tem |
7380 | 70 32 20 3d 3d 20 30 78 30 30 29 0a 09 20 20 20 20 62 72 65 61 6b 3b 0a 09 2a 74 65 6d 70 31 20 | p2.==.0x00)......break;..*temp1. |
73a0 | 3d 20 2a 74 65 6d 70 32 3b 0a 09 2b 2b 74 65 6d 70 31 3b 0a 09 2b 2b 74 65 6d 70 32 3b 0a 20 20 | =.*temp2;..++temp1;..++temp2;... |
73c0 | 20 20 7d 0a 20 20 20 20 2a 74 65 6d 70 31 20 3d 20 30 78 30 30 3b 0a 20 20 20 20 2a 76 61 6c 75 | ..}.....*temp1.=.0x00;.....*valu |
73e0 | 65 33 20 3d 20 73 74 72 74 6f 75 6c 20 28 62 75 66 66 65 72 2c 20 4e 55 4c 4c 2c 20 62 61 73 65 | e3.=.strtoul.(buffer,.NULL,.base |
7400 | 29 3b 0a 20 20 20 20 64 62 67 20 28 22 62 75 66 66 65 72 20 3d 20 25 73 22 2c 20 26 62 75 66 66 | );.....dbg.("buffer.=.%s",.&buff |
7420 | 65 72 5b 30 5d 29 3b 0a 20 20 20 20 64 62 67 20 28 22 76 61 6c 75 65 33 20 3d 20 25 64 22 2c 20 | er[0]);.....dbg.("value3.=.%d",. |
7440 | 2a 76 61 6c 75 65 33 29 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 0a 69 6e 74 | *value3);......return.0;.}...int |
7460 | 20 63 61 6c 6c 5f 73 75 62 73 79 73 74 65 6d 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 73 74 72 | .call_subsystem.(const.char.*str |
7480 | 69 6e 67 2c 20 73 74 72 75 63 74 20 73 75 62 73 79 73 74 65 6d 20 2a 73 75 62 73 79 73 74 65 6d | ing,.struct.subsystem.*subsystem |
74a0 | 29 0a 7b 0a 20 20 20 20 69 6e 74 20 69 3b 0a 0a 20 20 20 20 66 6f 72 20 28 69 20 3d 20 30 3b 20 | ).{.....int.i;......for.(i.=.0;. |
74c0 | 73 75 62 73 79 73 74 65 6d 5b 69 5d 2e 6e 61 6d 65 20 21 3d 20 4e 55 4c 4c 3b 20 2b 2b 69 29 20 | subsystem[i].name.!=.NULL;.++i). |
74e0 | 7b 0a 09 69 66 20 28 73 74 72 6e 63 6d 70 20 28 73 74 72 69 6e 67 2c 20 73 75 62 73 79 73 74 65 | {..if.(strncmp.(string,.subsyste |
7500 | 6d 5b 69 5d 2e 6e 61 6d 65 2c 20 73 74 72 6c 65 6e 28 73 74 72 69 6e 67 29 29 20 3d 3d 20 30 29 | m[i].name,.strlen(string)).==.0) |
7520 | 0a 09 20 20 20 20 72 65 74 75 72 6e 20 73 75 62 73 79 73 74 65 6d 5b 69 5d 2e 68 61 6e 64 6c 65 | ......return.subsystem[i].handle |
7540 | 72 28 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 7d 0a 0a 0a 69 6e 74 | r();.....}.....return.1;.}...int |
7560 | 20 6c 6f 61 64 5f 6d 6f 64 75 6c 65 20 28 63 6f 6e 73 74 20 63 68 61 72 20 2a 6d 6f 64 75 6c 65 | .load_module.(const.char.*module |
7580 | 5f 6e 61 6d 65 29 0a 7b 0a 20 20 20 20 63 68 61 72 20 2a 61 72 67 76 5b 33 5d 3b 0a 0a 20 20 20 | _name).{.....char.*argv[3];..... |
75a0 | 20 61 72 67 76 5b 30 5d 20 3d 20 22 2f 73 62 69 6e 2f 6d 6f 64 70 72 6f 62 65 22 3b 0a 20 20 20 | .argv[0].=."/sbin/modprobe";.... |
75c0 | 20 61 72 67 76 5b 31 5d 20 3d 20 28 63 68 61 72 20 2a 29 6d 6f 64 75 6c 65 5f 6e 61 6d 65 3b 0a | .argv[1].=.(char.*)module_name;. |
75e0 | 20 20 20 20 61 72 67 76 5b 32 5d 20 3d 20 4e 55 4c 4c 3b 0a 20 20 20 20 64 62 67 20 28 22 6c 6f | ....argv[2].=.NULL;.....dbg.("lo |
7600 | 61 64 69 6e 67 20 6d 6f 64 75 6c 65 20 25 73 22 2c 20 6d 6f 64 75 6c 65 5f 6e 61 6d 65 29 3b 0a | ading.module.%s",.module_name);. |
7620 | 20 20 20 20 73 77 69 74 63 68 20 28 66 6f 72 6b 28 29 29 20 7b 0a 09 63 61 73 65 20 30 3a 0a 09 | ....switch.(fork()).{..case.0:.. |
7640 | 20 20 20 20 2f 2a 20 77 65 20 61 72 65 20 74 68 65 20 63 68 69 6c 64 2c 20 73 6f 20 6c 65 74 73 | ..../*.we.are.the.child,.so.lets |
7660 | 20 72 75 6e 20 74 68 65 20 70 72 6f 67 72 61 6d 20 2a 2f 0a 09 20 20 20 20 65 78 65 63 76 20 28 | .run.the.program.*/......execv.( |
7680 | 22 2f 73 62 69 6e 2f 6d 6f 64 70 72 6f 62 65 22 2c 20 61 72 67 76 29 3b 0a 09 20 20 20 20 65 78 | "/sbin/modprobe",.argv);......ex |
76a0 | 69 74 28 30 29 3b 0a 09 20 20 20 20 62 72 65 61 6b 3b 0a 09 63 61 73 65 20 28 2d 31 29 3a 0a 09 | it(0);......break;..case.(-1):.. |
76c0 | 20 20 20 20 64 62 67 20 28 22 66 6f 72 6b 20 66 61 69 6c 65 64 2e 22 29 3b 0a 09 20 20 20 20 62 | ....dbg.("fork.failed.");......b |
76e0 | 72 65 61 6b 3b 0a 09 64 65 66 61 75 6c 74 3a 0a 09 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 | reak;..default:......break;..... |
7700 | 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 0a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 | }.....return.0;.}............... |
7720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
77a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
77c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
77e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
78a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
78c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
78e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
79a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
79c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
79e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
7fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
80a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
80c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
80e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
81a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
81c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
81e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
82a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
82c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
82e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
83a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
83c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
83e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
84a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
84c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
84e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
85a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
85c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
85e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
86a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
86c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
86e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
87a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
87c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
87e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
88a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
88c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
88e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
89a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
89c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
89e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
8fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9080 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
90a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
90c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
90e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9100 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9120 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9140 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9160 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9180 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
91a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
91c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
91e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9200 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9220 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9240 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9260 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9280 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
92a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
92c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
92e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9300 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9320 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
93a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
93c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
93e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9400 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9420 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9440 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9460 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9480 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
94a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
94c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
94e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9500 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9520 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9540 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9560 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9580 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
95a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
95c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
95e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9600 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9620 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9640 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9660 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9680 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
96a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
96c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
96e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9700 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9720 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9740 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9760 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9780 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
97a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
97c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
97e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9800 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9820 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9840 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9860 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9880 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
98a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
98c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
98e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9900 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
99a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
99c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
99e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9a00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9a20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9a40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9a60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9a80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9aa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9b00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9b20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9b40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9b60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9b80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9bc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9be0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9c00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9c20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9c40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9c60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9c80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9cc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ce0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9d00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9d20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9d40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9d60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9d80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9da0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9dc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9de0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9e00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9e20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9e40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9e60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9e80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9ee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9f00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9f20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9f40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9f60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9f80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
9fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ....................... |