head 1.4; access; symbols pkgsrc-2013Q2:1.4.0.44 pkgsrc-2013Q2-base:1.4 pkgsrc-2012Q4:1.4.0.42 pkgsrc-2012Q4-base:1.4 pkgsrc-2011Q4:1.4.0.40 pkgsrc-2011Q4-base:1.4 pkgsrc-2011Q2:1.4.0.38 pkgsrc-2011Q2-base:1.4 pkgsrc-2009Q4:1.4.0.36 pkgsrc-2009Q4-base:1.4 pkgsrc-2008Q4:1.4.0.34 pkgsrc-2008Q4-base:1.4 pkgsrc-2008Q3:1.4.0.32 pkgsrc-2008Q3-base:1.4 cube-native-xorg:1.4.0.30 cube-native-xorg-base:1.4 pkgsrc-2008Q2:1.4.0.28 pkgsrc-2008Q2-base:1.4 pkgsrc-2008Q1:1.4.0.26 pkgsrc-2008Q1-base:1.4 pkgsrc-2007Q4:1.4.0.24 pkgsrc-2007Q4-base:1.4 pkgsrc-2007Q3:1.4.0.22 pkgsrc-2007Q3-base:1.4 pkgsrc-2007Q2:1.4.0.20 pkgsrc-2007Q2-base:1.4 pkgsrc-2007Q1:1.4.0.18 pkgsrc-2007Q1-base:1.4 pkgsrc-2006Q4:1.4.0.16 pkgsrc-2006Q4-base:1.4 pkgsrc-2006Q3:1.4.0.14 pkgsrc-2006Q3-base:1.4 pkgsrc-2006Q2:1.4.0.12 pkgsrc-2006Q2-base:1.4 pkgsrc-2006Q1:1.4.0.10 pkgsrc-2006Q1-base:1.4 pkgsrc-2005Q4:1.4.0.8 pkgsrc-2005Q4-base:1.4 pkgsrc-2005Q3:1.4.0.6 pkgsrc-2005Q3-base:1.4 pkgsrc-2005Q2:1.4.0.4 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.4.0.2 pkgsrc-2005Q1-base:1.4 pkgsrc-2004Q4:1.3.0.18 pkgsrc-2004Q4-base:1.3 pkgsrc-2004Q3:1.3.0.16 pkgsrc-2004Q3-base:1.3 pkgsrc-2004Q2:1.3.0.14 pkgsrc-2004Q2-base:1.3 pkgsrc-2004Q1:1.3.0.12 pkgsrc-2004Q1-base:1.3 pkgsrc-2003Q4:1.3.0.10 pkgsrc-2003Q4-base:1.3 netbsd-1-6-1:1.3.0.6 netbsd-1-6-1-base:1.3 netbsd-1-6:1.3.0.8 netbsd-1-6-RELEASE-base:1.3 pkgviews:1.3.0.4 pkgviews-base:1.3 buildlink2:1.3.0.2 buildlink2-base:1.3 netbsd-1-5-PATCH003:1.3; locks; strict; comment @# @; 1.4 date 2004.12.28.11.25.49; author wiz; state dead; branches; next 1.3; 1.3 date 2001.06.13.12.41.09; author bouyer; state Exp; branches; next 1.2; 1.2 date 2001.06.11.17.58.00; author bouyer; state Exp; branches; next 1.1; 1.1 date 2001.06.11.17.40.48; author bouyer; state Exp; branches; next ; desc @@ 1.4 log @Remove koncd -- the author doesn't mention it at all any longer on its and his webpage. Ok'd by wulf. @ text @$NetBSD: patch-aa,v 1.3 2001/06/13 12:41:09 bouyer Exp $ --- koncd/cddata.cpp.orig Wed Jun 13 12:04:10 2001 +++ koncd/cddata.cpp Wed Jun 13 13:32:12 2001 @@@@ -13,10 +13,39 @@@@ #include #include "cddata.h" +#include "config.h" + +#ifdef HAVE_GETRAWPARTITION +# include +#endif + static int CurBus; struct DEVICES *CurDev; CDdata::CDdata( QObject * , const char * ) { +#ifdef __NetBSD__ + int i; + char prog2[128]; + int raw; + + Devices = NULL; + strncpy( prog, "scsictl", sizeof( prog ) - 1); + connect( &proc, SIGNAL(receivedStdout (KProcess *, char *, int) ), + this, SLOT(slotOutput (KProcess *, char *, int) )); +#ifdef HAVE_GETRAWPARTITION + raw = getrawpartition(); +#else + raw = 'c' - 'a'; +#endif + for (i = 0; i < 8; i++) { + proc.clearArguments(); + snprintf(prog2, sizeof( prog2 ) - 1, "/dev/rcd%d%c",i, + 'a' + raw); + proc << prog << prog2 << "identify"; + proc.start( KProcess::Block, KProcess::AllOutput ); + } +#else + Devices = NULL; strncpy( prog, "cdrecord", sizeof( prog ) - 1); proc << prog << "-scanbus"; @@@@ -25,6 +54,7 @@@@ connect( &proc, SIGNAL(receivedStdout (KProcess *, char *, int) ), this, SLOT(slotOutput (KProcess *, char *, int) )); proc.start( KProcess::Block, KProcess::AllOutput ); +#endif /* __NetBSD__ */ sprintf( dummystr,"dev=unknown" ); struct DEVICES *d; @@@@ -100,14 +130,53 @@@@ char *c, *b, buf[1024]; struct DEVICES *dev; unsigned i; +#ifdef __NetBSD__ + int raw; + +#ifdef HAVE_GETRAWPARTITION + raw = getrawpartition(); +#else + raw = 'c' - 'a'; +#endif +#endif /* __NetBSD__ */ if( !n ) { return; } bzero( buf, sizeof( buf ) ); - strncpy( buf, s, n > (int) sizeof( buf ) ? sizeof(buf) - 1 : n ); + strncpy( buf, s, n >= (int) sizeof( buf ) ? sizeof(buf) - 1 : n ); output += buf; +#ifdef __NetBSD__ + if (strncmp(buf, "/dev/rcd", 8) != 0) + return; + if( (b = strstr( buf, "<" )) && (c = strstr( buf, ">" ))) { + dev = (struct DEVICES *) calloc( sizeof( struct DEVICES ), 1 ); + dev -> next = Devices; + Devices = dev; + dev -> bus = 0; + dev -> dev = buf[8] - 0x30; + sprintf( dev -> devstr, "dev=/dev/rcd%d%c", + (dev -> dev < 32) ? dev -> dev:0, 'a' + raw); + if( *b ) b++; // point to next character + for( i = 0; *b && *b != ',' && i < sizeof(dev->vendor)-1; + b++, i++ ) + dev -> vendor[i] = *b; + while(*b != ',' && *b != 0) // points to next "," + b++; + if (*b == ',') b++; // next char + for( i = 0; *b && *b != ',' && i < sizeof(dev->name)-1; + b++, i++ ) + dev -> name[i] = *b; + while(*b != ',' && *b != 0) // points to next "," + b++; + if (*b == ',') b++; // next char + for( i = 0; *b && *b != '>' && i < sizeof(dev->version)-1; + b++, i++ ) + dev -> version[i] = *b; + dev -> desc[0] = 0; + } +#else c = strtok( buf, "\n" ); while( c ) { if( (b = strstr( c, "scsibus" )) ) { @@@@ -139,6 +208,7 @@@@ } c = strtok( NULL, "\n" ); } +#endif /* __NetBSD__ */ } void CDdata::slotOutput1(KProcess *, char *s, int n) { @ 1.3 log @Add patch from Nick Hudson to detect util.h and getrawpartition() in libutil. Chnage patch to cddata.cpp to use getrawpartition(), and enclose NetBSD-specific changes in #ifdef __NetBSD/#endif so that it's easier to send back to KDE folks. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @Thomas is rigth, we can't use /dev/rcd?d on all platform. #ifdef __i386 use /dev/rcd%dd #else use /dev/rcd%dc #endif @ text @d1 1 a1 1 $NetBSD: patch-aa,v 1.5 2001/03/10 11:46:53 drochner Exp $ d3 13 a15 3 --- koncd/cddata.cpp.orig Sun Mar 11 12:35:36 2001 +++ koncd/cddata.cpp Mon Jun 11 19:50:12 2001 @@@@ -17,14 +17,22 @@@@ d19 1 d22 4 a25 7 Devices = NULL; - strncpy( prog, "cdrecord", sizeof( prog ) - 1); - proc << prog << "-scanbus"; - connect( &proc, SIGNAL(receivedStderr (KProcess *, char *, int) ), - this, SLOT(slotOutput (KProcess *, char *, int) )); - connect( &proc, SIGNAL(receivedStdout (KProcess *, char *, int) ), + strncpy( prog, "scsictl", sizeof( prog ) - 1); d27 3 a29 6 this, SLOT(slotOutput (KProcess *, char *, int) )); - proc.start( KProcess::Block, KProcess::AllOutput ); + for (i = 0; i < 8; i++) { + proc.clearArguments(); +#ifdef __i386__ + snprintf(prog2, sizeof( prog2 ) - 1, "/dev/rcd%dd",i); d31 1 a31 1 + snprintf(prog2, sizeof( prog2 ) - 1, "/dev/rcd%dc",i); d33 4 d40 10 d53 15 a67 1 @@@@ -105,40 +113,39 @@@@ d75 1 a75 7 - c = strtok( buf, "\n" ); - while( c ) { - if( (b = strstr( c, "scsibus" )) ) { - CurBus = c[7] - 0x30; - } - if( (b = strstr( c, ") " )) ) { - if( b - 1 >= c && isdigit( *(b-1) ) && b[2] != '*' ) { d78 12 a89 23 + if( (b = strstr( buf, "<" )) && (c = strstr( buf, ">" ))) { dev = (struct DEVICES *) calloc( sizeof( struct DEVICES ), 1 ); dev -> next = Devices; Devices = dev; - dev -> bus = CurBus; - dev -> dev = *(b-1) - 0x30; - sprintf( dev -> devstr, "dev=%d,%d,0", - (CurBus < 32) ? CurBus:0, (dev -> dev < 32) ? dev -> dev:0 ); - for( ; *b && *b != '\''; b++ ); // point to ' + dev -> dev = buf[8] - 0x30; +#ifdef __i386__ + sprintf( dev -> devstr, "dev=/dev/rcd%dd", + (dev -> dev < 32) ? dev -> dev:0 ); +#else + sprintf( dev -> devstr, "dev=/dev/rcd%dc", + (dev -> dev < 32) ? dev -> dev:0 ); +#endif if( *b ) b++; // point to next character - for( i = 0; *b && *b != '\'' && i < sizeof(dev->vendor)-1; b++, i++ ) + for( i = 0; *b && *b != ',' && i < sizeof(dev->vendor)-1; b++, i++ ) dev -> vendor[i] = *b; - for( i = 0; *b && i < 2; b++ ) if( *b == '\'' ) i++; - for( i = 0; *b && *b != '\'' && i < sizeof(dev->name)-1; b++, i++ ) d93 1 a93 1 + for( i = 0; *b && *b != ',' && i < sizeof(dev->name)-1; d95 1 a95 3 dev -> name[i] = *b; - for( i = 0; *b && i < 2; b++ ) if( *b == '\'' ) i++; - for( i = 0; *b && *b != '\'' && i < sizeof(dev->version)-1; b++, i++ ) d99 4 a102 10 + for( i = 0; *b && *b != '>' && i < sizeof(dev->version)-1; b++, i++ ) dev -> version[i] = *b; - for( i = 0; *b && i < 1; b++ ) if( *b == '\'' ) i++; - for( i = 0; *b && *b != '\'' && i < sizeof(dev->desc)-1; b++, i++ ) - dev -> desc[i] = *b; - } - } - c = strtok( NULL, "\n" ); - } + dev -> desc[0] = 0; d104 9 @ 1.1 log @Handle device scan more in the NetBSD way: instead of using cdrecord -scanbus use scsictl identify, looping on /dev/rcd0d -> /dev/rcd7d. This allows to store the real name of the device, instead of scsibus/target/lun which is hard to use. @ text @d3 3 a5 3 --- koncd/cddata.cpp.orig Mon Jun 11 19:01:08 2001 +++ koncd/cddata.cpp Mon Jun 11 19:02:38 2001 @@@@ -17,14 +17,18 @@@@ d23 1 d25 3 d34 1 a34 1 @@@@ -105,40 +109,34 @@@@ d61 1 d64 4 @