ISC_STATUS API_ROUTINE gds__create_blob2(ISC_STATUS* status_vector, FB_API_HANDLE* db_handle, FB_API_HANDLE* tra_handle, FB_API_HANDLE* blob_handle, GDS_QUAD* blob_id, SSHORT bpb_length, const SCHAR* bpb) { return isc_create_blob2(status_vector, db_handle, tra_handle, blob_handle, blob_id, bpb_length, bpb); }
EXPORT RM_ENTRY(rmc_create_blob2) { ClearParamPool(); ISC_STATUS *stat = AllocStatusPool(); isc_create_blob2(stat, (isc_db_handle *)arg_vector[1].a_address, (isc_tr_handle *)arg_vector[2].a_address, (isc_blob_handle *)arg_vector[3].a_address, (ISC_QUAD *)arg_vector[4].a_address, (short)*CobolToShort(&arg_vector[5]), (char *)arg_vector[6].a_address); StatusToCobol(&arg_vector[0], stat); return (0); }
bool UserBlob::create(FB_API_HANDLE& db, FB_API_HANDLE& trans, ISC_QUAD& blobid, USHORT bpb_len, const UCHAR* bpb) { if (m_direction != dir_none) return false; if (bpb_len > 0 && !bpb) return false; const char* bpb2 = reinterpret_cast<const char*>(bpb); blobid.gds_quad_high = blobid.gds_quad_low = 0; if (!isc_create_blob2(m_status, &db, &trans, &m_blob, &blobid, bpb_len, bpb2)) { m_direction = dir_write; return true; } return false; }