Newsgroup: it.comp.os.linux.development
Titolo: Problemi con linux/quota.h

Sto scrivendo un pezzo di programma in C che attiva dei nuovi  quota su una
partizione;
Per ora ho scritto semplicemente
int main(void)
{
int cmd;
char *device="/dev/hda3";
int uid=500;  			/*per prova*/
struct  dqblk strutt;
...
...
if(quotactl(QCMD(Q_SETQUOTA,USRQUOTA),device,uid,&strutt))
        printf("ERRORE: %s\n",strerror(errno));
...
ma nel tentativo di compilare ottengo
In file included from quota.c:1:
/usr/include/linux/quota.h:117: parse error before  _u32'
/usr/include/linux/quota.h:117: warning: no semicolon at end of struct or
union
/usr/include/linux/quota.h:118: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:119: parse error before `dqb_curblocks'
/usr/include/linux/quota.h:119: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:120: parse error before `dqb_ihardlimit'
/usr/include/linux/quota.h:120: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:121: parse error before `dqb_isoftlimit'
/usr/include/linux/quota.h:121: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:122: parse error before `dqb_curinodes'
/usr/include/linux/quota.h:122: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:123: parse error before `dqb_btime'
/usr/include/linux/quota.h:123: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:124: parse error before `dqb_itime'
/usr/include/linux/quota.h:124: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:142: parse error before `__u32'
/usr/include/linux/quota.h:142: warning: no semicolon at end of struct or
union
/usr/include/linux/quota.h:143: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:144: parse error before `reads'
/usr/include/linux/quota.h:144: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:145: parse error before `writes'
/usr/include/linux/quota.h:145: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:146: parse error before `cache_hits'
/usr/include/linux/quota.h:146: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:147: parse error before `allocated_dquots'
/usr/include/linux/quota.h:147: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:148: parse error before `free_dquots'
/usr/include/linux/quota.h:148: warning: data definition has no type or
storage class
/usr/include/linux/quota.h:149: parse error before `syncs'
/usr/include/linux/quota.h:149: warning: data definition has no type or
storage class
In file included from quota.c:1:
/usr/include/linux/quota.h:205: parse error before `caddr_t'
quota.c: In function `main':
quota.c:10: storage size of `strutt' isn't known
Scusate se ho postato l'errore per intero ma in questi casi non fa mai
male...
Comunque, alle righe citate ci sono le definizioni della struct dqblk
(116-125) e dqstats (142-150), mentre alla 205 c'e' la definizione di
quotactl()...
A me pare che il mio programma sia giusto anche preche' commentando tutto e
lasciando solo gli include gli errori ci sono comunque...
Non e' che devo compilare con qualche libreria tipo -lquota o roba del
genere??
Grazie a chiunque sapra' darmi una mano.
Vi][oZ
-- 
          We are the true believers
       It's our turn to show the world
 In the fire of heavy metal we were burned
         It's more than our religion
          It's the only way to live
           But the enemies of metal
              We can't forgive

partizione;
Devi usare sys/quota.h, non linux/quota.h.
Non bisogna MAI usare header in /usr/include/{linux,asm} se non si sa
cosa si sta facendo.
-- 
ciao, |
Marco | * The Internet is full. Go away.  -- Joel Furr *
      | (Ri)scoprire fidonet: 
http://bbs.mi.linux.it


Ma allora perche' nelle pagine man si fa riferimento a linux/ e non a sys?
e comunque, che problemi potrei avere (visto che si impara sempre
qualcosa...)
Comunque ho risolto il problema cambiando la chiamata a quotactl in modo da
sfruttare una macro che li per li mi era sfuggita...
grazie 1000


e comunque, che problemi potrei avere (visto che si impara sempre
Se funziona, non e` garantito che funzionera` anche in futuro.



Grazie 1000
