---
title: doLock
framework: kernel
role: pseudoSymbol
path: kernel/iofwaddressspace/1813019-dolock
---

# doLock

A method for processing a lock request.

## Declaration

```occ
virtual UInt32 doLock(
 UInt16nodeID,
 IOFWSpeed &speed,
 FWAddressaddr,
 UInt32inlen, 
 const UInt32 *newVal,
 UInt32 &outLen,
 UInt32 *oldVal, 
 UInt32extType,
 IOFWRequestRefConrefcon); 
```

## Parameters

- `nodeID`: FireWire Lock request for nodeID.
- `speed`: at this 'speed'.
- `addr`: with FireWire address 'addr'.
- `inlen`: 'inlen' bytes to use.
- `newVal`: new value to write at 'addr' location .
- `outLen`: 'outLen' bytes for result.
- `oldVal`: old value read from 'addr' location.
- `extType`: Type like kFWExtendedTCodeCompareSwap.
- `refcon`: Can be queried for extra info about the request.

## Return Value

Return Value UIn32 returns kFWResponseComplete on success

## See Also

### Miscellaneous

- [activate](kernel/iofwaddressspace/1812970-activate.md)
- [addTrustedNode](kernel/iofwaddressspace/1812980-addtrustednode.md)
- [contains](kernel/iofwaddressspace/1812994-contains.md)
- [deactivate](kernel/iofwaddressspace/1813008-deactivate.md)
- [doRead](kernel/iofwaddressspace/1813035-doread.md)
- [doWrite](kernel/iofwaddressspace/1813050-dowrite.md)
- [intersects](kernel/iofwaddressspace/1813068-intersects.md)
- [isExclusive](kernel/iofwaddressspace/1813086-isexclusive.md)
- [isTrustedNode](kernel/iofwaddressspace/1813105-istrustednode.md)
- [removeAllTrustedNodes](kernel/iofwaddressspace/1813134-removealltrustednodes.md)
- [removeTrustedNode](kernel/iofwaddressspace/1813152-removetrustednode.md)
- [setExclusive](kernel/iofwaddressspace/1813180-setexclusive.md)
