taglinefilesource code
toc_entry788drivers/cdrom/sjcd.cstruct cdrom_tocentry toc_entry; int s;
toc_entry792drivers/cdrom/sjcd.cif( ( s = verify_area( VERIFY_WRITE, (void *)arg, sizeof( toc_entry ) ) ) == 0 ){
toc_entry795drivers/cdrom/sjcd.cmemcpy_fromfs( &toc_entry, (void *)arg, sizeof( toc_entry ) );
toc_entry797drivers/cdrom/sjcd.cif( toc_entry.cdte_track == CDROM_LEADOUT )
toc_entry799drivers/cdrom/sjcd.celse if( toc_entry.cdte_track < sjcd_first_track_no ) return( -EINVAL );
toc_entry800drivers/cdrom/sjcd.celse if( toc_entry.cdte_track > sjcd_last_track_no ) return( -EINVAL );
toc_entry801drivers/cdrom/sjcd.celse tp = &sjcd_table_of_contents[ toc_entry.cdte_track ];
toc_entry803drivers/cdrom/sjcd.ctoc_entry.cdte_adr = tp->track_control & 0x0F;
toc_entry804drivers/cdrom/sjcd.ctoc_entry.cdte_ctrl = tp->track_control >> 4;
toc_entry806drivers/cdrom/sjcd.cswitch( toc_entry.cdte_format ){
toc_entry808drivers/cdrom/sjcd.ctoc_entry.cdte_addr.lba = msf2hsg( &( tp->un.track_msf ) );
toc_entry811drivers/cdrom/sjcd.ctoc_entry.cdte_addr.msf.minute = bcd2bin( tp->un.track_msf.min );
toc_entry812drivers/cdrom/sjcd.ctoc_entry.cdte_addr.msf.second = bcd2bin( tp->un.track_msf.sec );
toc_entry813drivers/cdrom/sjcd.ctoc_entry.cdte_addr.msf.frame = bcd2bin( tp->un.track_msf.frame );
toc_entry817drivers/cdrom/sjcd.cmemcpy_tofs( (void *)arg, &toc_entry, sizeof( toc_entry ) );