880ccfd9543b30d5128b23341062fecc24b85c23
[sdk/target/sdbd.git] / src / get_my_path_darwin.c
1 /*
2  * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #import <Carbon/Carbon.h>
18 #include <unistd.h>
19
20 void get_my_path(char *s, size_t maxLen)
21 {
22     ProcessSerialNumber psn;
23     GetCurrentProcess(&psn);
24     CFDictionaryRef dict;
25     dict = ProcessInformationCopyDictionary(&psn, 0xffffffff);
26     CFStringRef value = (CFStringRef)CFDictionaryGetValue(dict,
27                 CFSTR("CFBundleExecutable"));
28     CFStringGetCString(value, s, maxLen, kCFStringEncodingUTF8);
29 }
30