taglinefilesource code
toc_entry848drivers/cdrom/sjcd.cstruct cdrom_tocentry toc_entry; int s;
toc_entry852drivers/cdrom/sjcd.cif( ( s = verify_area( VERIFY_WRITE, (void *)arg, sizeof( toc_entry ) ) ) == 0 ){
toc_entry855drivers/cdrom/sjcd.cmemcpy_fromfs( &toc_entry, (void *)arg, sizeof( toc_entry ) );
toc_entry857drivers/cdrom/sjcd.cif( toc_entry.cdte_track == CDROM_LEADOUT )
toc_entry859drivers/cdrom/sjcd.celse if( toc_entry.cdte_track < sjcd_first_track_no ) return( -EINVAL );
toc_entry860drivers/cdrom/sjcd.celse if( toc_entry.cdte_track > sjcd_last_track_no ) return( -EINVAL );
toc_entry861drivers/cdrom/sjcd.celse tp = &sjcd_table_of_contents[ toc_entry.cdte_track ];
toc_entry863drivers/cdrom/sjcd.ctoc_entry.cdte_adr = tp->track_control & 0x0F;
toc_entry864drivers/cdrom/sjcd.ctoc_entry.cdte_ctrl = tp->track_control >> 4;
toc_entry866drivers/cdrom/sjcd.cswitch( toc_entry.cdte_format ){
toc_entry868drivers/cdrom/sjcd.ctoc_entry.cdte_addr.lba = msf2hsg( &( tp->un.track_msf ) );
toc_entry871drivers/cdrom/sjcd.ctoc_entry.cdte_addr.msf.minute = bcd2bin( tp->un.track_msf.min );
toc_entry872drivers/cdrom/sjcd.ctoc_entry.cdte_addr.msf.second = bcd2bin( tp->un.track_msf.sec );
toc_entry873drivers/cdrom/sjcd.ctoc_entry.cdte_addr.msf.frame = bcd2bin( tp->un.track_msf.frame );
toc_entry877drivers/cdrom/sjcd.cmemcpy_tofs( (void *)arg, &toc_entry, sizeof( toc_entry ) );