Changeset 1080

Show
Ignore:
Timestamp:
10/04/08 14:14:25 (3 months ago)
Author:
mwhitworth
Message:

Add IcFs entries (in a manual fashion temporarily), add SoftLink code.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/keobject/video/console.c

    r1070 r1080  
    643643}; 
    644644 
    645 #if 0 
    646 int ConsoleGetCurrentName(char* buf, int size) 
    647 { 
    648         struct File* file=&current->files[0]; 
    649         int index=DEV_ID_MINOR(file->vNode->devId); 
    650          
    651         /* FIXME: Check if device is actually open! */ 
    652          
    653         sprintf(buf, "Console%d", index); 
    654          
    655         return 0;        
    656 } 
    657 #endif 
     645int ConsoleGetCurrent(struct KeFsEntry** dest, struct KeFsEntry* src) 
     646{ 
     647        struct VNode* vNode = current->files[0].vNode; 
     648        struct KeFsEntry* entry = (struct KeFsEntry*)vNode->id; 
     649        struct KeObject* object = (struct KeObject*)entry->file; 
     650         
     651        *dest = object->dir; 
     652         
     653        return 0; 
     654} 
    658655 
    659656void ConsoleAddKeyDev() 
     
    693690                consoles[i].currX=consoles[i].currY=0; 
    694691                consoles[i].head=consoles[i].tail=0; 
    695  
    696 #if 0            
     692         
    697693                /* Register each console's configuration options. */ 
    698                 dir=ConfigCreateDir(NULL, buf); 
     694                struct KeFsEntry* dir=KeDeviceGetConfDir(&curr->device); 
    699695                 
    700                 ConfigAddIntEntry(dir, "flags", &consoles[i].flags); 
    701                 ConfigAddIntEntry(dir, "rows", &rows); /* TODO: Read-only. Info entry */ 
    702                 ConfigAddIntEntry(dir, "cols", &cols); 
    703                 ConfigAddIntEntry(dir, "cursorRow", &consoles[i].currY); 
    704                 ConfigAddIntEntry(dir, "cursorCol", &consoles[i].currX); 
    705 #endif 
     696                IcFsAddIntEntry(dir, "flags", &consoles[i].flags, VFS_ATTR_RW); 
     697                IcFsAddIntEntry(dir, "rows", &rows, VFS_ATTR_READ); 
     698                IcFsAddIntEntry(dir, "cols", &cols, VFS_ATTR_READ); 
     699                IcFsAddIntEntry(dir, "cursorRow", &consoles[i].currY, VFS_ATTR_RW); 
     700                IcFsAddIntEntry(dir, "cursorCol", &consoles[i].currX, VFS_ATTR_RW); 
    706701        } 
    707702         
    708703        /* Add a symbolic link for the current console used by the process. */ 
    709 //      ConfigAddSoftLink(DevClassGetDir(&consoleClass), "currConsole", ConsoleGetCurrent); 
     704        IcFsAddSoftLink(DevClassGetDir(&consoleClass), "currConsole", ConsoleGetCurrent); 
    710705} 
    711706