|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
su che ide sono?
Domandina:
Io ho un programmino scritto in c da me. vorrei sapere da quale hard disk del pc viene usato. o meglio vorrei sapere se si tratta di hda,hdb,hdc,hdd per poi potere trarre informazioni circa l'hard disk tramite /proc/ide/...... idee? ho provato la stat ma da info circa il filesystem..... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
nessuna idea?
![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
man fstat
(campo struct stat::st_dev) Spostato in Programmazione
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
grazie per lo spostamento,
ma alle volte se lo sposto io..... mi dicono thread duplicato ecc.... ciao e grazie. |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
![]()
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
copiarlo?
sinceramente non mi sono mai preoccupato di come spostarlo. esiste la possibilita' di migrare un mio messaggio? |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
cancello e copio?
|
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
dev_t st_dev
Identifies the device containing the file. The st_ino and st_dev , taken together, uniquely identify the file. The st_dev value is not necessarily consistent across reboots or system crashes, however. da cio' sembra che non serva invece dalla man page dice device. non so... il tipo dev_t e' un int? |
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
![]()
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
ma stat() è ANSI iso??
No perche VICIUS diceva di si
__________________
Gnu/Linux User ![]() |
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#12 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
![]() |
![]() |
![]() |
#13 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Codice:
#include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h> int main(int argc, char **argv) { struct stat st; if(argc<2) { printf("Formato: %s <file/directory da testare>\n", argv[0]); return -1; } if(stat(argv[1], &st)<0) { perror("stat"); return -1; } printf("major:minor=%d:%d\n", major(st.st_dev), minor(st.st_dev)); return 0; }
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
Quote:
sleck..... sleck......eek: davvero, non posso spostare un thread? major e minor ok ma come si potrebbe avere la stringa stile /dev/hda? |
|
![]() |
![]() |
![]() |
#15 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
![]() Seriamente, i nomi hda ecc. sono significativi solo in user space. Il kernel usa le coppie major/minor per identificare un dispositivo. Visto che ci sono delle convenzioni, puoi usarle per ottenere il nome "standard" per il dispositivo dai suoi maj/min; ad es: 3:0 -> hda 3:1 -> hda1 3:2 -> hda2 (ecc) 3:64 -> hdb 3:65 -> hdb1 (ecc) 22:0 -> hdc (ecc) 22:64 -> hdd (ecc)
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
![]() |
![]() |
![]() |
#16 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
ok anche io nella suse ho questa convenzione, ma la mandrake e' diversa
per esempio hda=32 hda1=33 hdd = 37 non ci sono numeri fissi. una cosa sarebbe confrontare tutti i numeri major in un vettore ma e' una palla, mi domando se non ci sia qualcosa di meglio per non reinventare la ruota. |
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
/dev/ide/host0/bus0/target0/lun0/disc Ecco perché non puoi trasformare subito maj/min in device, ma solo usare delle convenzioni: il link /dev/hda esiste apposta in quanto i programmi si "aspettano" che hda esista. "ls -l /dev/hda" ti farà vedere il link simbolico e a cosa punta. "ls -l -L /dev/hda" ti dirà la verità sul dispositivo effettivo ![]()
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
avevo notato qualcosa di strano ma forse sara la birra di ieri sera....
grazie. mi dai una spiegazione da prima riga di man per sto devfs. cusie'? grazie. il major device di hda in mandrake e' 3. |
![]() |
![]() |
![]() |
#19 | ||
Senior Member
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
|
Quote:
Quote:
![]()
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12 |
||
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: May 2002
Città: Massa Carrara
Messaggi: 589
|
insomma uno spettacolo.
grazie di nuovo. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:29.