abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:33 | IT novinky

    Papež Lev XIV. ve své první encyklice Magnifica Humanitas (Skvělé lidství), která se věnuje umělé inteligenci (AI), varoval před dezinformacemi, které AI manipulací s obsahem vytváří. Moc mají podle něj sociální sítě ovládané hrstkou soukromníků. Upozornil také roli digitálních platforem v obchodování s lidmi, které podle něj musí být uznáno jako současná forma otroctví. Papež se také poprvé omluvil za roli, kterou Vatikán sehrál při legitimizaci otroctví, a za to, že jej po staletí neodsoudil.

    Ladislav Hagara | Komentářů: 0
    dnes 16:11 | IT novinky

    Český telekomunikační úřad zveřejnil Výroční zprávu za rok 2025 (pdf), která shrnuje jeho hlavní aktivity v oblasti regulace elektronických komunikací, poštovních služeb, digitálních služeb a přípravy na dohled nad umělou inteligencí. Součástí zprávy jsou také data o vývoji trhu, včetně pokračujícího růstu spotřeby mobilních dat a rozšiřování sítí nové generace. Celkový objem přenesených mobilních dat dosáhl v roce 2025 přibližně

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 16:00 | Nová verze

    Tým sdružení CZ.NIC vyvíjející routovacího daemona BIRD oznámil vydání nových verzí 3.3.0 a 2.19.0. Ty přinášejí podporu pro EVPN/VXLAN a automatizaci BGP na základě router advertisementů. Více informací je k dispozici v archivu uživatelského mailing-listu.

    VSladek | Komentářů: 0
    včera 04:33 | Nová verze

    Open source software pro úpravu digitálních fotografií LightZone (Wikipedie) byl vydán v nové verzi 5.0.0. LightZone je dnes k dispozici pod licencí BSD. Původně se jednalo o proprietární software vyvíjený společností Light Crafts. Ta v prosinci 2012 souhlasila s uvolněním zdrojových kódů jako open source [Wayback Machine].

    Ladislav Hagara | Komentářů: 0
    23.5. 17:22 | Nová verze

    Byla vydána verze 0.84 telnet a ssh klienta PuTTY (Wikipedie). Podrobnosti v přehledu nových vlastností a oprav chyb a Change Logu.

    Ladislav Hagara | Komentářů: 2
    22.5. 19:44 | IT novinky

    Microsoft představil Azure Linux 4.0 a Azure Container Linux. Na konferenci Open Source Summit North America 2026 organizované konsorciem Linux Foundation a sponzorované také Microsoftem. Azure Linux 4.0 vychází z Fedora Linuxu. Azure Container Linux je založen na projektu Flatcar. Azure Linux (GitHub, Wikipedie) byl původně znám jako CBL-Mariner.

    Ladislav Hagara | Komentářů: 0
    22.5. 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 165 (pdf).

    Ladislav Hagara | Komentářů: 0
    22.5. 10:55 | Nová verze

    Byla vydána verze 9.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a informačním videu.

    Ladislav Hagara | Komentářů: 7
    22.5. 09:33 | IT novinky

    Firefox 151 podporuje Web Serial API. Pro komunikaci s různými mikrokontroléry připojenými přes USB nebo sériové porty už není nutné spouštět Chrome nebo na Chromiu postavené webové prohlížeče.

    Ladislav Hagara | Komentářů: 11
    22.5. 04:44 | Nová verze

    Byla vydána nová stabilní verze 8.0 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 148. Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (12%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (26%)
    Celkem 1706 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Jak najit cestu k cdrom device v C

    tomes.io avatar 10.2.2013 16:33 tomes.io | skóre: 12 | blog: tomesh
    Jak najit cestu k cdrom device v C
    Přečteno: 352×
    Ahoj,

    mam za ukol napsat jednoduchou verzi programu eject(1) tak, aby si byl program schopny zjistit cestu k zarizeni sam na jakemkoliv linuxu. Program nize umi otevrit cdromku jen kdyz se mu primo zada cesta na vstupu, jak to ale udelat automaticky? Jak v C vydolovat path k zarizeni?
    int main (int argc, char* argv[])
    {
      /* Open a file descriptor to the device specified on the command line.  */
      int fd = open (argv[1], O_RDONLY);
      /* Eject the CD-ROM.  */
      ioctl (fd, CDROMEJECT);
      /* Close the file descriptor.  */
      close (fd);
    
      return 0;
    }

    Řešení dotazu:


    Odpovědi

    tomes.io avatar 10.2.2013 16:55 tomes.io | skóre: 12 | blog: tomesh
    Rozbalit Rozbalit vše Re: Jak najit cestu k cdrom device v C
    Hm tak ono to staci primo napevno zadat /dev/cdrom, ioctl si pak poradi i se symlinkem. Myslel jsem, ze budu muset vystopovat z /dev/cdrom az primo ke skutecnemu zarizeni.
      int fd = open ("/dev/cdrom", O_RDONLY);
    10.2.2013 18:01 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: Jak najit cestu k cdrom device v C
    Symbolické odkazy vyhodnocuje jádro, takže aplikace se o to starat nemusí.
    Jardík avatar 10.2.2013 21:11 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Jak najit cestu k cdrom device v C
    Jestli chvílu vydržíš, někde najdu kus BurnApp, co jsem kdysi psal.
    Věřím v jednoho Boha.
    Řešení 1× (frEon)
    Jardík avatar 10.2.2013 21:42 Jardík | skóre: 40 | blog: jarda_bloguje
    Rozbalit Rozbalit vše Re: Jak najit cestu k cdrom device v C
    Hmm, tak ty zdrojáky už asi nemám. Každopádně tu máš dokumentaci k api udevu. Postup je něco jako:
    struct udev *u = udev_new();
    struct udev_enumerate *ue = udev_enumerate_new(u);
    
    udev_enumerate_add_match_subsystem(ue, "block");
    
    // ..
    // tady možná přidat další filtry
    // ..
    
    udev_enumerate_scan_devices(ue);
    
    struct udev_list_entry* e = udev_enumerate_get_list_entry(ue);
    
    Pak třeba while cyklem projdeš přes jednotlivý vrácený zařízení, koukneš, jestli je tam property určující, že je to cdromka. Název si teď přesně nepamatuju, ale najdeš ho, když spustíš něco jako
    udevadm info --query=all --name=/dev/sr0
    
    Ještě koukni na attributy
    udevadm info --attribute-walk --name=/dev/sr0
    
    Z toho zjistíš, co má cdromka oproti třeba pevnýmu disku, apod. Možná třeba pak kouknout i na rodičovský zařízení, jestli je to na SCSI subsystému apod. Potom příkaz eject pošleš buď přímo přes ioctl k tomu určený (z hlavy si nepamatuju, možná něco jako CDROM_EJECT, do ví), nebo přes SG_IO ioctl s odpovídajícím CDB pro EJECT.
    Věřím v jednoho Boha.
    10.2.2013 23:09 Jardík
    Rozbalit Rozbalit vše Re: Jak najit cestu k cdrom device v C
    BTW pokud ti to má fungovat i na cdromce, kde není cédéčko, použij O_NONBLOCK pro open. Jelikož to chceš vysouvat, mohl bys použít i O_EXCL, kdyby náhodou zrovna něco vypalovalo a "je to hodné" a používá to taky O_EXCL (aneb linux a všechny nutné hacky pro exkluzivní přístup k cdromce, viz mé zápisy a možná diskuse o BurnApp), tak se ti to nepodaří otevřít (což je dobře, nechceš asi případné vypalování pojebat).

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.