createContainer

Creates a new container.

int createContainer(int RAMid, char instanceID[256], char memberID[256], 
      char name[64], char parentID[256], void** params, void*** customReturn, 
            char error[256]);
Variable Function Description
int RAMid Input Tells CARMA which RAM should be worked on. This ID was obtained after running getRAMList or getRAMList2.
char instanceID[256] Input The instance containing the container being created.
char memberID[256] Output The ID of the member that is being created.
char name[64] Input/Output ID of the container being created.
char parentID[256] Input ID of parent container. (If no parent exists, space must be filled.)
void** params Input Pointer to an array of custom parameters (see Handling custom parameters and return values).
void*** customReturn Output Used to reference an array of custom return values (see Handling custom parameters and return values).
char error[256] Output If an error occurs, this should be filled with a description of the error.

To account for specific RAM naming conventions, a client calls create by requesting a certain name. The RAM can then provide a unique memberID, lrecl, recFM and an appropriate displayable name back to the client.

If the client requests the name "bob," for example, the RAM might return a memberID of "BOB" as well as a displayable name of "BOB". If the container "bob" already exists, it might return "BOB2", or instead return an error saying it can not create the requested container.

parentID is the memberID for the parent of the container being created. If the container being created does not have a parent (it is directly under the repository instance), parentID should be left blank (all spaces).

Unlike the createMember function, when createContainer is called, the container should always be created immediately by the RAM, unless an error occurs.