59 lines
1.2 KiB
C
59 lines
1.2 KiB
C
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef _CPR_DARWIN_IPC_H_
|
|
#define _CPR_DARWIN_IPC_H_
|
|
|
|
#include "cpr_threads.h"
|
|
#include <pthread.h>
|
|
|
|
/* Enable support for cprSetMessageQueueThread API */
|
|
#define CPR_USE_SET_MESSAGE_QUEUE_THREAD
|
|
|
|
/* Maximum message size allowed by CNU */
|
|
#define CPR_MAX_MSG_SIZE 8192
|
|
|
|
/* Our CNU msgtype */
|
|
#define PHONE_IPC_MSG 1
|
|
|
|
|
|
/* For gathering statistics regarding message queues */
|
|
typedef struct {
|
|
char name[16];
|
|
uint16_t maxCount;
|
|
uint16_t currentCount;
|
|
uint32_t totalCount;
|
|
uint32_t rcvTimeouts;
|
|
uint32_t sendErrors;
|
|
uint32_t reTries;
|
|
uint32_t highAttempts;
|
|
uint32_t selfQErrors;
|
|
uint16_t extendedDepth;
|
|
} cprMsgQueueStats_t;
|
|
|
|
/*
|
|
* Mutex for updating the message queue list
|
|
*/
|
|
extern pthread_mutex_t msgQueueListMutex;
|
|
|
|
/**
|
|
* cprShowMessageQueueStats
|
|
*
|
|
* Display statistics for all message queues
|
|
*
|
|
* Comments: Function only applicable to CNU
|
|
*/
|
|
int32_t
|
|
cprShowMessageQueueStats(int32_t argc, const char *argv[]);
|
|
|
|
/**
|
|
* cprGetDepth
|
|
*
|
|
* Get depth of a message queue
|
|
*/
|
|
uint16_t cprGetDepth(cprMsgQueue_t msgQueue);
|
|
|
|
|
|
#endif
|