D XXXXxString 256 VALUE OPTIONS(*STRING)

Bekomme ich die Fehlermeldung:
OPTIONS(*STRING) ist für einen Parameter der angegebenen Art ungültig.

Und laut dem Dokument hier: http://www.scottklement.com/rpg/callc.html#cstrings

Code:
 /*-----------------------------------------------------*/
       /* fn1                                                 */
       /*-----------------------------------------------------*/
       /* Required parameters:                                */
       /*                                                     */
       /* Input:  p1: null-terminated string                  */
       /* Input:  p2: 10 bytes, right-adjusted, blank filled  */
       /* In:     p3: 1-byte character                        */
       /*                                                     */
       /* Optional parameters:                                */
       /*                                                     */
       /* Input:  p4: int                                     */
       /* Input:  p5: int                                     */
       /*                                                     */
       /* Returns: short int                                  */
       /*-----------------------------------------------------*/
       short fn1 (char *p1, char *p2, char p3, ...)



         * V5R1+ solution

        D fn1          PR            5I 0 EXTPROC(*CWIDEN1 : 'fn1')
        D   p1                        *   VALUE OPTIONS(*STRING) 2
        D   p2                      10A   OPTIONS(*RIGHTADJ) CONST 3
        D   p3                       1A   VALUE 4
        D   p4                      10I 0 VALUE OPTIONS(*NOPASS) 5
        D   p5                      10I 0 VALUE OPTIONS(*NOPASS)

         * Pre-V5R1 solution

        D fn1          PR           10I10 EXTPROC('fn1')
        D   p1                        *   VALUE OPTIONS(*STRING) 2
        D   p2                      10A   OPTIONS(*RIGHTADJ) CONST 3
        D   p3                      10U 0 VALUE 4
        D   p4                      10I 0 VALUE OPTIONS(*NOPASS) 5
        D   p5                      10I 0 VALUE OPTIONS(*NOPASS)
Definiert man ein Nullterminierten String mit * VALUE OPTIONS(*STRING) oder habe ich es falsch verstanden?

Meine C/C++ Funktion: string XXXX_XXXX(char *Wert1, char *Wert2)