| Title: | -={ H A C K E R S }=- | 
| Notice: | Write locked - see NOTED::HACKERS | 
| Moderator: | DIEHRD::MORRIS | 
| Created: | Thu Feb 20 1986 | 
| Last Modified: | Mon Aug 03 1992 | 
| Last Successful Update: | Fri Jun 06 1997 | 
| Number of topics: | 680 | 
| Total number of notes: | 5456 | 
I was wondering if someone who knows VMS internals better than I could write up a small macro program to change the [LAT] terminal name that your process is associated with. I remember seeing a similar program that changed your username. I ask this in order to confirm a bug mentioned in the BASIC notes file. Performing a PRINT when you have VTA999: as your terminal screws up. Don't worry about the privs to execute it. Thanks in advance? ..Dan
| T.R | Title | User | Personal Name | Date | Lines | 
|---|---|---|---|---|---|
| 379.1 | Not a good idea! | FROST::HARRIMAN | A cold blast from the North... | Thu Jan 08 1987 12:18 | 31 | 
|     I am confused - You said you want to change your LTA number but
    you say the bug involves a VTA (virtual terminal) number - they
    are two different entities.
    
    When your system uses virtual terminals and LAT, your process' terminal
    UCB is extended. The VTA number is available as the TT device name
    (you do a $GETDVI using DVI$_DEVNAM for device TT: or SYS$OUTPUT).
    You get the LTA device by doing a $GETDVI using DVI$_TT_PHYDEVNAM.
    
    Your process header (see the Internals Bible, Kenah and Bates) points
    to the VTA number. The VTA's UCB has a pointer to the LTA's DDB
    along with the LTA's unit number (see I/O User's Manual). The DDB
    may be used to get to the LT's UCB (there are earlier and recent
    discussions on this in both the LAT and HACKERS conferences).
    
    The actual name of your terminal (VTuxxxx and LTuxxxx) is based
    on the unit number assigned to your process by VMS when your process
    is created - in addition, the LTDRIVER knows your unit number since
    it uses your unit number (obviously) to get information from the
    Ethernet/DECserver port to your process.
    
    I don't think it would be at all advisable to attempt to "change"
    either the virtual terminal pointer or the LT terminal pointers
    or the name - your would in effect corrupt the I/O database by doing
    so. This is not in the same ballpark as changing your username,
    which resides in your process header and doesn't point anywhere
    else. If you don't like your virtual terminal number, log out and
    log in again - they are not repeated until they get to 9999 and
    then they start over again.
    
    /paul
 | |||||
| 379.2 | MARVIN::PALKA | Wed Apr 15 1987 05:33 | 13 | ||
|     While it is not a good idea to change the unit number of an active
    device it is quite easy to change the number of the next device
    to be created. The first word of the UCB for any template device
    (UCB$W_UNIT_SEED) contains the number to start allocating the next
    device from. This is normally incremented every time a UCB is created,
    but the RTDRIVER (or REMACP - not quite sure) zeroes it again to reuse
    RTA device numbers.
    
    I see no reason why you cant stick any number you like in the first
    word of the UCB of either VTA0 or LTA0 and get a large unit number
    for the next device created.
    
    Andrew Palka
 | |||||