# .ARGTYP\_READONLY()
> [HTML Version](argtype_readonly.htm)
_Reorganized August 2025_
**.ARGTYP\_READONLY(argno) or .ARGTYP\_READONLY(@arg)**
Indicates whether the specified argument was passed in the form of a variable that can actually receive an updated value.
**Warning**: It is easy to accidentally specify _arg_ when you meant _@arg_, both of which are syntactically correct (assuming _arg_ is the name of an argument in the current context) but have vastly different meaning. To help avoid this mistake, the compiler (as of edit 1065) will treat _arg_ as an error if it matches a current argument name; if you really meant to reference the argument by number, use a literal number or a variable that isn't a current argument.
**Parameters**
Note that these parameters apply to all of the .ARG... functions.
_argno_ ([Unsigned int](integer-unsigned.htm.md)) \[in\]
The ordinal number of the argument being queried, starting from 1. Note that in the case of [Named Parameters](namedparameters.htm.md), the parameter numbers are determined by the function declaration or subroutine DEFXCALL directive, not necessarily by the order specified in the calling statement. If the _argno_ passed is invalid, the return value of the function will be -1.
_@arg_ (Literal parameter name) \[in\]
This syntax provides an alternate way to reference the parameter of interest by its name rather than its ordinal number. The concept is similar to that used for XPUTARG _@arg_ : _@arg_ is treated by the compiler as a macro for the argument number corresponding to the argument _arg_ as defined in the function/procedure definition or as retrieved in an SBX using XGETARG(S).
**Comments**
The return value is a BOOLEAN. It is logically equivalent to testing the ARGTYP\_READONLY bit in the flags returned by .ARGTYP().
Note that attempting to update a read-only parameter (or one that wasn't even passed), using XPUTARG, is not an error; It just has no effect.
**See Also**
• [.ARG\_PASSED()](arg_passed().htm.md), particularly the examples which include .ARGTYP\_READONLY.