> 2.2.18 si e definita la linia 374 -  dar din cite am reusit sa-mi dau
> seama e folosita pentru toate variabilele din interfata sysctl. deci
> daca as umbla la ea as face rw si alte variabile care ar trebui sa ramina
> batute in cuie sau modificabile numai de catre kernel. oricum, nu-s eu
> expertul in surse de kernel asa ca mai astept sugestii.
> multumesc oricum.

Hai sa nu ne dam batuti chiar asa usor.

Deci procedura e cam urmatoarea (e ptr 2.4.1 da cred ca merge si ptr ale
kernele):

  1. Inregistrezi 2 variabile (de tip int, `hack_uptime' si `hack_idle')
ptr /proc/sys/kernel:

    - in ``linux/include/linux/sysctl.h'' adaugi numerele de inregistrare
      KERN_HACK_UPTIME=50, /* int uptime hack */
      KERN_HACK_IDLE=51 /* int idle hack */
    (te uiti si tu sa vezi pe unde incepe struct aia cu KERN_blabla)

    - in ``linux/kernel/sysctl.c'' adaugi efectiv
      {KERN_HACK_UPTIME, "hack_uptime", &hack_uptime, sizeof (int),
        0644, NULL, &proc_dointvec},
      {KERN_HACK_IDLE, "hack_idle", &hack_idle, sizeof (int),
        0644, NULL, &proc_dointvec},
    (iar te uiti si tu p`acolo si ai sa`ti dai seama unde sa le adaugi,
mai mult ca sigur)

  Aceasta iti va crea 2 fisiere rw : ``/proc/sys/kernel/hack_uptime'' si
``/proc/sys/kernel/hack_idle'' care corespund in kernel-space la
``hack_uptime'' si ``hack_idle'' variabile de tip int pe care trebuie sa
le declari ptr compilator. Deci pune in
  ``linux/kernel/sysctl.c'' la inceput si declaratiile

   extern int hack_uptime;
   extern int hack_idle;

2.  Bun acuma nu mai ramane decat sa hack`uim functia care furnizeaza
`/proc/uptime'' pe baza acestor variabile. Aceasta se afla in
``linux/fs/proc/proc_misc.c'' static int uptime_read_proc(bla, bla, ...)
  ideea e sa modifici variabila ``page'' deci hack`uieste linia aia cu
sprintf
  De ex:
    len = sprintf (page, "%lu.%02lu %lu.%02lu\n",
       hack_uptime / HZ,
       hack_uptime % HZ,
       hack_idle / HZ,
       hack_idle % HZ);

    A! Si nu uita sa declari/creezi variabilele folosite. Pune la
inceputul fis  

    int hack_uptime = 1000;
    int hack_idle = 1000;

  Gata. Compileaza, bla, bla si
    si da apoi niste
      echo "$MY_UPTIME" > /proc/sys/kernel/hack_uptime
      echo "$MY_IDLE" > /proc/sys/kernel/hack_idle

      si apoi uita`te in /proc/uptime.

      Bine, ca sta n`ar fi de ajuns. Programul ``/usr/bin/uptime''
foloseste si /proc/loadavg deci trebuie sa mai hack`uiesti cate ceva si
p`aici, dc te intereseaza ... Asta se face analog [functia ``static int
loadavg_read_proc(bla...)'' din acelasi ``linux/fs/proc/proc_misc.c'']

PS. Daca vrei un patch ptr 2.4.1 ti`l pot trimite pe personala.

Happy hacking!

Bogdan M.


---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to 
unsubscribe from this list.

Raspunde prin e-mail lui