Initial delivery of metrics code (#81)
* Initial delivery of metrics code * Fix build issues * Fix build issue with go vet
This commit is contained in:
committed by
Rob Parker
parent
e251839639
commit
a4b9a9abaf
196
vendor/github.com/ibm-messaging/mq-golang/ibmmq/mqiMQMD.go
generated
vendored
Normal file
196
vendor/github.com/ibm-messaging/mq-golang/ibmmq/mqiMQMD.go
generated
vendored
Normal file
@@ -0,0 +1,196 @@
|
||||
package ibmmq
|
||||
|
||||
/*
|
||||
Copyright (c) IBM Corporation 2016
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific
|
||||
|
||||
Contributors:
|
||||
Mark Taylor - Initial Contribution
|
||||
*/
|
||||
|
||||
/*
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <cmqc.h>
|
||||
|
||||
*/
|
||||
import "C"
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
)
|
||||
|
||||
/*
|
||||
MQMD is a structure containing the MQ Message Descriptor (MQMD)
|
||||
*/
|
||||
type MQMD struct {
|
||||
Version int32
|
||||
Report int32
|
||||
MsgType int32
|
||||
Expiry int32
|
||||
Feedback int32
|
||||
Encoding int32
|
||||
CodedCharSetId int32
|
||||
Format string
|
||||
Priority int32
|
||||
Persistence int32
|
||||
MsgId []byte
|
||||
CorrelId []byte
|
||||
BackoutCount int32
|
||||
ReplyToQ string
|
||||
ReplyToQMgr string
|
||||
UserIdentifier string
|
||||
AccountingToken []byte
|
||||
ApplIdentityData string
|
||||
PutApplType int32
|
||||
PutApplName string
|
||||
PutDate string
|
||||
PutTime string
|
||||
ApplOriginData string
|
||||
GroupId []byte
|
||||
MsgSeqNumber int32
|
||||
Offset int32
|
||||
MsgFlags int32
|
||||
OriginalLength int32
|
||||
}
|
||||
|
||||
/*
|
||||
NewMQMD fills in default values for the MQMD structure
|
||||
*/
|
||||
func NewMQMD() *MQMD {
|
||||
md := new(MQMD)
|
||||
md.Version = int32(C.MQMD_VERSION_1)
|
||||
md.Report = int32(C.MQRO_NONE)
|
||||
md.MsgType = int32(C.MQMT_DATAGRAM)
|
||||
md.Expiry = int32(C.MQEI_UNLIMITED)
|
||||
md.Feedback = int32(C.MQFB_NONE)
|
||||
md.Encoding = int32(C.MQENC_NATIVE)
|
||||
md.CodedCharSetId = int32(C.MQCCSI_Q_MGR)
|
||||
md.Format = " "
|
||||
md.Priority = int32(C.MQPRI_PRIORITY_AS_Q_DEF)
|
||||
md.Persistence = int32(C.MQPER_PERSISTENCE_AS_Q_DEF)
|
||||
md.MsgId = bytes.Repeat([]byte{0}, C.MQ_MSG_ID_LENGTH)
|
||||
md.CorrelId = bytes.Repeat([]byte{0}, C.MQ_CORREL_ID_LENGTH)
|
||||
md.BackoutCount = 0
|
||||
md.ReplyToQ = ""
|
||||
md.ReplyToQMgr = ""
|
||||
md.UserIdentifier = ""
|
||||
md.AccountingToken = bytes.Repeat([]byte{0}, C.MQ_ACCOUNTING_TOKEN_LENGTH)
|
||||
md.ApplIdentityData = ""
|
||||
md.PutApplType = int32(C.MQAT_NO_CONTEXT)
|
||||
md.PutApplName = ""
|
||||
md.PutDate = ""
|
||||
md.PutTime = ""
|
||||
md.ApplOriginData = ""
|
||||
md.GroupId = bytes.Repeat([]byte{0}, C.MQ_GROUP_ID_LENGTH)
|
||||
md.MsgSeqNumber = 1
|
||||
md.Offset = 0
|
||||
md.MsgFlags = int32(C.MQMF_NONE)
|
||||
md.OriginalLength = int32(C.MQOL_UNDEFINED)
|
||||
|
||||
return md
|
||||
}
|
||||
|
||||
func copyMDtoC(mqmd *C.MQMD, gomd *MQMD) {
|
||||
var i int
|
||||
setMQIString((*C.char)(&mqmd.StrucId[0]), "MD ", 4)
|
||||
mqmd.Version = C.MQLONG(gomd.Version)
|
||||
mqmd.Report = C.MQLONG(gomd.Report)
|
||||
mqmd.MsgType = C.MQLONG(gomd.MsgType)
|
||||
mqmd.Expiry = C.MQLONG(gomd.Expiry)
|
||||
mqmd.Feedback = C.MQLONG(gomd.Feedback)
|
||||
mqmd.Encoding = C.MQLONG(gomd.Encoding)
|
||||
mqmd.CodedCharSetId = C.MQLONG(gomd.CodedCharSetId)
|
||||
setMQIString((*C.char)(&mqmd.Format[0]), gomd.Format, C.MQ_FORMAT_LENGTH)
|
||||
mqmd.Priority = C.MQLONG(gomd.Priority)
|
||||
mqmd.Persistence = C.MQLONG(gomd.Persistence)
|
||||
|
||||
for i = 0; i < C.MQ_MSG_ID_LENGTH; i++ {
|
||||
mqmd.MsgId[i] = C.MQBYTE(gomd.MsgId[i])
|
||||
}
|
||||
for i = 0; i < C.MQ_CORREL_ID_LENGTH; i++ {
|
||||
mqmd.CorrelId[i] = C.MQBYTE(gomd.CorrelId[i])
|
||||
}
|
||||
mqmd.BackoutCount = C.MQLONG(gomd.BackoutCount)
|
||||
|
||||
setMQIString((*C.char)(&mqmd.ReplyToQ[0]), gomd.ReplyToQ, C.MQ_OBJECT_NAME_LENGTH)
|
||||
setMQIString((*C.char)(&mqmd.ReplyToQMgr[0]), gomd.ReplyToQMgr, C.MQ_OBJECT_NAME_LENGTH)
|
||||
|
||||
setMQIString((*C.char)(&mqmd.UserIdentifier[0]), gomd.UserIdentifier, C.MQ_USER_ID_LENGTH)
|
||||
for i = 0; i < C.MQ_ACCOUNTING_TOKEN_LENGTH; i++ {
|
||||
mqmd.AccountingToken[i] = C.MQBYTE(gomd.AccountingToken[i])
|
||||
}
|
||||
setMQIString((*C.char)(&mqmd.ApplIdentityData[0]), gomd.ApplIdentityData, C.MQ_APPL_IDENTITY_DATA_LENGTH)
|
||||
mqmd.PutApplType = C.MQLONG(gomd.PutApplType)
|
||||
setMQIString((*C.char)(&mqmd.PutApplName[0]), gomd.PutApplName, C.MQ_PUT_APPL_NAME_LENGTH)
|
||||
setMQIString((*C.char)(&mqmd.PutDate[0]), gomd.PutDate, C.MQ_PUT_DATE_LENGTH)
|
||||
setMQIString((*C.char)(&mqmd.PutTime[0]), gomd.PutTime, C.MQ_PUT_TIME_LENGTH)
|
||||
setMQIString((*C.char)(&mqmd.ApplOriginData[0]), gomd.ApplOriginData, C.MQ_APPL_ORIGIN_DATA_LENGTH)
|
||||
|
||||
for i = 0; i < C.MQ_GROUP_ID_LENGTH; i++ {
|
||||
mqmd.GroupId[i] = C.MQBYTE(gomd.GroupId[i])
|
||||
}
|
||||
mqmd.MsgSeqNumber = C.MQLONG(gomd.MsgSeqNumber)
|
||||
mqmd.Offset = C.MQLONG(gomd.Offset)
|
||||
mqmd.MsgFlags = C.MQLONG(gomd.MsgFlags)
|
||||
mqmd.OriginalLength = C.MQLONG(gomd.OriginalLength)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func copyMDfromC(mqmd *C.MQMD, gomd *MQMD) {
|
||||
var i int
|
||||
gomd.Version = int32(mqmd.Version)
|
||||
gomd.Report = int32(mqmd.Report)
|
||||
gomd.MsgType = int32(mqmd.MsgType)
|
||||
gomd.Expiry = int32(mqmd.Expiry)
|
||||
gomd.Feedback = int32(mqmd.Feedback)
|
||||
gomd.Encoding = int32(mqmd.Encoding)
|
||||
gomd.CodedCharSetId = int32(mqmd.CodedCharSetId)
|
||||
gomd.Format = C.GoStringN((*C.char)(&mqmd.Format[0]), C.MQ_FORMAT_LENGTH)
|
||||
gomd.Priority = int32(mqmd.Priority)
|
||||
gomd.Persistence = int32(mqmd.Persistence)
|
||||
|
||||
for i = 0; i < C.MQ_MSG_ID_LENGTH; i++ {
|
||||
gomd.MsgId[i] = (byte)(mqmd.MsgId[i])
|
||||
}
|
||||
for i = 0; i < C.MQ_CORREL_ID_LENGTH; i++ {
|
||||
gomd.CorrelId[i] = (byte)(mqmd.CorrelId[i])
|
||||
}
|
||||
gomd.BackoutCount = int32(mqmd.BackoutCount)
|
||||
|
||||
gomd.ReplyToQ = C.GoStringN((*C.char)(&mqmd.ReplyToQ[0]), C.MQ_OBJECT_NAME_LENGTH)
|
||||
gomd.ReplyToQMgr = C.GoStringN((*C.char)(&mqmd.ReplyToQMgr[0]), C.MQ_OBJECT_NAME_LENGTH)
|
||||
|
||||
gomd.UserIdentifier = C.GoStringN((*C.char)(&mqmd.UserIdentifier[0]), C.MQ_USER_ID_LENGTH)
|
||||
for i = 0; i < C.MQ_ACCOUNTING_TOKEN_LENGTH; i++ {
|
||||
gomd.AccountingToken[i] = (byte)(mqmd.AccountingToken[i])
|
||||
}
|
||||
gomd.ApplIdentityData = C.GoStringN((*C.char)(&mqmd.ApplIdentityData[0]), C.MQ_APPL_IDENTITY_DATA_LENGTH)
|
||||
gomd.PutApplType = int32(mqmd.PutApplType)
|
||||
gomd.PutApplName = C.GoStringN((*C.char)(&mqmd.PutApplName[0]), C.MQ_PUT_APPL_NAME_LENGTH)
|
||||
gomd.PutDate = C.GoStringN((*C.char)(&mqmd.PutDate[0]), C.MQ_PUT_DATE_LENGTH)
|
||||
gomd.PutTime = C.GoStringN((*C.char)(&mqmd.PutTime[0]), C.MQ_PUT_TIME_LENGTH)
|
||||
gomd.ApplOriginData = C.GoStringN((*C.char)(&mqmd.ApplOriginData[0]), C.MQ_APPL_ORIGIN_DATA_LENGTH)
|
||||
|
||||
for i = 0; i < C.MQ_GROUP_ID_LENGTH; i++ {
|
||||
gomd.GroupId[i] = (byte)(mqmd.GroupId[i])
|
||||
}
|
||||
gomd.MsgSeqNumber = int32(mqmd.MsgSeqNumber)
|
||||
gomd.Offset = int32(mqmd.Offset)
|
||||
gomd.MsgFlags = int32(mqmd.MsgFlags)
|
||||
gomd.OriginalLength = int32(mqmd.OriginalLength)
|
||||
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user